@@ -131,6 +131,9 @@ mutual
131
131
data Sortₐ′ {ℓ} : Typeₐ ℓ ⟨sort⟩ where
132
132
set : ∀ {t} → Termₐ Ann t → Sortₐ′ Ann (set t)
133
133
lit : ∀ n → Sortₐ′ Ann (lit n)
134
+ prop : ∀ {t} → Termₐ Ann t → Sortₐ′ Ann (prop t)
135
+ propLit : ∀ n → Sortₐ′ Ann (propLit n)
136
+ inf : ∀ n → Sortₐ′ Ann (inf n)
134
137
unknown : Sortₐ′ Ann unknown
135
138
136
139
data Patternₐ′ {ℓ} : Typeₐ ℓ ⟨pat⟩ where
@@ -197,6 +200,9 @@ module _ (annFun : AnnotationFun Ann) where
197
200
annotate′ {⟨pat⟩} (absurd x) = absurd x
198
201
annotate′ {⟨sort⟩} (set t) = set (annotate t)
199
202
annotate′ {⟨sort⟩} (lit n) = lit n
203
+ annotate′ {⟨sort⟩} (prop t) = prop (annotate t)
204
+ annotate′ {⟨sort⟩} (propLit n) = propLit n
205
+ annotate′ {⟨sort⟩} (inf n) = inf n
200
206
annotate′ {⟨sort⟩} unknown = unknown
201
207
annotate′ {⟨clause⟩} (clause tel ps t) = clause (annotate tel) (annotate ps) (annotate t)
202
208
annotate′ {⟨clause⟩} (absurd-clause tel ps) = absurd-clause (annotate tel) (annotate ps)
@@ -234,6 +240,9 @@ mutual
234
240
map′ ⟨pat⟩ f (absurd x) = absurd x
235
241
map′ ⟨sort⟩ f (set t) = set (map f t)
236
242
map′ ⟨sort⟩ f (lit n) = lit n
243
+ map′ ⟨sort⟩ f (prop t) = prop (map f t)
244
+ map′ ⟨sort⟩ f (propLit n) = propLit n
245
+ map′ ⟨sort⟩ f (inf n) = inf n
237
246
map′ ⟨sort⟩ f unknown = unknown
238
247
map′ ⟨clause⟩ f (clause Γ ps args) = clause (map f Γ) (map f ps) (map f args)
239
248
map′ ⟨clause⟩ f (absurd-clause Γ ps) = absurd-clause (map f Γ) (map f ps)
@@ -271,6 +280,9 @@ module _ {W : Set ℓ} (ε : W) (_∪_ : W → W → W) where
271
280
defaultAnn ⟨pat⟩ (absurd x) = ε
272
281
defaultAnn ⟨sort⟩ (set t) = ann t
273
282
defaultAnn ⟨sort⟩ (lit n) = ε
283
+ defaultAnn ⟨sort⟩ (prop t) = ann t
284
+ defaultAnn ⟨sort⟩ (propLit n) = ε
285
+ defaultAnn ⟨sort⟩ (inf n) = ε
274
286
defaultAnn ⟨sort⟩ unknown = ε
275
287
defaultAnn ⟨clause⟩ (clause Γ ps t) = ann Γ ∪ (ann ps ∪ ann t)
276
288
defaultAnn ⟨clause⟩ (absurd-clause Γ ps) = ann Γ ∪ ann ps
@@ -321,6 +333,9 @@ module Traverse {M : Set → Set} (appl : RawApplicative M) where
321
333
traverse′ {⟨pat⟩} (absurd x) = pure (absurd x)
322
334
traverse′ {⟨sort⟩} (set t) = set <$> traverse t
323
335
traverse′ {⟨sort⟩} (lit n) = pure (lit n)
336
+ traverse′ {⟨sort⟩} (prop t) = prop <$> traverse t
337
+ traverse′ {⟨sort⟩} (propLit n) = pure (propLit n)
338
+ traverse′ {⟨sort⟩} (inf n) = pure (inf n)
324
339
traverse′ {⟨sort⟩} unknown = pure unknown
325
340
traverse′ {⟨clause⟩} (clause Γ ps t) = clause <$> traverse Γ <*> traverse ps <*> traverse t
326
341
traverse′ {⟨clause⟩} (absurd-clause Γ ps) = absurd-clause <$> traverse Γ <*> traverse ps
0 commit comments