Nuprl Lemma : The Type (Id_A a b)
To define the type (Id_A a b) we must define, for each I-cube, alpha of
the context X, the "set" (Id_A a b)(alpha).
For a new coordinate z, the members of the type
named-path: named-path(X;A;a;b;I;alpha;z) are z-paths from a(alpha) to b(alpha).
We tried to simply use ⌈z = fresh-cname(I) ∈ cname⌉ as the choice for coordinate z.
But, when defining the Kan structure on (Id_A a b) this did not work.
(Because then, an (y,c)-face of (Id_A a b) has coordinates
⌈[fresh-cname(I-[y]) / I-[y]]⌉ in A, and that is not the same as
⌈[fresh-cname(I) / I]-[y]⌉ -- since fresh-cname(I-[y]) could be y ).
So, we need to proceed as in the BCH paper with an equivalence class
of I-path: I-path(X;A;a;b;I;alpha).
The equivalence relation is
path-eq: path-eq(X;A;I;alpha;p;q)
{ path-eq-equiv }
and the equivalence classes are the quotient type: cubical-path: cubical-path(X;A;a;b;I;alpha).
The morphisms on this type are defined by the operation: I-path-morph: I-path-morph(X;A;I;K;f;alpha;p),
and then we can define the type cubical-identity: (Id_A a b)
and prove its typing lemma { cubical-identity_wf }.
In that proof, we have to show that the morphisms are well defined on the
quotient type. So the proof is rather long and uses many lemmas
like { extend-name-morph-rename-one }
{ rename-one-extend-name-morph }
{ extend-name-morph-comp }
{ rename-one-extend-id }
The next step is to show that (Id_A a a) is inhabited by the term refl(a)
{ cubical-refl_wf }
The description of the Kan-structure is here: { Kan structure on Id_A a b }
⋅
Latex:
To define the type (Id\_A a b) we must define, for each I-cube, alpha of
the context X, the "set" (Id\_A a b)(alpha).
For a new coordinate z, the members of the type
named-path: named-path(X;A;a;b;I;alpha;z) are z-paths from a(alpha) to b(alpha).
We tried to simply use \mkleeneopen{}z = fresh-cname(I)\mkleeneclose{} as the choice for coordinate z.
But, when defining the Kan structure on (Id\_A a b) this did not work.
(Because then, an (y,c)-face of (Id\_A a b) has coordinates
\mkleeneopen{}[fresh-cname(I-[y]) / I-[y]]\mkleeneclose{} in A, and that is not the same as
\mkleeneopen{}[fresh-cname(I) / I]-[y]\mkleeneclose{} -- since fresh-cname(I-[y]) could be y ).
So, we need to proceed as in the BCH paper with an equivalence class
of I-path: I-path(X;A;a;b;I;alpha).
The equivalence relation is
path-eq: path-eq(X;A;I;alpha;p;q)
\{ path-eq-equiv \}
and the equivalence classes are the quotient type: cubical-path: cubical-path(X;A;a;b;I;alpha).
The morphisms on this type are defined by the operation:
I-path-morph: I-path-morph(X;A;I;K;f;alpha;p),
and then we can define the type cubical-identity: (Id\_A a b)
and prove its typing lemma \{ cubical-identity\_wf \}.
In that proof, we have to show that the morphisms are well defined on the
quotient type. So the proof is rather long and uses many lemmas
like \{ extend-name-morph-rename-one \}
\{ rename-one-extend-name-morph \}
\{ extend-name-morph-comp \}
\{ rename-one-extend-id \}
The next step is to show that (Id\_A a a) is inhabited by the term refl(a)
\{ cubical-refl\_wf \}
The description of the Kan-structure is here: \{ Kan structure on Id\_A a b \}
\mcdot{}
Date html generated:
2015_07_17-PM-06_22_08
Last ObjectModification:
2015_03_03-PM-06_31_10
Home
Index