Mercurial > hg > Members > kono > Proof > category
changeset 1066:f8b0f1b6fe84
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 27 Apr 2021 08:52:39 +0900 |
parents | 5a9f5a4cadaa |
children | be83b28d1dd6 |
files | src/ToposIL.agda |
diffstat | 1 files changed, 26 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ToposIL.agda Tue Apr 27 05:10:29 2021 +0900 +++ b/src/ToposIL.agda Tue Apr 27 08:52:39 2021 +0900 @@ -98,16 +98,39 @@ ; isApply = {!!} ; applyCong = {!!} } - } + } where + open ≈-Reasoning A hiding (_∙_) + _⊢_ : {a : Obj A} (p : Poly a (Topos.Ω t) 1 ) (q : Poly a (Topos.Ω t) 1 ) → Set ( c₁ ⊔ c₂ ⊔ ℓ ) + _⊢_ {a} p q = {c : Obj A} (h : Hom A c 1 ) → A [ Poly.f p ∙ h ≈ (Topos.⊤ t) ∙ ○ c ] + → A [ Poly.f q ∙ h ≈ (Topos.⊤ t) ∙ ○ c ] + tl01 : {a : Obj A} (p : Poly a (Topos.Ω t) 1 ) (q : Poly a (Topos.Ω t) 1 ) + → p ⊢ q → q ⊢ p → A [ Poly.f p ≈ Poly.f q ] + tl01 {a} p q p<q q<p = begin + Poly.f p ≈↑⟨ tt p ⟩ + char t (equalizer (Ker t (Poly.f p))) (mm p) ≈⟨ {!!} ⟩ + (char t (equalizer (Ker t (Poly.f p))) (mm p) ∙ {!!} ) ∙ {!!} ≈⟨ car (IsTopos.char-m=⊤ (Topos.isTopos t) (equalizer (Ker t (Poly.f p))) (mm p) ) ⟩ + (Topos.⊤ t ∙ {!!} ) ∙ {!!} ≈⟨ {!!} ⟩ + Topos.⊤ t ≈⟨ {!!} ⟩ + {!!} ≈⟨ tt q ⟩ + Poly.f q ∎ where + pp : Hom A 1 (Topos.Ω t) + pp = Poly.f q + open import equalizer using ( monic ) + mm : (q : Poly a (Topos.Ω t) 1 ) → Mono A (equalizer (Ker t (Poly.f q))) + mm q = record { isMono = λ f g → monic (Ker t (Poly.f q)) } + tt : (q : Poly a (Topos.Ω t) 1 ) → A [ char t (equalizer (Ker t (Poly.f q))) (mm q) ≈ Poly.f q ] + tt q = IsTopos.char-uniqueness (Topos.isTopos t) {1} (equalizer (Ker t (Poly.f q))) (mm q) - module IL1 (Ω : Obj A) (⊤ : Hom A 1 Ω) (P : Obj A → Obj A) (il : InternalLanguage Ω ⊤ P) where + module IL1 (Ω : Obj A) (⊤ : Hom A 1 Ω) (P : Obj A → Obj A) (il : InternalLanguage Ω ⊤ P) (t : Topos A c) where open InternalLanguage il il00 : {a : Obj A} (p : Poly a Ω 1 ) → p ⊢ p il00 {a} p h eq = eq + --- Poly.f p ∙ h ≈ ⊤ ∙ ○ c + --- Poly.f q ∙ h ≈ ⊤ ∙ ○ c il01 : {a : Obj A} (p : Poly a Ω 1 ) (q : Poly a Ω 1 ) → p ⊢ q → q ⊢ p → A [ Poly.f p ≈ Poly.f q ] - il01 {a} p q p<q q<p = {!!} + il01 {a} p q p<q q<p = {!!} il011 : {a : Obj A} (p q q1 : Poly a Ω 1 ) → q ⊢ p → q , q1 ⊢ p