Progress on univalence

This commit is contained in:
Frederik Hanghøj Iversen 2018-04-13 09:40:09 +02:00
parent 5bbb40b664
commit 0ced448fa6
2 changed files with 64 additions and 27 deletions

View file

@ -356,7 +356,7 @@ module _ {a b : Level} ( : RawCategory a b) where
fst (idToIso _ _ refl) <<< f <<< (fst (snd (idToIso _ _ refl))) fst (idToIso _ _ refl) <<< f <<< (fst (snd (idToIso _ _ refl)))
where where
lem : {x} PathP (λ _ Arrow x x) identity (fst (idToIso x x refl)) lem : {x} PathP (λ _ Arrow x x) identity (fst (idToIso x x refl))
lem = sym (subst-neutral {P = λ x Arrow x x}) lem = sym subst-neutral
D : a'' a a'' Set _ D : a'' a a'' Set _
D a'' p' = coe (λ i Arrow (p' i) (q i)) f fst (idToIso b b' q) <<< f <<< (fst (snd (idToIso _ _ p'))) D a'' p' = coe (λ i Arrow (p' i) (q i)) f fst (idToIso b b' q) <<< f <<< (fst (snd (idToIso _ _ p')))

View file

@ -258,22 +258,45 @@ module Try0 {a b : Level} { : Category a b}
r-arrow i = .Arrow (r i) A r-arrow i = .Arrow (r i) A
t : coe r-arrow xa .identity .<<< xa .<<< f~ t : coe r-arrow xa .identity .<<< xa .<<< f~
t = {!? ≡ ?!} t = {!? ≡ ?!}
lem : {x} .idToIso _ _ (.isoToId x) x lem : {A B} {x : A .≅ B} .idToIso A B (.isoToId x) x
lem {x} i = snd .inverse-from-to-iso' i x lem = λ{ {x = x} i snd .inverse-from-to-iso' i x}
lem' : {A B} {x : A B} .isoToId (.idToIso _ _ x) x
lem' = λ{ {x = x} i fst .inverse-from-to-iso' i x}
h : ya xa .<<< f~ h : ya xa .<<< f~
h = begin h = begin
ya ≡⟨ {!!} ya ≡⟨ sym (coe-lem p)
coe r-arrow xa coe r-arrow xa
≡⟨ .9-1-9 r refl xa ≡⟨ .9-1-9 r refl xa
fst (.idToIso _ _ refl) .<<< xa .<<< fst (snd (.idToIso _ _ r)) fst (.idToIso _ _ refl) .<<< xa .<<< fst (snd (.idToIso _ _ r))
≡⟨ cong (λ φ φ .<<< xa .<<< fst (snd (.idToIso _ _ r))) (subst-neutral {P = λ x .Arrow x x}) ≡⟨ cong (λ φ φ .<<< xa .<<< fst (snd (.idToIso _ _ r))) subst-neutral
.identity .<<< xa .<<< fst (snd (.idToIso _ _ r)) .identity .<<< xa .<<< fst (snd (.idToIso _ _ r))
≡⟨ cong (λ φ .identity .<<< xa .<<< φ) (cong (λ x (fst (snd x))) lem) ≡⟨ cong (λ φ .identity .<<< xa .<<< φ) (cong (λ x (fst (snd x))) lem)
.identity .<<< xa .<<< f~ .identity .<<< xa .<<< f~
≡⟨ cong (._<<< f~) .leftIdentity ≡⟨ cong (._<<< f~) .leftIdentity
xa .<<< f~ xa .<<< f~
complicated : Y X
complicated = (λ z sym (.isoToId (f , f~ , inv-f)) z)
in in
( f , {!h!} , {!!}) ( f , (begin
[ ya f ] ≡⟨⟩
ya .<<< f ≡⟨ sym .leftIdentity
.identity .<<< (ya .<<< f)
≡⟨ .isAssociative
.identity .<<< ya .<<< f
≡⟨ cong (λ φ φ .<<< ya .<<< f) (sym subst-neutral)
fst (.idToIso _ _ refl) .<<< ya .<<< f
≡⟨ cong (λ φ fst (.idToIso _ _ refl) .<<< ya .<<< φ)
(begin
f ≡⟨ {!cong (λ x → (fst (snd x))) ((lem {x = f~ , f , swap inv-f}))!}
-- f ≡⟨ cong fst (sym (lem {f , f~ , inv-f})) ⟩
-- fst ( .idToIso X Y ( .isoToId (f , f~ , inv-f))) ≡⟨ {!fst inv-f!} ⟩
fst (snd (.idToIso Y X (λ z sym (.isoToId (f , f~ , inv-f)) z))) )
_ .<<< ya .<<< fst (snd (.idToIso _ _ _))
≡⟨ sym (.9-1-9 (sym r) refl ya)
coe (sym r-arrow) ya
≡⟨ coe-lem (λ i p (~ i))
xa ) , {!!})
, ( f~ , sym h , {!!}) , ( f~ , sym h , {!!})
, lemA (fst inv-f) , lemA (fst inv-f)
, lemA (snd inv-f) , lemA (snd inv-f)
@ -283,14 +306,28 @@ module Try0 {a b : Level} { : Category a b}
let let
iso : X .≅ Y iso : X .≅ Y
iso = fst f , fst f~ , cong fst inv-f , cong fst inv-f~ iso = fst f , fst f~ , cong fst inv-f , cong fst inv-f~
helper : PathP (λ i .Arrow (.isoToId {!!} i) A) xa ya p : X Y
helper = {!!} p = .isoToId iso
in iso , helper , {!!}}) lem : xa _
lem = begin
xa ≡⟨ sym (fst (snd f))
ya .<<< fst f ≡⟨ sym .leftIdentity
.identity .<<< (ya .<<< fst f) ≡⟨ .isAssociative
.identity .<<< ya .<<< fst f ≡⟨ {!sym (.9-1-9 ? refl ya)!}
_ .<<< ya .<<< _ ≡⟨ sym (.9-1-9 (sym p) refl ya)
coe (λ i .Arrow (p (~ i)) A) ya
lem0 = begin
xa ≡⟨ {!!}
coe _ xa ≡⟨ {!!}
ya .<<< fst f
helper : PathP (λ i .Arrow (p i) A) xa ya
helper = {!snd f!}
in iso , ? , {!!}})
, record , record
{ fst = funExt (λ x lemSig { fst = funExt (λ x lemSig
(λ x propSig prop0 (λ _ prop1)) (λ x propSig prop0 (λ _ prop1))
_ _ _ _
(Σ≡ {!!} (.propIsomorphism _ _ _))) (Σ≡ {!!} (.propIsomorphism _ _ _)))
; snd = funExt (λ{ (f , _) lemSig propIsomorphism _ _ {!refl!}}) ; snd = funExt (λ{ (f , _) lemSig propIsomorphism _ _ {!refl!}})
} }
where where