@@ -9,9 +9,12 @@ infixr 2 _⇒_ _⊛_
9
9
infix 3 _≈_ _≃_ _≅_ _≅ᵉ_ _≅ᵈ_ _≊ᵈ_ _≅s_ _≅e_
10
10
11
11
data Level : MetaLevel -> Set where
12
- instance
13
- lzero : Level lzeroₘ
14
- lsuc : ∀ a -> Level (lsucₘ a)
12
+ lzero : Level lzeroₘ
13
+ lsuc : ∀ a -> Level (lsucₘ a)
14
+
15
+ data SomeLevel : Set where
16
+ meta : MetaLevel -> SomeLevel
17
+ level : ∀ {a} -> Level a -> SomeLevel
15
18
16
19
natToMetaLevel : ℕ -> MetaLevel
17
20
natToMetaLevel 0 = lzeroₘ
@@ -35,15 +38,14 @@ _⊔₀_ : ∀ {a b} -> Level a -> (β : Level b) -> Level (a ⊔ₘ₀ β)
35
38
α ⊔₀ lzero = lzero
36
39
α ⊔₀ lsuc b = α ⊔ lsuc b
37
40
41
+ meta-inj : ∀ {a b} -> meta a ≡ meta b -> a ≡ b
42
+ meta-inj prefl = prefl
43
+
38
44
Enum : ℕ -> Set
39
45
Enum 0 = ⊥
40
46
Enum 1 = ⊤
41
47
Enum (suc (suc n)) = Maybe (Enum (suc n))
42
48
43
- data SomeLevel : Set where
44
- meta : MetaLevel -> SomeLevel
45
- level : ∀ {a} -> Level a -> SomeLevel
46
-
47
49
data Univ : ∀ {a} -> Level a -> Set
48
50
49
51
Prop = Univ lzero
@@ -87,10 +89,10 @@ data Univ where
87
89
-> (A : Univ α) -> (⟦ A ⟧ -> Univ β) -> Univ (α ⊔ β)
88
90
π : ∀ {a b} {α : Level a} {β : Level b}
89
91
-> (A : Univ α) -> (⟦ A ⟧ -> Univ β) -> Univ (α ⊔₀ β)
90
- udesc : ∀ {o i} -> Type i -> Level o -> ∀ a -> {{α : Level a}} -> Type a
91
- extend : ∀ {i o a b} {ω : Level o} {{ β : Level b} } {I : Type i}
92
+ udesc : ∀ {o i} -> Type i -> Level o -> ∀ a -> Type a
93
+ extend : ∀ {i o a b} {ω : Level o} {β : Level b} {I : Type i}
92
94
-> UDesc I ω a -> (⟦ I ⟧ -> Univ β) -> ⟦ I ⟧ -> Univ β
93
- imu : ∀ {i a} {{ α : Level a} } {I : Type i} -> Desc I α -> ⟦ I ⟧ -> Univ α
95
+ imu : ∀ {i a} {α : Level a} {I : Type i} -> Desc I α -> ⟦ I ⟧ -> Univ α
94
96
95
97
record μ {i a} {α : Level a} {I : Type i} (D : Desc I α) i : Set where
96
98
inductive
@@ -121,7 +123,7 @@ _⇒_ : ∀ {a b} {α : Level a} {β : Level b} -> Univ α -> Univ β -> Univ (
121
123
A ⇒ B = π A λ _ -> B
122
124
123
125
desc : ∀ {a i} -> Type i -> Level a -> Type a
124
- desc I α = udesc I α _ {{α}}
126
+ desc {a} I α = udesc I α a
125
127
126
128
_≟ⁿ_ : ℕ -> ℕ -> Prop
127
129
0 ≟ⁿ 0 = top
@@ -168,7 +170,7 @@ imu D₁ i₁ ≃ imu D₂ i₂ = D₁ ≊ᵈ D₂ & i₁ ≅
168
170
_ ≃ _ = bot
169
171
170
172
_≅e_ : ∀ {i₁ i₂ o₁ o₂ a₁ a₂ b₁ b₂}
171
- {ω₁ : Level o₁} {ω₂ : Level o₂} {{ β₁ : Level b₁}} {{ β₂ : Level b₂} }
173
+ {ω₁ : Level o₁} {ω₂ : Level o₂} {β₁ : Level b₁} { β₂ : Level b₂}
172
174
{I₁ : Type i₁} {I₂ : Type i₂} {F₁ : ⟦ I₁ ⟧ -> Univ β₁} {F₂ : ⟦ I₂ ⟧ -> Univ β₂} {j₁ j₂}
173
175
-> (∃ λ (D₁ : UDesc I₁ ω₁ a₁) -> Extend D₁ (λ x₁ -> ⟦ F₁ x₁ ⟧) j₁)
174
176
-> (∃ λ (D₂ : UDesc I₂ ω₂ a₂) -> Extend D₂ (λ x₂ -> ⟦ F₂ x₂ ⟧) j₂)
@@ -188,7 +190,7 @@ _≅_ {A = imu D₁ _ } {imu D₂ _ } a₁ a₂ = let node e₁ = a₁;
188
190
_≅_ _ _ = bot
189
191
190
192
_≅s_ : ∀ {i₁ i₂ o₁ o₂ a₁ a₂ b₁ b₂}
191
- {ω₁ : Level o₁} {ω₂ : Level o₂} {{ β₁ : Level b₁}} {{ β₂ : Level b₂} }
193
+ {ω₁ : Level o₁} {ω₂ : Level o₂} {β₁ : Level b₁} { β₂ : Level b₂}
192
194
{I₁ : Type i₁} {I₂ : Type i₂} {F₁ : ⟦ I₁ ⟧ -> Univ β₁} {F₂ : ⟦ I₂ ⟧ -> Univ β₂}
193
195
-> (∃ λ (D₁ : UDesc I₁ ω₁ a₁) -> ⟦ D₁ ⟧ᵈ λ x₁ -> ⟦ F₁ x₁ ⟧)
194
196
-> (∃ λ (D₂ : UDesc I₂ ω₂ a₂) -> ⟦ D₂ ⟧ᵈ λ x₂ -> ⟦ F₂ x₂ ⟧)
@@ -218,9 +220,6 @@ module _ {i o} {ω : Level o} {I : Type i} where
218
220
-> (A : Univ α) -> UDesc I ω (a ⊔ₘ o) -> UDesc I ω (a ⊔ₘ o)
219
221
A ⇒ᵈ D = πᵈ A λ _ -> D
220
222
221
- meta-inj : ∀ {a b} -> meta a ≡ meta b -> a ≡ b
222
- meta-inj prefl = prefl
223
-
224
223
pattern #₀ p = node (tag nothing , p)
225
224
pattern #₁ p = node (tag (just nothing) , p)
226
225
pattern #₂ p = node (tag (just (just nothing)) , p)
0 commit comments