parent
e1257560b7
commit
b85dcb5402
4 changed files with 86 additions and 21 deletions
|
@ -48,6 +48,7 @@ tests : Test
|
|||
tests = "equality & subtyping" :- [
|
||||
note #""s{t,…}" for term substs; "s‹p,…›" for dim substs"#,
|
||||
note #""0=1 ⊢ 𝒥" means that 𝒥 holds in an inconsistent dim context"#,
|
||||
note "binds before ∥ are globals, after it are BVs",
|
||||
|
||||
"universes" :- [
|
||||
testEq "★₀ = ★₀" $
|
||||
|
@ -165,7 +166,6 @@ tests = "equality & subtyping" :- [
|
|||
refl a x = ^Ann (^DLam (SN x)) (^Eq0 a x x)
|
||||
in
|
||||
[
|
||||
note "binds before ∥ are globals, after it are BVs",
|
||||
note #"refl A x is an abbreviation for "(δ i ⇒ x) ∷ (x ≡ x : A)""#,
|
||||
testEq "refl A a = refl A a" $
|
||||
equalE empty
|
||||
|
@ -523,9 +523,51 @@ tests = "equality & subtyping" :- [
|
|||
todo "enum",
|
||||
todo "enum elim",
|
||||
|
||||
todo "box types",
|
||||
todo "boxes",
|
||||
todo "box elim",
|
||||
"box types" :- [
|
||||
testEq "[1.A] = [1.A] : ★" $
|
||||
equalT empty
|
||||
(^TYPE 0)
|
||||
(^BOX One (^FT "A" 0))
|
||||
(^BOX One (^FT "A" 0)),
|
||||
testNeq "[1.A] ≠ [ω.A] : ★" $
|
||||
equalT empty
|
||||
(^TYPE 0)
|
||||
(^BOX One (^FT "A" 0))
|
||||
(^BOX Any (^FT "A" 0)),
|
||||
testNeq "[1.A] ≠ [1.B] : ★" $
|
||||
equalT empty
|
||||
(^TYPE 0)
|
||||
(^BOX One (^FT "A" 0))
|
||||
(^BOX One (^FT "B" 0)),
|
||||
testNeq "[1.A] ≠ A : ★" $
|
||||
equalT empty
|
||||
(^TYPE 0)
|
||||
(^BOX One (^FT "A" 0))
|
||||
(^FT "A" 0),
|
||||
testEq "0=1 ⊢ [1.A] = [1.B] : ★" $
|
||||
equalT empty01
|
||||
(^TYPE 0)
|
||||
(^BOX One (^FT "A" 0))
|
||||
(^BOX One (^FT "B" 0))
|
||||
],
|
||||
|
||||
"boxes" :- [
|
||||
testEq "[a] = [a] : [ω.A]" $
|
||||
equalT empty
|
||||
(^BOX Any (^FT "A" 0))
|
||||
(^Box (^FT "a" 0))
|
||||
(^Box (^FT "a" 0)),
|
||||
testNeq "[a] ≠ [a'] : [ω.A]" $
|
||||
equalT empty
|
||||
(^BOX Any (^FT "A" 0))
|
||||
(^Box (^FT "a" 0))
|
||||
(^Box (^FT "a'" 0)),
|
||||
testEq "ω.x : [ω.A] ⊢ x = [case1 b return A of {[y] ⇒ y}] : [ω.A]" $
|
||||
equalT (ctx [< ("x", ^BOX Any (^FT "A" 0))])
|
||||
(^BOX Any (^FT "A" 0))
|
||||
(^BVT 0)
|
||||
(^Box (E $ ^CaseBox One (^BV 0) (SN $ ^FT "A" 0) (SY [< "y"] (^BVT 0))))
|
||||
],
|
||||
|
||||
"elim closure" :- [
|
||||
note "bold numbers for de bruijn indices",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue