Step * 2 of Lemma presheaf-type-iso-inverse


1. SmallCategory
2. ps_context{j:l}(C)
3. (I:cat-ob(C) × X(I)) ⟶ cat-ob(TypeCat')
4. x1 x:(I:cat-ob(C) × X(I))
⟶ y:(I:cat-ob(C) × X(I))
⟶ ((λAa,Bb. let A,a Aa in let B,b Bb in {f:cat-arrow(C) B| f(b) a ∈ (X A)} x)
⟶ (cat-arrow(TypeCat') (F x) (F y))
5. ∀x:I:cat-ob(C) × X(I)
     ((x1 ((λA.(cat-id(C) (fst(A)))) x)) (cat-id(TypeCat') (F x)) ∈ (cat-arrow(TypeCat') (F x) (F x)))
6. ∀x,y,z:I:cat-ob(C) × X(I). ∀f:(λAa,Bb. let A,a Aa in let B,b Bb in {f:cat-arrow(C) B| f(b) a ∈ (X A)} x.
   ∀g:(λAa,Bb. let A,a Aa in let B,b Bb in {f:cat-arrow(C) B| f(b) a ∈ (X A)} y.
     ((x1 ((λAa,Bb,Dd,f,g. (cat-comp(C) (fst(Aa)) (fst(Bb)) (fst(Dd)) g)) f))
     (cat-comp(TypeCat') (F x) (F y) (F z) (x1 f) (x1 g))
     ∈ (cat-arrow(TypeCat') (F x) (F z)))
7. I:cat-ob(C) × X(I)
⊢ (x1 x)
q,f,a. (x1 <fst(x), snd(x)> <fst(q), f(snd(x))> a))
∈ (y:(I:cat-ob(C) × X(I))
  ⟶ let A,a 
     in let B,b 
        in {f:cat-arrow(C) B| f(b) a ∈ (X A)} 
  ⟶ (cat-arrow(TypeCat') (F x) (F y)))
BY
(All (RepUR ``type-cat``)
   THEN (FunExt THENW Auto)
   THEN Reduce 0
   THEN DProdsAndUnions
   THEN Reduce 0
   THEN (At  ⌜𝕌{[i j']}⌝ (FunExt)⋅ THENW (Auto THEN (DoSubsume THEN Auto) THEN RepUR ``type-cat`` THEN Auto))
   THEN (FunExt THENW Auto)
   THEN Reduce 0
   THEN RepeatFor (EqCDA)
   THEN Auto) }


Latex:


Latex:

1.  C  :  SmallCategory
2.  X  :  ps\_context\{j:l\}(C)
3.  F  :  (I:cat-ob(C)  \mtimes{}  X(I))  {}\mrightarrow{}  cat-ob(TypeCat')
4.  x1  :  x:(I:cat-ob(C)  \mtimes{}  X(I))
{}\mrightarrow{}  y:(I:cat-ob(C)  \mtimes{}  X(I))
{}\mrightarrow{}  ((\mlambda{}Aa,Bb.  let  A,a  =  Aa  in  let  B,b  =  Bb  in  \{f:cat-arrow(C)  A  B|  f(b)  =  a\}  )  y  x)
{}\mrightarrow{}  (cat-arrow(TypeCat')  (F  x)  (F  y))
5.  \mforall{}x:I:cat-ob(C)  \mtimes{}  X(I).  ((x1  x  x  ((\mlambda{}A.(cat-id(C)  (fst(A))))  x))  =  (cat-id(TypeCat')  (F  x)))
6.  \mforall{}x,y,z:I:cat-ob(C)  \mtimes{}  X(I).  \mforall{}f:(\mlambda{}Aa,Bb.  let  A,a  =  Aa 
                                                                                    in  let  B,b  =  Bb 
                                                                                          in  \{f:cat-arrow(C)  A  B|  f(b)  =  a\}  ) 
                                                                  y 
                                                                  x.  \mforall{}g:(\mlambda{}Aa,Bb.  let  A,a  =  Aa 
                                                                                                in  let  B,b  =  Bb 
                                                                                                      in  \{f:cat-arrow(C)  A  B|  f(b)  =  a\}  ) 
                                                                              z 
                                                                              y.
          ((x1  x  z  ((\mlambda{}Aa,Bb,Dd,f,g.  (cat-comp(C)  (fst(Aa))  (fst(Bb))  (fst(Dd))  f  g))  z  y  x  g  f))
          =  (cat-comp(TypeCat')  (F  x)  (F  y)  (F  z)  (x1  x  y  f)  (x1  y  z  g)))
7.  x  :  I:cat-ob(C)  \mtimes{}  X(I)
\mvdash{}  (x1  x)  =  (\mlambda{}q,f,a.  (x1  <fst(x),  snd(x)>  <fst(q),  f(snd(x))>  f  a))


By


Latex:
(All  (RepUR  ``type-cat``)
  THEN  (FunExt  THENW  Auto)
  THEN  Reduce  0
  THEN  DProdsAndUnions
  THEN  Reduce  0
  THEN  (At    \mkleeneopen{}\mBbbU{}\{[i  |  j']\}\mkleeneclose{}  (FunExt)\mcdot{}
              THENW  (Auto  THEN  (DoSubsume  THEN  Auto)  THEN  RepUR  ``type-cat``  0  THEN  Auto)
              )
  THEN  (FunExt  THENW  Auto)
  THEN  Reduce  0
  THEN  RepeatFor  4  (EqCDA)
  THEN  Auto)




Home Index