univalence in product-category step1

This commit is contained in:
Andrea Vezzosi 2018-04-13 14:18:28 +02:00
parent e25ef31907
commit c1f58b1a4f
2 changed files with 21 additions and 26 deletions

View file

@ -214,32 +214,10 @@ module Try0 {a b : Level} { : Category a b}
× PathP (λ i .Arrow (p i) B) xb yb
)
step1
= (λ{ (p , x)
(.idToIso _ _ p)
, let
P-l : (p : X Y) Set _
P-l φ = PathP (λ i .Arrow (φ i) A) xa ya
P-r : (p : X Y) Set _
P-r φ = PathP (λ i .Arrow (φ i) B) xb yb
left : P-l p
left = fst x
right : P-r p
right = snd x
in subst {P = P-l} iso-id-inv left , subst {P = P-r} iso-id-inv right
})
-- Goal is:
--
-- φ x
--
-- where `x` is
--
-- .isoToId (.idToIso _ _ p)
--
-- I have `φ p` in scope, but surely `p` and `x` are the same - though
-- perhaps not definitonally.
, (λ{ (iso , x) .isoToId iso , x})
, funExt (λ{ (p , q , r) Σ≡ (sym iso-id-inv) {!!}})
, funExt (λ x Σ≡ (sym id-iso-inv) {!!})
= symIso
(isoSigFst {A = (X .≅ Y)} {B = (X Y)} {!!} {Q = \ p (PathP (λ i .Arrow (p i) A) xa ya) × (PathP (λ i .Arrow (p i) B) xb yb)} .isoToId
(symIso (_ , .asTypeIso {X} {Y}) .snd))
step2
: Σ (X .≅ Y) (λ iso
let p = .isoToId iso

View file

@ -39,6 +39,23 @@ module _ {a b : Level} where
_≅_ : Set a Set b Set _
A B = Σ (A B) Isomorphism
symIso : {a b} {A : Set a}{B : Set b} A B B A
symIso (f , g , p , q)= g , f , q , p
module _ {a b c} {A : Set a} {B : Set b} (sB : isSet B) {Q : B Set c} (f : A B) where
Σ-fst-map : Σ A (\ a Q (f a)) Σ B Q
Σ-fst-map (x , q) = f x , q
isoSigFst : Isomorphism f Σ A (\ a Q (f a)) (Σ B Q)
isoSigFst (g , g-f , f-g) = Σ-fst-map
, (\ { (b , q) g b , transp (\ i Q (f-g (~ i) b)) q })
, funExt (\ { (a , q) Cat.Prelude.Σ≡ (\ i g-f i a)
let r = (transp-iso' ((λ i Q (f-g (i) (f a)))) q) in
transp (\ i PathP (\ j Q (sB _ _ (λ j₁ f-g j₁ (f a)) (λ j₁ f (g-f j₁ a)) i j)) (transp (λ i₁ Q (f-g (~ i₁) (f a))) q) q) r })
, funExt (\ { (b , q) Cat.Prelude.Σ≡ (\ i f-g i b) (transp-iso' (λ i Q (f-g i b)) q)})
module _ { : Level} {A B : Set } {f : A B}
(g : B A) (s : {A B : Set } isSet (A B)) where