Nuprl Lemma : Kan structure on Id_A a b

We need the Kan structure on (Id_A b).

If bx is an open box in (Id_A b)(alpha) then it is list of faces
<y,c,w> with in ⌈(Id_A b)((y:=c)(alpha))⌉

If we take fresh-cname(I) then ⌈¬(x ∈ I)⌉ so 
trivially,  ⌈¬(x ∈ I-[y])⌉
so we can use set-path-name(X;A;I;alpha;x;w)
to change into an equal w' with ⌈(fst(w')) x ∈ c-nem⌉.

We use this to 
define lift-id-face: lift-id-face(X;A;I;alpha;face)
that converts an A-face(X;(Id_A b);I;alpha)
to an A-face(X;A;I+;iota'(I)(alpha)).

If we do this to each face in bx, we get an open box (with parameters J)
  lift-id-faces-wf }  (proof is quite long!)
in A(iota'(I)(alpha))

Now we extend this to an open box with parameters ⌈[fresh-cname(I) J]⌉
by adding the bottom and top faces corresponding to a(alpha) and b(alpha)
to get: cubical-id-box: cubical-id-box(X;A;a;b;I;alpha;box)
        cubical-id-box_wf 

We can use the Kanfiller for A
to fill it with cube c  

Then  the pair <fresh-cname(I),c> fills the original bx in (Id_A b)(alpha)
Kan_id_filler: Kan_id_filler(X;A;a;b).
Kan_id_filler_wf }

Then we have to show that this filler satisfies the uniformity condition:
  Kan_id_filler_uniform }   (very long proof!! can it be improved?)

Putting these together we get the identity type with uniform Kan structure:
Kan-cubical-identity: Kan(Id_A b)
Kan-cubical-identity_wf }.⋅


Latex:
We  need  the  Kan  structure  on  (Id\_A  a  b).

If  bx  is  an  open  box  in  (Id\_A  a  b)(alpha)  then  it  is  a  list  of  faces
<y,c,w>  with  w  in  \mkleeneopen{}(Id\_A  a  b)((y:=c)(alpha))\mkleeneclose{}

If  we  take  x  =  fresh-cname(I)  then  \mkleeneopen{}\mneg{}(x  \mmember{}  I)\mkleeneclose{}  so 
trivially,    \mkleeneopen{}\mneg{}(x  \mmember{}  I-[y])\mkleeneclose{}
so  we  can  use  set-path-name(X;A;I;alpha;x;w)
to  change  w  into  an  equal  w'  with  \mkleeneopen{}(fst(w'))  =  x\mkleeneclose{}.

We  use  this  to 
define  lift-id-face:  lift-id-face(X;A;I;alpha;face)
that  converts  an  A-face(X;(Id\_A  a  b);I;alpha)
to  an  A-face(X;A;I+;iota'(I)(alpha)).

If  we  do  this  to  each  face  in  bx,  we  get  an  open  box  (with  parameters  J)
    \{  lift-id-faces-wf  \}    (proof  is  quite  long!)
in  A(iota'(I)(alpha))

Now  we  extend  this  to  an  open  box  with  parameters  \mkleeneopen{}[fresh-cname(I)  /  J]\mkleeneclose{}
by  adding  the  bottom  and  top  faces  corresponding  to  a(alpha)  and  b(alpha)
to  get:  cubical-id-box:  cubical-id-box(X;A;a;b;I;alpha;box)
                \{  cubical-id-box\_wf  \} 

We  can  use  the  Kanfiller  for  A
to  fill  it  with  a  cube  c   

Then    the  pair  <fresh-cname(I),c>  fills  the  original  bx  in  (Id\_A  a  b)(alpha)
Kan\_id\_filler:  Kan\_id\_filler(X;A;a;b).
\{  Kan\_id\_filler\_wf  \}

Then  we  have  to  show  that  this  filler  satisfies  the  uniformity  condition:
    \{  Kan\_id\_filler\_uniform  \}      (very  long  proof!!  can  it  be  improved?)

Putting  these  together  we  get  the  identity  type  with  uniform  Kan  structure:
Kan-cubical-identity:  Kan(Id\_A  a  b)
\{  Kan-cubical-identity\_wf  \}.\mcdot{}



Date html generated: 2015_07_17-PM-06_22_08
Last ObjectModification: 2015_03_03-AM-11_34_22

Home Index