From: coquand Date: Sun, 19 Apr 2015 13:47:19 +0000 (+0200) Subject: if A and B are isomorphic, prop A -> prop B, normal form X-Git-Url: https://git.ak3n.com/?a=commitdiff_plain;h=ed5b619dd908d4188c5c58c6b3aba5d0e78e41b7;p=cubicaltt.git if A and B are isomorphic, prop A -> prop B, normal form --- diff --git a/examples/prop.ctt b/examples/prop.ctt new file mode 100644 index 0000000..148af5b --- /dev/null +++ b/examples/prop.ctt @@ -0,0 +1,26 @@ +module prop where + +import prelude + +lemProp (A B : U) (f : A -> B) (g : B -> A) + (s : (y:B) -> Id B (f (g y)) y) + (t : (x:A) -> Id A (g (f x)) x) (pA:prop A) : prop B = + \ (b0 b1:B) -> subst U prop A B (isoId A B f g s t) pA b0 b1 + +{- normal form + +\(A0 : U) -> \(B1 : U) -> \(f2 : A0 -> B1) -> \(g3 : B1 -> A0) -> + \(s4 : \(y4 : B1) -> IdP ( B1) (f2 (g3 y4)) y4) -> + \(t5 : \(x5 : A0) -> IdP ( A0) (g3 (f2 x5)) x5) -> + \(pA6 : \(a6 : A0) -> \(b7 : A0) -> IdP ( A0) a6 b7) -> + \(b07 : B1) -> \(b18 : B1) -> + comp B1 (f2 ((pA6 (g3 b07) (g3 b18)) @ j)) + [ (j = 0) -> comp B1 b07 + [ (i = 0) -> comp B1 (f2 (comp A0 (g3 b07) [ (j = 1) -> (t5 (g3 b07)) @ -i ])) + [ (j = 0) -> (s4 b07) @ i, (j = 1) -> (s4 (f2 (g3 b07))) @ i ] + ] + , (j = 1) -> comp B1 b18 [ (i = 0) -> comp B1 (f2 (comp A0 (g3 b18) [ (j = 1) -> (t5 (g3 b18)) @ -i ])) + [ (j = 0) -> (s4 b18) @ i, (j = 1) -> (s4 (f2 (g3 b18))) @ i ] + ] + ] +-}