Mercurial > hg > Members > kono > Proof > category
changeset 1077:918319d070b0
..
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 10 May 2021 16:24:03 +0900 |
parents | 5e89bbb4cf53 |
children | 5aa36440e6fe |
files | src/ToposIL.agda |
diffstat | 1 files changed, 27 insertions(+), 58 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ToposIL.agda Sun May 09 17:09:21 2021 +0900 +++ b/src/ToposIL.agda Mon May 10 16:24:03 2021 +0900 @@ -116,65 +116,37 @@ → p ⊢ q → q ⊢ p → A [ Poly.f p ≈ Poly.f q ] tl01 {a} {b} p q p<q q<p = begin Poly.f p ≈↑⟨ tt p ⟩ - char t (equalizer kp ) (eMonic A kp) ≈⟨ IsTopos.char-iso (Topos.isTopos t) (equalizer kp ) (equalizer kq ) (eMonic A kp) (eMonic A kq) pqiso ⟩ - char t (equalizer kq ) (eMonic A kq) ≈⟨ tt q ⟩ + char t (equalizer (kp p) ) (eMonic A (kp p)) ≈⟨ IsTopos.char-iso (Topos.isTopos t) (equalizer (kp p) ) (equalizer (kp q) ) (eMonic A (kp p)) (eMonic A (kp q)) pqiso ⟩ + char t (equalizer (kp q) ) (eMonic A (kp q)) ≈⟨ tt q ⟩ Poly.f q ∎ where open import equalizer using ( monic ) open IsEqualizer renaming ( k to ek ) - kp = Ker t ( Poly.f p ) - kq = Ker t ( Poly.f q ) - fp : A [ A [ Poly.f p o equalizer kp ] ≈ A [ A [ (Topos.⊤ t) o ○ b ] o equalizer kp ] ] - fp = fe=ge (isEqualizer kp) - fq : A [ A [ Poly.f q o equalizer kq ] ≈ A [ A [ (Topos.⊤ t) o ○ b ] o equalizer kq ] ] - fq = fe=ge (isEqualizer kq) - eeq : A [ A [ Poly.f p o equalizer kq ] ≈ A [ A [ ⊤ t o ○ b ] o equalizer kq ] ] - eeq = begin - Poly.f p o equalizer kq ≈⟨ q<p _ ( begin - Poly.f q ∙ equalizer kq ≈⟨ fq ⟩ - ( ⊤ t ∙ ○ b ) ∙ equalizer kq ≈↑⟨ assoc ⟩ - ⊤ t ∙ ( ○ b ∙ equalizer kq) ≈⟨ cdr e2 ⟩ - ⊤ t ∙ ○ (equalizer-c kq) ∎ ) ⟩ - ⊤ t ∙ ○ (equalizer-c kq) ≈↑⟨ cdr e2 ⟩ + kp : (p : Poly a (Topos.Ω t) b ) → Equalizer A _ _ + kp p = Ker t ( Poly.f p ) + ee : (p q : Poly a (Topos.Ω t) b ) → q ⊢ p + → A [ A [ Poly.f p o equalizer (Ker t ( Poly.f q )) ] ≈ A [ A [ ⊤ t o ○ b ] o equalizer (Ker t ( Poly.f q ))] ] + ee p q q<p = begin + Poly.f p o equalizer (Ker t ( Poly.f q )) ≈⟨ q<p _ ( begin + Poly.f q ∙ equalizer (Ker t ( Poly.f q )) ≈⟨ fe=ge (isEqualizer (Ker t ( Poly.f q))) ⟩ + ( ⊤ t ∙ ○ b ) ∙ equalizer (Ker t ( Poly.f q )) ≈↑⟨ assoc ⟩ + ⊤ t ∙ ( ○ b ∙ equalizer (Ker t ( Poly.f q ))) ≈⟨ cdr e2 ⟩ + ⊤ t ∙ ○ (equalizer-c (Ker t ( Poly.f q ))) ∎ ) ⟩ + ⊤ t ∙ ○ (equalizer-c (Ker t ( Poly.f q ))) ≈↑⟨ cdr e2 ⟩ ⊤ t ∙ ( ○ b ∙ equalizer (Ker t (Poly.f q) )) ≈⟨ assoc ⟩ - (⊤ t ∙ ○ b) ∙ equalizer (Ker t (Poly.f q) ) ∎ where - qtop : Hom A (equalizer-c kq) (equalizer-c kp) - qtop = ek (isEqualizer kp) (equalizer kq) eeq - epq : A [ equalizer kp ∙ - ek (isEqualizer kp) (equalizer (Ker t (Poly.f q ))) eeq - ≈ equalizer (Ker t (Poly.f q )) ] - epq = ek=h (isEqualizer kp) - eep : A [ A [ Poly.f q o equalizer kp ] ≈ A [ A [ ⊤ t o ○ b ] o equalizer kp ] ] - eep = begin - Poly.f q o equalizer kp ≈⟨ p<q _ ( begin - Poly.f p ∙ equalizer kp ≈⟨ fp ⟩ - ( ⊤ t ∙ ○ b ) ∙ equalizer kp ≈↑⟨ assoc ⟩ - ⊤ t ∙ ( ○ b ∙ equalizer kp) ≈⟨ cdr e2 ⟩ - ⊤ t ∙ ○ (equalizer-c kp) ∎ ) ⟩ - ⊤ t ∙ ○ (equalizer-c kp) ≈↑⟨ cdr e2 ⟩ - ⊤ t ∙ ( ○ b ∙ equalizer kp ) ≈⟨ assoc ⟩ - (⊤ t ∙ ○ b) ∙ equalizer kp ∎ where - ptoq : Hom A (equalizer-c kp) (equalizer-c kq) - ptoq = ek (isEqualizer kq) (equalizer kp) eep - qq=1 : A [ A [ qtop o ptoq ] ≈ id1 A (equalizer-c kp) ] - qq=1 = begin - qtop o ptoq ≈↑⟨ uniqueness (isEqualizer kp) (begin - equalizer kp ∙ (qtop ∙ ptoq ) ≈⟨ assoc ⟩ - (equalizer kp ∙ qtop ) ∙ ptoq ≈⟨ car (ek=h (isEqualizer kp)) ⟩ - equalizer kq ∙ ptoq ≈⟨ ek=h (isEqualizer kq) ⟩ - equalizer kp ∎ ) ⟩ - ek (isEqualizer kp) (equalizer kp) (fe=ge (isEqualizer kp)) ≈⟨ uniqueness (isEqualizer kp) idR ⟩ - id1 A _ ∎ where - pp=1 : A [ A [ ptoq o qtop ] ≈ id1 A (equalizer-c kq) ] - pp=1 = begin - ptoq o qtop ≈↑⟨ uniqueness (isEqualizer kq) (begin - equalizer kq ∙ (ptoq ∙ qtop ) ≈⟨ assoc ⟩ - (equalizer kq ∙ ptoq ) ∙ qtop ≈⟨ car (ek=h (isEqualizer kq)) ⟩ - equalizer kp ∙ qtop ≈⟨ ek=h (isEqualizer kp) ⟩ - equalizer kq ∎ ) ⟩ - ek (isEqualizer kq) (equalizer kq) (fe=ge (isEqualizer kq)) ≈⟨ uniqueness (isEqualizer kq) idR ⟩ - id1 A _ ∎ where - pqiso : Iso A (equalizer-c kp) (equalizer-c kq) - pqiso = record { ≅→ = ptoq ; ≅← = qtop ; iso→ = qq=1 ; iso← = pp=1 } + (⊤ t ∙ ○ b) ∙ equalizer (Ker t (Poly.f q) ) ∎ + qtop : (p q : Poly a (Topos.Ω t) b ) → q ⊢ p → Hom A (equalizer-c (Ker t ( Poly.f q ))) (equalizer-c (Ker t ( Poly.f p ))) + qtop p q q<p = ek (isEqualizer (Ker t ( Poly.f p))) (equalizer (Ker t ( Poly.f q))) (ee p q q<p) + qq=1 : (p q : Poly a (Topos.Ω t) b ) → (q<p : q ⊢ p ) → (p<q : p ⊢ q) → A [ A [ qtop p q q<p o qtop q p p<q ] ≈ id1 A (equalizer-c (Ker t ( Poly.f p ))) ] + qq=1 p q q<p p<q = begin + qtop p q q<p o qtop q p p<q ≈↑⟨ uniqueness (isEqualizer (Ker t ( Poly.f p ))) (begin + equalizer (kp p) ∙ (qtop p q q<p ∙ qtop q p p<q ) ≈⟨ assoc ⟩ + (equalizer (kp p) ∙ qtop p q q<p ) ∙ qtop q p p<q ≈⟨ car (ek=h (isEqualizer (kp p))) ⟩ + equalizer (kp q) ∙ qtop q p p<q ≈⟨ ek=h (isEqualizer (kp q)) ⟩ + equalizer (kp p) ∎ ) ⟩ + ek (isEqualizer (kp p)) (equalizer (kp p)) (fe=ge (isEqualizer (kp p))) ≈⟨ uniqueness (isEqualizer (kp p)) idR ⟩ + id1 A _ ∎ + pqiso : Iso A (equalizer-c (kp p)) (equalizer-c (kp q)) + pqiso = record { ≅← = qtop p q q<p ; ≅→ = qtop q p p<q ; iso→ = qq=1 p q q<p p<q ; iso← = qq=1 q p p<q q<p } tt : (q : Poly a (Topos.Ω t) b ) → A [ char t (equalizer (Ker t (Poly.f q))) (eMonic A (Ker t (Poly.f q))) ≈ Poly.f q ] tt q = IsTopos.char-uniqueness (Topos.isTopos t) {b} {a} @@ -185,9 +157,6 @@ --- Poly.f p ∙ h ≈ ⊤ ∙ ○ c --- Poly.f q ∙ h ≈ ⊤ ∙ ○ c - il01 : {a b : Obj A} (p : Poly a Ω b ) (q : Poly a Ω b ) - → p ⊢ q → q ⊢ p → A [ Poly.f p ≈ Poly.f q ] - il01 {a} p q p<q q<p = {!!} il011 : {a b : Obj A} (p q q1 : Poly a Ω b ) → q ⊢ p → q , q1 ⊢ p