test0 : Id (Id Z (inr zero) (inr zero)) (refl Z (inr zero)) (refl Z (inr zero)) =
ZSet (inr zero) (inr zero) (refl Z (inr zero)) (refl Z (inr zero))
+
+-- Tests for normal forms:
test1 : Id T p0 p1 = intSet (pos zero) (pos zero) p0 p1
test2 : Id T p0 p0 = intSet (pos zero) (pos zero) p0 p0
-ntest2 : Id T p0 p0 = <i1 i2> comp int (comp int (comp int (pos zero) [ (i1 = 0) -> <i3> comp int (comp int (comp int (pos zero) [ (i2 = 0) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ]) [ (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ]) [ (i3 = 0)(i4 = 1) -> <i5> comp int (pos zero) [ (i5 = 0) -> <i6> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (pos zero) [ (i7 = 0) -> <i8> pos zero ] ]) [ (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (comp int (pos zero) [ ]) [ (i7 = 0) -> <i8> comp int (pos zero) [ ] ] ], (i5 = 1) -> <i6> pos zero ], (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ], (i2 = 1) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ]) [ (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ]) [ (i3 = 0)(i4 = 1) -> <i5> comp int (pos zero) [ (i5 = 0) -> <i6> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (pos zero) [ (i7 = 0) -> <i8> pos zero ] ]) [ (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (comp int (pos zero) [ ]) [ (i7 = 0) -> <i8> comp int (pos zero) [ ] ] ], (i5 = 1) -> <i6> pos zero ], (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ]) [ (i2 = 0) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ], (i2 = 1) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ], (i3 = 1) -> <i4> pos zero ]) [ (i2 = 0) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ], (i2 = 1) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ], (i3 = 0) -> <i4> comp int (pos zero) [ (i2 = 0) -> <i5> pos zero, (i2 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i2 = 0) -> <i6> comp int (comp int (comp int (pos zero) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (pos zero) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ], (i6 = 0) -> <i7> pos zero ]) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ], (i6 = 0) -> <i7> pos zero ]) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i6 = 1) -> <i8> comp int (pos zero) [ (i7 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ], (i7 = 1)(i8 = 1) -> <i9> pos zero, (i8 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ] ], (i7 = 0) -> <i8> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i7> pos zero ] ], (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (pos zero) [ (i5 = 0) -> <i8> pos zero, (i5 = 1) -> <i8> comp int (pos zero) [ (i7 = 0) -> <i9> comp int (comp int (pos zero) [ (i8 = 0) -> <i10> pos zero, (i8 = 1)(i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ]) [ (i8 = 0) -> <i10> pos zero, (i8 = 1)(i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> pos zero ], (i7 = 1) -> <i9> pos zero, (i8 = 0) -> <i9> pos zero ], (i7 = 0) -> <i8> comp int (comp int (pos zero) [ (i5 = 0) -> <i9> pos zero, (i5 = 1) -> <i9> comp int (pos zero) [ (i8 = 0) -> <i10> pos zero, (i8 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero, (i9 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ], (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (pos zero) [ (i5 = 0) -> <i10> pos zero, (i5 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero, (i9 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ] ]) [ (i5 = 0) -> <i9> pos zero, (i5 = 1) -> <i9> comp int (comp int (pos zero) [ (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (pos zero) [ (i9 = 0) -> <i10> pos zero ] ]) [ (i8 = 0) -> <i10> pos zero, (i8 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ], (i9 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> comp int (pos zero) [ (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (pos zero) [ (i9 = 0) -> <i10> pos zero ] ] ], (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i10> pos zero, (i5 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ], (i9 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ] ] ], (i7 = 1) -> <i8> pos zero ] ], (i2 = 1) -> <i6> comp int (comp int (comp int (pos zero) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (pos zero) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ], (i6 = 0) -> <i7> pos zero ]) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ], (i6 = 0) -> <i7> pos zero ]) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i6 = 1) -> <i8> comp int (pos zero) [ (i7 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ], (i7 = 1)(i8 = 1) -> <i9> pos zero, (i8 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ] ], (i7 = 0) -> <i8> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i7> pos zero ] ], (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (pos zero) [ (i5 = 0) -> <i8> pos zero, (i5 = 1) -> <i8> comp int (pos zero) [ (i7 = 0) -> <i9> comp int (comp int (pos zero) [ (i8 = 0) -> <i10> pos zero, (i8 = 1)(i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ]) [ (i8 = 0) -> <i10> pos zero, (i8 = 1)(i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> pos zero ], (i7 = 1) -> <i9> pos zero, (i8 = 0) -> <i9> pos zero ], (i7 = 0) -> <i8> comp int (comp int (pos zero) [ (i5 = 0) -> <i9> pos zero, (i5 = 1) -> <i9> comp int (pos zero) [ (i8 = 0) -> <i10> pos zero, (i8 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero, (i9 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ], (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (pos zero) [ (i5 = 0) -> <i10> pos zero, (i5 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero, (i9 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ] ]) [ (i5 = 0) -> <i9> pos zero, (i5 = 1) -> <i9> comp int (comp int (pos zero) [ (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (pos zero) [ (i9 = 0) -> <i10> pos zero ] ]) [ (i8 = 0) -> <i10> pos zero, (i8 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ], (i9 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> comp int (pos zero) [ (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (pos zero) [ (i9 = 0) -> <i10> pos zero ] ] ], (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i10> pos zero, (i5 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ], (i9 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ] ] ], (i7 = 1) -> <i8> pos zero ] ], (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i2 = 0) -> <i7> comp int (comp int (comp int (pos zero) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i6 = 1)(i7 = 1) -> <i8> comp int (pos zero) [ (i8 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ], (i8 = 1) -> <i9> pos zero ], (i7 = 0) -> <i8> pos zero ], (i2 = 1) -> <i7> comp int (comp int (comp int (pos zero) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i6 = 1)(i7 = 1) -> <i8> comp int (pos zero) [ (i8 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ], (i8 = 1) -> <i9> pos zero ], (i7 = 0) -> <i8> pos zero ], (i6 = 0) -> <i7> pos zero ] ]) [ (i2 = 0) -> <i6> pos zero, (i2 = 1) -> <i6> pos zero, (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ (i2 = 0) -> <i3> comp int (comp int (comp int (pos zero) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero, (i3 = 1) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ] ], (i2 = 1) -> <i3> comp int (comp int (comp int (pos zero) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero, (i3 = 1) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ] ] ]) [ (i2 = 0) -> <i7> pos zero, (i2 = 1) -> <i7> pos zero, (i6 = 0) -> <i7> comp int (pos zero) [ (i2 = 0) -> <i3> comp int (comp int (comp int (pos zero) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero, (i3 = 1) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ] ], (i2 = 1) -> <i3> comp int (comp int (comp int (pos zero) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero, (i3 = 1) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ] ] ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ], (i1 = 1) -> <i3> comp int (comp int (comp int (pos zero) [ (i2 = 0) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ]) [ (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ]) [ (i3 = 0)(i4 = 1) -> <i5> comp int (pos zero) [ (i5 = 0) -> <i6> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (pos zero) [ (i7 = 0) -> <i8> pos zero ] ]) [ (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (comp int (pos zero) [ ]) [ (i7 = 0) -> <i8> comp int (pos zero) [ ] ] ], (i5 = 1) -> <i6> pos zero ], (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ], (i2 = 1) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ]) [ (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ]) [ (i3 = 0)(i4 = 1) -> <i5> comp int (pos zero) [ (i5 = 0) -> <i6> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (pos zero) [ (i7 = 0) -> <i8> pos zero ] ]) [ (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (comp int (pos zero) [ ]) [ (i7 = 0) -> <i8> comp int (pos zero) [ ] ] ], (i5 = 1) -> <i6> pos zero ], (i3 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ]) [ (i2 = 0) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ], (i2 = 1) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ], (i3 = 1) -> <i4> pos zero ]) [ (i2 = 0) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ], (i2 = 1) -> <i4> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ], (i3 = 0) -> <i4> comp int (pos zero) [ (i2 = 0) -> <i5> pos zero, (i2 = 1) -> <i5> pos zero, (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i2 = 0) -> <i6> comp int (comp int (comp int (pos zero) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (pos zero) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ], (i6 = 0) -> <i7> pos zero ]) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ], (i6 = 0) -> <i7> pos zero ]) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i6 = 1) -> <i8> comp int (pos zero) [ (i7 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ], (i7 = 1)(i8 = 1) -> <i9> pos zero, (i8 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ] ], (i7 = 0) -> <i8> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i7> pos zero ] ], (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (pos zero) [ (i5 = 0) -> <i8> pos zero, (i5 = 1) -> <i8> comp int (pos zero) [ (i7 = 0) -> <i9> comp int (comp int (pos zero) [ (i8 = 0) -> <i10> pos zero, (i8 = 1)(i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ]) [ (i8 = 0) -> <i10> pos zero, (i8 = 1)(i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> pos zero ], (i7 = 1) -> <i9> pos zero, (i8 = 0) -> <i9> pos zero ], (i7 = 0) -> <i8> comp int (comp int (pos zero) [ (i5 = 0) -> <i9> pos zero, (i5 = 1) -> <i9> comp int (pos zero) [ (i8 = 0) -> <i10> pos zero, (i8 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero, (i9 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ], (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (pos zero) [ (i5 = 0) -> <i10> pos zero, (i5 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero, (i9 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ] ]) [ (i5 = 0) -> <i9> pos zero, (i5 = 1) -> <i9> comp int (comp int (pos zero) [ (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int(pos zero) [ (i9 = 0) -> <i10> pos zero ] ]) [ (i8 = 0) -> <i10> pos zero, (i8 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ], (i9 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> comp int (pos zero) [ (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (pos zero) [ (i9 = 0) -> <i10> pos zero ] ] ], (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i10> pos zero, (i5 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ], (i9 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ] ] ], (i7 = 1) -> <i8> pos zero ] ], (i2 = 1) -> <i6> comp int (comp int (comp int (pos zero) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (pos zero) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ], (i6 = 0) -> <i7> pos zero ]) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ], (i6 = 0) -> <i7> pos zero ]) [ (i5 = 0) -> <i7> pos zero, (i5 = 1) -> <i7> comp int (comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i6 = 1) -> <i8> comp int (pos zero) [ (i7 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ], (i7 = 1)(i8 = 1) -> <i9> pos zero, (i8 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ] ], (i7 = 0) -> <i8> comp int (comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ]) [ (i6 = 0) -> <i7> pos zero ] ], (i6 = 0) -> <i7> pos zero, (i6 = 1) -> <i7> comp int (pos zero) [ (i5 = 0) -> <i8> pos zero, (i5 = 1) -> <i8> comp int (pos zero) [ (i7 = 0) -> <i9> comp int (comp int (pos zero) [ (i8 = 0) -> <i10> pos zero, (i8 = 1)(i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ]) [ (i8 = 0) -> <i10> pos zero, (i8 = 1)(i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> pos zero ], (i7 = 1) -> <i9> pos zero, (i8 = 0) -> <i9> pos zero ], (i7 = 0) -> <i8> comp int (comp int (pos zero) [ (i5 = 0) -> <i9> pos zero, (i5 = 1) -> <i9> comp int (pos zero) [ (i8 = 0) -> <i10> pos zero, (i8 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero, (i9 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ], (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (pos zero) [ (i5 = 0) -> <i10> pos zero, (i5 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero, (i9 = 0) -> <i11> pos zero ], (i9 = 0) -> <i10> pos zero ] ]) [ (i5 = 0) -> <i9> pos zero, (i5 = 1) -> <i9> comp int (comp int (pos zero) [ (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (pos zero) [ (i9 = 0) -> <i10> pos zero ] ]) [ (i8 = 0) -> <i10> pos zero, (i8 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ], (i9 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> comp int (pos zero) [ (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (pos zero) [ (i9 = 0) -> <i10> pos zero ] ] ], (i8 = 0) -> <i9> pos zero, (i8 = 1) -> <i9> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i10> pos zero, (i5 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ], (i9 = 0) -> <i11> comp int (pos zero) [ ] ], (i9 = 0) -> <i10> comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ] ] ], (i7 = 1) -> <i8> pos zero ] ], (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i2 = 0) -> <i7> comp int (comp int (comp int (pos zero) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i6 = 1)(i7 = 1) -> <i8> comp int (pos zero) [ (i8 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ], (i8 = 1) -> <i9> pos zero ], (i7 = 0) -> <i8> pos zero ], (i2 = 1) -> <i7> comp int (comp int (comp int (pos zero) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i7 = 0) -> <i8> pos zero ]) [ (i6 = 0) -> <i8> pos zero, (i6 = 1)(i7 = 1) -> <i8> comp int (pos zero) [ (i8 = 0) -> <i9> comp int (comp int (pos zero) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (pos zero) [ (i10 = 0) -> <i11> pos zero ] ]) [ (i9 = 0) -> <i10> pos zero, (i9 = 1) -> <i10> comp int (comp int (pos zero) [ ]) [ (i10 = 0) -> <i11> comp int (pos zero) [ ] ] ], (i8 = 1) -> <i9> pos zero ], (i7 = 0) -> <i8> pos zero ], (i6 = 0) -> <i7> pos zero ] ]) [ (i2 = 0) -> <i6> pos zero, (i2 = 1) -> <i6> pos zero, (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ (i2 = 0) -> <i3> comp int (comp int (comp int (pos zero) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero, (i3 = 1) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ] ], (i2 = 1) -> <i3> comp int (comp int (comp int (pos zero) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero, (i3 = 1) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ] ] ]) [ (i2 = 0) -> <i7> pos zero, (i2 = 1) -> <i7> pos zero, (i6 = 0) -> <i7> comp int (pos zero) [ (i2 = 0) -> <i3> comp int (comp int (comp int (pos zero) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero, (i3 = 1) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ] ], (i2 = 1) -> <i3> comp int (comp int (comp int (pos zero) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> pos zero, (i3 = 1) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ] ] ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ], (i2 = 0) -> <i3> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ], (i2 = 1) -> <i3> comp int (comp int (comp int (pos zero) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 1) -> <i4> pos zero ]) [ (i3 = 0) -> <i4> comp int (pos zero) [ (i4 = 0) -> <i5> comp int (comp int (pos zero) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (pos zero) [ (i6 = 0) -> <i7> pos zero ] ]) [ (i5 = 0) -> <i6> pos zero, (i5 = 1) -> <i6> comp int (comp int (pos zero) [ ]) [ (i6 = 0) -> <i7> comp int (pos zero) [ ] ] ], (i4 = 1) -> <i5> pos zero ], (i3 = 1) -> <i4> pos zero ] ]) [ (i1 = 0) -> <i3> pos zero, (i1 = 1) -> <i3> pos zero, (i2 = 0) -> <i3> pos zero, (i2 = 1) -> <i3> pos zero ]) [ (i1 = 0) -> <i3> pos zero, (i1 = 1) -> <i3> pos zero, (i2 = 0) -> <i3> pos zero, (i2 = 1) -> <i3> pos zero ]
+ntest1 : Id T p0 p1 = <i1 i2> comp (<_> int) (pos zero) [ (i1 = 0) -> <i3> pos zero, (i1 = 1) -> <i3> comp (<_> int) (zeroP {int} @ (i2 /\ i3)) [ (i2 = 0) -> <i4> pos zero, (i2 = 1) -> <i4> zeroP {int} @ (-i4 /\ i3), (i3 = 0) -> <i4> pos zero, (i3 = 1) -> <i4> comp (<_> int) (zeroP {int} @ i2) [ (i2 = 0) -> <i5> pos zero, (i2 = 1) -> <i5> zeroP {int} @ (-i4 \/ -i5), (i4 = 0) -> <i5> zeroP {int} @ i2 ] ], (i2 = 0) -> <i3> pos zero, (i2 = 1) -> <i3> pos zero ]
+
+ntest2 : Id T p0 p0 = <i1 i2> comp (<_> int) (pos zero) [ (i1 = 0) -> <i3> pos zero, (i1 = 1) -> <i3> pos zero, (i2 = 0) -> <i3> pos zero, (i2 = 1) -> <i3> pos zero ]
+
setI : set I = subst U set Unit I unitEqI setUnit
-foo (X : U) : U = (x : X) -> Id X x x
-
T : U = Id I zero zero
p0 : T = refl I zero
test : T = propI zero zero
-fooI : foo I = subst U foo Unit I unitEqI (\(x : Unit) -> <i> x)
-test2 : T = fooI zero
-
--- ntest2 : T = <i1> comp I (comp I (comp I zero [ (i1 = 0) -> <i2> comp I (comp I (comp I zero [ ]) [ ]) [ (i2 = 0) -> <i2> comp I zero [ (i2 = 0) -> <i2> comp I zero [ (i2 = 0) -> <i2> zero, (i2 = 1) -> <i2> comp I (comp I zero [ ]) [ (i2 = 0) -> <i2> comp I zero [ ] ] ], (i2 = 1) -> <i2> zero ], (i2 = 1) -> <i2> zero ], (i1 = 1) -> <i2> comp I (comp I (comp I zero [ ]) [ ]) [ (i2 = 0) -> <i2> comp I zero [ (i2 = 0) -> <i2> comp I zero [ (i2 = 0) -> <i2> zero, (i2 = 1) -> <i2> comp I (comp I zero [ ]) [ (i2 = 0) -> <i2> comp I zero [ ] ] ], (i2 = 1) -> <i2> zero ], (i2 = 1) -> <i2> zero ] ]) [ (i1 = 0) -> <i2> zero, (i1 = 1) -> <i2> zero ]) [ (i1 = 0) -> <i2> zero, (i1 = 1) -> <i2> zero ]
-
--- test1 : T = <i1> comp I (comp I (comp I zero [ (i1 = 0) -> <i2> comp I (comp I (comp I zero [ ]) [ ]) [ (i2 = 0) -> <i2> comp I zero [ (i2 = 0) -> <i2> comp I zero [ (i2 = 0) -> <i2> zero, (i2 = 1) -> <i2> comp I (comp I zero [ ]) [ (i2 = 0) -> <i2> comp I zero [ ] ] ], (i2 = 1) -> <i2> zero ], (i2 = 1) -> <i2> zero ], (i1 = 1) -> <i2> comp I (comp I (comp I zero [ ]) [ ]) [ (i2 = 0) -> <i2> comp I zero [ (i2 = 0) -> <i2> comp I zero [ (i2 = 0) -> <i2> zero, (i2 = 1) -> <i2> comp I (comp I zero [ ]) [ (i2 = 0) -> <i2> comp I zero [ ] ] ], (i2 = 1) -> <i2> zero ], (i2 = 1) -> <i2> zero ] ]) [ (i1 = 0) -> <i2> zero, (i1 = 1) -> <i2> zero ]) [ (i1 = 0) -> <i2> zero, (i1 = 1) -> <i2> zero ]
-
-
--- [ (i2 = 0) -> <i2> zero
--- , (i2 = 1) -> <i2> comp (<_> I) (comp (<_> I) zero [])
--- [ (i2 = 0) -> <i2> comp (<_> I) zero []]]
-
--- with zero
-
-test : Unit = transport (<i> unitEqI @ -i) zero
-test' : IdP (<i> unitEqI @ -i) zero tt =
- <i> genComp (<k> unitEqI @ -i \/ -k) zero [(i = 0) -> <_> zero]
-test'' : Id I zero zero = <i0> comp I
- (comp I
- (comp I zero [ (i0 = 0) -> <i1> zero ])
- [ (i0 = 0) -> <i1> zero ])
- [ (i0 = 0) -> <i1> zero, (i0 = 1) -> <i1> comp I zero [ (i1 = 0) -> <i1> comp I zero [ (i1 = 0) -> <i1> zero, (i1 = 1) -> <i1> comp I (comp I zero [ ]) [ (i1 = 0) -> <i1> comp I zero [ ] ] ], (i1 = 1) -> <i1> zero ] ]
--- -- <i0> glueElem
--- (comp I
--- (comp I
--- (comp I zero [ (i0 = 0) -> <i1> zero ])
--- [ (i0 = 0) -> <i1> zero ])
--- [ (i0 = 0) -> <i1> zero, (i0 = 1) -> <i1> comp I zero [ (i1 = 0) -> <i1> comp I zero [ (i1 = 0) -> <i1> zero, (i1 = 1) -> <i1> comp I (comp I zero [ ]) [ (i1 = 0) -> <i1> comp I zero [ ] ] ], (i1 = 1) -> <i1> zero ] ])
--- [ (i0 = 1) -> tt ]
--- test : I = transport unitEqI tt
--- eqttzero : IdP unitEqI tt zero =
--- <i> genComp (<j> unitEqI @ -i \/ -j) zero [(i=1) -> <_>zero]
--- <i> transport (<j> unitEqI @ -i \/ -j) zero
--- <i> genComp (<j> unitEqI @ i /\ j) tt [(i=0) -> tt]
--- Type checking failed: path endpoints don't match for comp (<j> unitEqI @ (i /\ j)) tt [ ], got (tt,comp I (comp I (comp I zero [ ]) [ ]) [ ]), but expected (tt,zero)
\r
hedbergLemma (A: U) (a b:A) (f : (x : A) -> Id A a x -> Id A a x) (p : Id A a b) :\r
Square A a a (refl A a) a b p (f a (refl A a)) (f b p) = \r
- transport (<i>Square A a a (refl A a) a (p@i) (<j>p@i/\j) (f a (refl A a)) (f (p@i) (<j>p@i/\j)))\r
- (<i>(f a (refl A a)))\r
+ comp (<i> Square A a a (<_> a) a (p @ i) (<j> p @ i /\ j)\r
+ (f a (<_> a)) (f (p @ i) (<j> p @ i /\ j)))\r
+ (<i> f a (<_> a)) []\r
\r
-hedberg (A:U) (a b:A) (h: (x:A) -> stable (Id A a x)) (p q : Id A a b) : Id (Id A a b) p q =\r
- <j i>comp (<_> A) a [(j=0) -> rem2 @ i, (j=1) -> rem3 @ i, (i=0) -> r, (i=1) -> rem4 @ j]\r
+hedberg (A : U) (a b : A) (h : (x : A) -> stable (Id A a x))\r
+ (p q : Id A a b) : Id (Id A a b) p q =\r
+ <j i> comp (<_> A) a [ (j = 0) -> rem2 @ i\r
+ , (j = 1) -> rem3 @ i\r
+ , (i = 0) -> r\r
+ , (i = 1) -> rem4 @ j]\r
where \r
- ra : Id A a a = refl A a \r
- rem1 (x:A) : exConst (Id A a x) = stableConst (Id A a x) (h x)\r
- f (x:A) : Id A a x -> Id A a x = (rem1 x).1\r
+ ra : Id A a a = <_> a \r
+ rem1 (x : A) : exConst (Id A a x) = stableConst (Id A a x) (h x)\r
+ f (x : A) : Id A a x -> Id A a x = (rem1 x).1\r
fIsConst (x : A) : const (Id A a x) (f x) = (rem1 x).2\r
rem4 : Square A a a ra b b (refl A b) (f b p) (f b q) = fIsConst b p q\r
r : Id A a a = f a ra\r
rem3 : Square A a a ra a b q r (f b q) = hedbergLemma A a b f q\r
\r
hedbergS (A:U) (h : (a x:A) -> stable (Id A a x)) : set A =\r
- \ (a b:A) -> hedberg A a b (h a)\r
+ \(a b : A) -> hedberg A a b (h a)\r
\r
-{- normal form\r
- \(A : U) -> \r
- \(h : (a x : A) -> (((IdP (<!0> A) a x) -> N0) -> N0) -> (IdP (<!0> A) a x)) -> \r
- \(a b : A) -> \r
- \(p q : IdP (<!0> A) a b) ->\r
- <!0 !1> comp A a [ (!0 = 0) -> <!2> comp A (comp A (h a a (\(h0 : (IdP (<!0> A) a a) -> N0) -> h0 (<!0> a)) @ !2) [ (!2 = 1) -> <!3> p @ (!3 /\ !1) ]) [ (!1 = 1) -> <!3> comp A (h a (p @ !3) (\(h0 : (IdP (<!1> A) a (p @ !3)) -> N0) -> h0 (<!1> p @ (!3 /\ !1))) @ !2) [ (!2 = 1) -> <!4> p @ (!3 \/ !4) ] ], (!0 = 1) -> <!2> comp A (comp A (h a a (\(h0 : (IdP (<!0> A) a a) -> N0) -> h0 (<!0> a)) @ !2) [ (!2 = 1) -> <!3> q @ (!3 /\ !1) ]) [ (!1 = 1) -> <!3> comp A (h a (q @ !3) (\(h0 : (IdP (<!1> A) a (q @ !3)) -> N0) -> h0 (<!1> q @ (!3 /\ !1))) @ !2) [ (!2 = 1) -> <!4> q @ (!3 \/ !4) ] ], (!1 = 0) -> <!2> h a a (\(h0 : (IdP (<!0> A) a a) -> N0) -> h0 (<!0> a)) @ !2, (!1 = 1) -> <!2> h a b (\(x : (IdP (<!0> A) a b) -> N0) -> efq (IdP (<!0> N0) (x p) (x q)) (x p) @ !0) @ !2 ]\r
--}\r
-\r
-corrhedberg (A:U) (h : discrete A) : set A =\r
- \ (a b :A) -> hedberg A a b (\ (b:A) -> decStable (Id A a b) (h a b))
\ No newline at end of file
+corrhedberg (A : U) (h : discrete A) : set A =\r
+ \(a b : A) -> hedberg A a b (\(b : A) -> decStable (Id A a b) (h a b))
\ No newline at end of file