Mercurial > hg > Members > kono > Proof > category
changeset 1062:d35b395370ff
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 24 Apr 2021 15:15:17 +0900 |
parents | 805a4113ad74 |
children | f1f625c3866c |
files | src/Polynominal.agda src/ToposIL.agda |
diffstat | 2 files changed, 24 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/Polynominal.agda Wed Apr 21 10:22:37 2021 +0900 +++ b/src/Polynominal.agda Sat Apr 24 15:15:17 2021 +0900 @@ -35,7 +35,7 @@ iii : {b c' c'' : Obj A } { f : Hom A b c' } { g : Hom A b c'' } (ψ : φ x f ) (χ : φ x g ) → φ x {b} {c' ∧ c''} < f , g > iv : {b c d : Obj A } { f : Hom A d c } { g : Hom A b d } (ψ : φ x f ) (χ : φ x g ) → φ x ( f ∙ g ) v : {b c' c'' : Obj A } { f : Hom A (b ∧ c') c'' } (ψ : φ x f ) → φ x {b} {c'' <= c'} ( f * ) - φ-cong : {b c : Obj A} {k k' : Hom A b c } → A [ k ≈ k' ] → φ x k → φ x k' + φ-cong : {b c : Obj A} {k k' : Hom A b c } → A [ k ≈ k' ] → φ x k → φ x k' -- may be we don't need this α : {a b c : Obj A } → Hom A (( a ∧ b ) ∧ c ) ( a ∧ ( b ∧ c ) ) α = < π ∙ π , < π' ∙ π , π' > > @@ -74,12 +74,15 @@ -- we have (x y : Hom A 1 a) → x ≡ y (minimul equivalende assumption). this makes all k x ii case valid -- all other cases, arguments are reduced to f ∙ π' . postulate - x-singleon : {a b c : Obj A} → (f : Poly a c b ) → (x y : Hom A b a) → x ≡ y -- minimul equivalende assumption + x-singleon : {a b c : Obj A} → (f : Poly a c b ) → (x y : Hom A b a) → x ≡ y -- minimul equivalende assumption (variables are the same except its name) k-cong : {a b c : Obj A} → (f g : Poly a c b ) → A [ Poly.f f ≈ Poly.f g ] → A [ k (Poly.x f) (Poly.phi f) ≈ k (Poly.x g) (Poly.phi g) ] + -- we may prove k-cong from x-singleon -- k-cong' : {a b c : Obj A} → (f g : Poly a c b ) → A [ Poly.f f ≈ Poly.f g ] → A [ k (Poly.x f) (Poly.phi f) ≈ k (Poly.x g) (Poly.phi g) ] -- k-cong' {a} {b} {c} f g f=g with Poly.phi f | Poly.phi g + -- since we have A[x] now, we can proceed the proof on p.64 in some possible future + -- -- Proposition 6.1 -- @@ -96,6 +99,7 @@ uniq : ( f : Hom A (a ∧ b) c) → A [ f ∙ < x ∙ ○ b , id1 A b > ≈ Poly.f p ] → A [ f ≈ fun ] + -- ε form -- f ≡ λ (x ∈ a) → φ x , ∃ (f : b <= a) → f ∙ x ≈ φ x record Fc {a b : Obj A } ( φ : Poly a b 1 ) : Set ( suc c₁ ⊔ suc c₂ ⊔ suc ℓ ) where @@ -108,6 +112,7 @@ isUnique : (f : Hom A 1 (b <= a) ) → A [ A [ ε o < f , Poly.x φ > ] ≈ Poly.f φ ] → A [ g ≈ f ] + -- we should open IsCCC isCCC π-cong = IsCCC.π-cong isCCC *-cong = IsCCC.*-cong isCCC distr-* = IsCCC.distr-* isCCC @@ -198,7 +203,7 @@ -- -- fun ∙ < x ∙ ○ b , id1 A b > ≈ Poly.f p -- (ε ∙ < g ∙ π , π' >) ∙ < x ∙ ○ b , id1 A b > ≈ Poly.f p - -- + -- could be simpler FC : {a b : Obj A} → (φ : Poly a b 1 ) → Fc {a} {b} φ FC {a} {b} φ = record { sl = A [ k (Poly.x φ ) (Poly.phi φ) o < id1 A _ , ○ a > ]
--- a/src/ToposIL.agda Wed Apr 21 10:22:37 2021 +0900 +++ b/src/ToposIL.agda Sat Apr 24 15:15:17 2021 +0900 @@ -8,7 +8,7 @@ open Topos open Equalizer - open ≈-Reasoning A + -- open ≈-Reasoning A hiding (_∙_) open CCC.CCC c open Functor @@ -27,6 +27,7 @@ -- field -- a : {!!} + record InternalLanguage (Ω : Obj A) (⊤ : Hom A 1 Ω) (P : Obj A → Obj A) : Set ( suc c₁ ⊔ suc c₂ ⊔ suc ℓ ) where field @@ -35,10 +36,10 @@ -- { x ∈ a | φ x } : P a select : {a : Obj A} → ( φ : Poly a Ω 1 ) → Hom A 1 (P a) -- isTL : IsLogic c Ω ⊤ P _==_ _∈_ _|-_ - -- _|-_ : (List (Hom A 1 Ω)) → (p : Hom A 1 Ω ) → Set ℓ - -- [] |- p = A [ p ≈ ⊤ ] - -- (h ∷ t) |- p = {!!} - + _⊢_ : {a : Obj A} (p : Poly a Ω 1 ) (q : Poly a Ω 1 ) → Set ( c₁ ⊔ c₂ ⊔ ℓ ) + _⊢_ {a} p q = {c : Obj A} (h : Hom A c 1 ) → A [ Poly.f p ∙ h ≈ ⊤ ∙ ○ c ] + → A [ Poly.f q ∙ h ≈ ⊤ ∙ ○ c ] + -- ○ b -- b -----------→ 1 -- | | @@ -69,3 +70,13 @@ ; select = λ {a} φ → Fc.g ( fc t φ ) -- ; isTL = {!!} } + + module IL1 (Ω : Obj A) (⊤ : Hom A 1 Ω) (P : Obj A → Obj A) (il : InternalLanguage Ω ⊤ P) where + open InternalLanguage il + il00 : {a : Obj A} (p : Poly a Ω 1 ) → p ⊢ p + il00 {a} p h eq = eq + + 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 = {!!} +