generalized lem3 and made progress for Sets univalence

This commit is contained in:
Andrea Vezzosi 2018-03-22 10:41:38 +00:00
parent 807a0f3dcd
commit 66ab7138a6

View file

@ -138,14 +138,10 @@ module _ ( : Level) where
iso : (p q) Eqv.≅ (proj₁ p proj₁ q) iso : (p q) Eqv.≅ (proj₁ p proj₁ q)
iso = f , g , inv iso = f , g , inv
lem3 : {Q : A Set b} lem3 : {c} {Q : A Set (c b)}
((a : A) P a Q a) Σ A P Σ A Q ((a : A) P a Q a) Σ A P Σ A Q
lem3 {Q} eA = res lem3 {Q = Q} eA = res
where where
P→Q : {a} P a Q a
P→Q = ua (eA _)
Q→P : {a} Q a P a
Q→P = sym P→Q
f : Σ A P Σ A Q f : Σ A P Σ A Q
f (a , pA) = a , _≃_.eqv (eA a) pA f (a , pA) = a , _≃_.eqv (eA a) pA
g : Σ A Q Σ A P g : Σ A Q Σ A P
@ -226,7 +222,7 @@ module _ ( : Level) where
-- lem3 and the equivalence from lem4 -- lem3 and the equivalence from lem4
step0 : Σ (A B) isIso Σ (A B) (isEquiv A B) step0 : Σ (A B) isIso Σ (A B) (isEquiv A B)
step0 = lem3 (λ f sym≃ (lem4 sA sB f)) step0 = lem3 {c = lzero} (λ f sym≃ (lem4 sA sB f))
-- univalence -- univalence
step1 : Σ (A B) (isEquiv A B) (A B) step1 : Σ (A B) (isEquiv A B) (A B)
step1 = hh h step1 = hh h
@ -297,8 +293,11 @@ module _ ( : Level) where
-- --
-- is contractible, which implies univalence. -- is contractible, which implies univalence.
eq1 : hA (Σ[ hB Object ] hA hB) (Σ[ hB Object ] hA hB)
eq1 hA = (ua (lem3 (\ hB sym≃ thr)))
univalent[Contr] : hA isContr (Σ[ hB Object ] hA hB) univalent[Contr] : hA isContr (Σ[ hB Object ] hA hB)
univalent[Contr] hA = {!!} , {!!} univalent[Contr] hA = subst {P = isContr} (sym (eq1 hA)) {!!}
univalent : Univalent univalent : Univalent
univalent = from[Contr] univalent[Contr] univalent = from[Contr] univalent[Contr]