-- old stuff looks now like this
data S1 = base
- | loop <i> @ [(i=0) -> base, (i=1) -> base]
+ | loop <i> [(i=0) -> base, (i=1) -> base]
foo : S1 = base
-- new
data S2 = base
- | loop2 <i j> @ [ (i=0) -> base
- , (i=1) -> base
- , (j=0) -> base
- , (j=1) -> base]
+ | loop2 <i j> [ (i=0) -> base
+ , (i=1) -> base
+ , (j=0) -> base
+ , (j=1) -> base]
loop2' : Id (Id S2 base base) (refl S2 base) (refl S2 base) =
<i j> loop2 {S2} @ i @ j
data Torus = ptT
- | pathOneT <i> @ [ (i=0) -> ptT, (i=1) -> ptT ]
- | pathTwoT <i> @ [ (i=0) -> ptT, (i=1) -> ptT ]
- | squareT <i j> @ [ (i=0) -> pathOneT {Torus} @ j
- , (i=1) -> pathOneT {Torus} @ j
- , (j=0) -> pathTwoT {Torus} @ i
- , (j=1) -> pathTwoT {Torus} @ i ]
+ | pathOneT <i> [ (i=0) -> ptT, (i=1) -> ptT ]
+ | pathTwoT <i> [ (i=0) -> ptT, (i=1) -> ptT ]
+ | squareT <i j> [ (i=0) -> pathOneT {Torus} @ j
+ , (i=1) -> pathOneT {Torus} @ j
+ , (j=0) -> pathTwoT {Torus} @ i
+ , (j=1) -> pathTwoT {Torus} @ i ]
data setTrunc (A : U)
= inc (a : A)
- | setTr (a b : setTrunc A) (p q : Id (setTrunc A) a b) <i j> @
+ | setTr (a b : setTrunc A) (p q : Id (setTrunc A) a b) <i j>
[ (i=0) -> p @ j
, (i=1) -> q @ j
, (j=0) -> a
import prelude
-data I = zero | one | seg @ zero ~ one
+data I = zero | one | seg <i> [(i = 0) -> zero, (i = 1) -> one]
-- Proof of funext from the interval
fext (A B : U) (f g : A -> B) (p : (x : A) -> Id B (f x) (g x)) :
\r
data susp (A : U) = north\r
| south\r
- | merid (a:A) @ north ~ south\r
+ | merid (a:A) <i> [(i=0) -> north, (i=1) -> south]\r
\r
-- n-spheres\r
sphere : nat -> U = split\r