Add definitional transport and congruence combinators derived from Id so equality programming isnt all raw idElim
This commit is contained in:
@@ -62,6 +62,14 @@ def cases : List TestCase := [
|
||||
.okTyNorm (.id .nat .zero .zero) .refl⟩,
|
||||
⟨"idElim computes on refl", Examples.idElimNat,
|
||||
.okTyNorm .nat .zero⟩,
|
||||
⟨"transport combinator typechecks", Examples.transportNat,
|
||||
.okTy (.pi .nat (.pi .nat (.pi (.id .nat (.var 1) (.var 0)) (.pi .nat .nat))))⟩,
|
||||
⟨"transport computes on refl", Examples.transportNatRefl,
|
||||
.okTyNorm .nat (.succ (.succ .zero))⟩,
|
||||
⟨"congruence combinator typechecks", Examples.congSucc,
|
||||
.okTy (.pi .nat (.pi .nat (.pi (.id .nat (.var 1) (.var 0)) (.id .nat (.succ (.var 2)) (.succ (.var 1))))))⟩,
|
||||
⟨"congruence computes on refl", Examples.congSuccRefl,
|
||||
.okTyNorm (.id .nat (.succ .zero) (.succ .zero)) .refl⟩,
|
||||
⟨"fst infers the first projection", Examples.fstDepPair,
|
||||
.okTy (.univ 2)⟩,
|
||||
⟨"snd infers the dependent second projection", Examples.sndDepPair,
|
||||
|
||||
Reference in New Issue
Block a user