Merge remote-tracking branch 'Saizan/dev' into dev

From Andrea:

The problem with "h" there is that ve-re is building a square, "(qq0 j
, h)" is a fine element of the sigma type, but it does not really
connect "(g ∘ f) e" to "e" across dimension "i", in particular it does
not reduce to "e" when "i" is "i1".
This commit is contained in:
Frederik Hanghøj Iversen 2018-03-21 13:27:57 +01:00
commit 084befbbc6

View file

@ -126,24 +126,16 @@ module _ ( : Level) where
(p q) (proj₁ p proj₁ q) (p q) (proj₁ p proj₁ q)
lem2 pA p q = fromIsomorphism iso lem2 pA p q = fromIsomorphism iso
where where
f : p q proj₁ p proj₁ q f : {p q} p q proj₁ p proj₁ q
f e i = proj₁ (e i) f e i = proj₁ (e i)
g : proj₁ p proj₁ q p q g : {p q} proj₁ p proj₁ q p q
g = lemSig pA p q g {p} {q} = lemSig pA p q
ve-re : (e : p q) (g f) e e ve-re : (e : p q) (g f) e e
-- QUESTION Why does `h` not satisfy the constraint here? ve-re = pathJ (\ q (e : p q) (g f) e e)
ve-re e i j = qq0 j , {!h!} (\ i j p .proj₁ , propSet (pA (p .proj₁)) (p .proj₂) (p .proj₂) (λ i (g {p} {p} f) (λ i₁ p) i .proj₂) (λ i p .proj₂) i j ) q
where re-ve : (e : proj₁ p proj₁ q) (f {p} {q} g {p} {q}) e e
-- qq : ? [ proj₂ ((g ∘ f) e) ≡ proj₂ e ]
qq0 : proj₁ p proj₁ q
qq0 i = proj₁ (e i)
qq : (λ i P (qq0 i)) [ proj₂ p proj₂ q ]
qq = lemPropF pA qq0
h : P (qq0 j)
h = qq j
re-ve : (e : proj₁ p proj₁ q) (f g) e e
re-ve e = refl re-ve e = refl
inv : AreInverses f g inv : AreInverses (f {p} {q}) (g {p} {q})
inv = record inv = record
{ verso-recto = funExt ve-re { verso-recto = funExt ve-re
; recto-verso = funExt re-ve ; recto-verso = funExt re-ve