Mercurial > hg > Members > kono > Proof > category
changeset 533:c3dcea3a92a7
use sequ
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 29 Mar 2017 11:59:59 +0900 |
parents | d5d7163f2a1d |
children | a90889cc2988 |
files | SetsCompleteness.agda |
diffstat | 1 files changed, 16 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/SetsCompleteness.agda Wed Mar 29 09:30:22 2017 +0900 +++ b/SetsCompleteness.agda Wed Mar 29 11:59:59 2017 +0900 @@ -102,6 +102,10 @@ equ : { c₂ : Level} {a b : Obj (Sets {c₂}) } { f g : Hom (Sets {c₂}) a b } → ( sequ a b f g ) → a equ (elem x eq) = x +fe=ge0 : { c₂ : Level} {a b : Obj (Sets {c₂}) } { f g : Hom (Sets {c₂}) a b } → + (x : sequ a b f g) → (Sets [ f o (λ e → equ e) ]) x ≡ (Sets [ g o (λ e → equ e) ]) x +fe=ge0 (elem x eq ) = eq + open sequ -- equalizer-c = sequ a b f g @@ -114,8 +118,6 @@ ; ek=h = λ {d} {h} {eq} → ek=h {d} {h} {eq} ; uniqueness = uniqueness } where - fe=ge0 : (x : sequ a b f g) → (Sets [ f o (λ e → equ e) ]) x ≡ (Sets [ g o (λ e → equ e) ]) x - fe=ge0 (elem x eq ) = eq fe=ge : Sets [ Sets [ f o (λ e → equ e ) ] ≈ Sets [ g o (λ e → equ e ) ] ] fe=ge = extensionality Sets (fe=ge0 ) k : {d : Obj Sets} (h : Hom Sets d a) → Sets [ Sets [ f o h ] ≈ Sets [ g o h ] ] → Hom Sets d (sequ a b f g) @@ -178,43 +180,36 @@ open NTrans open IsEqualizer +SetsLimit-c : { c₁ c₂ ℓ : Level} { C : Category c₁ c₂ ℓ } { I : Set c₁ } ( s : Small C I ) ( Γ : Functor C (Sets {c₁} ) ) → Obj Sets +SetsLimit-c {_} {_} {_} {C} {I} s Γ = sequ (slim (ΓObj s Γ) (ΓMap s Γ)) (iproduct I (λ j → ΓObj s Γ j) ) {!!} {!!} + SetsNat : { c₁ c₂ ℓ : Level} ( C : Category c₁ c₂ ℓ ) ( I : Set c₁ ) ( s : Small C I ) ( Γ : Functor C (Sets {c₁} ) ) - → NTrans C Sets (K Sets C (slim (ΓObj s Γ) (ΓMap s Γ)) ) Γ + → NTrans C Sets (K Sets C ( SetsLimit-c s Γ ) ) Γ SetsNat C I s Γ = record { TMap = λ i → Sets [ proj i o e ] ; isNTrans = record { commute = comm1 } } where - e : Hom Sets (slim (ΓObj s Γ) (ΓMap s Γ)) (iproduct I (λ j → ΓObj s Γ j)) - e = λ x → record { pi1 = λ j → slim-obj x j } + e : Hom Sets ( SetsLimit-c s Γ ) (iproduct I (λ j → ΓObj s Γ j)) + e = λ x → record { pi1 = λ j → slim-obj (equ x) j } iid : {i : Obj C } → Hom Sets (FObj Γ (small← s (small→ s i))) (FObj Γ i) iid {i} = FMap Γ ( small-iso s ) proj : (i : Obj C ) → ( prod : iproduct I (λ j → ΓObj s Γ j )) → FObj Γ i proj i prod = iid ( pi1 prod ( small→ s i ) ) equa : {b : Obj Sets } ( e : slim (ΓObj s Γ) (ΓMap s Γ) → iproduct I (λ j → ΓObj s Γ j) ) → ( f g : Hom Sets (iproduct I (λ j → ΓObj s Γ j)) b ) → IsEqualizer Sets e f g - equa e f g = {!!} -- SetsIsEqualizer ? ? ? ? - comm2 : {a b : Obj C} {f : Hom C a b} → ( x : slim (ΓObj s Γ) (ΓMap s Γ) ) → (Sets [ FMap Γ f o Sets [ proj a o e ] ]) x ≡ (Sets [ proj b o e ]) x - comm2 {a} {b} {f} x = begin - (FMap Γ f ) ( ( proj a o e ) x ) - ≡⟨⟩ - (FMap Γ f ) ( iid ( slim-obj x (small→ s a) )) - ≡⟨ {!!} ⟩ - iid ( slim-obj x ( small→ s b ) ) - ∎ where - open import Relation.Binary.PropositionalEquality - open ≡-Reasoning + equa e f g = {!!} -- SetsIsEqualizer ? ? ? ? comm1 : {a b : Obj C} {f : Hom C a b} → Sets [ Sets [ FMap Γ f o Sets [ proj a o e ] ] ≈ - Sets [ Sets [ proj b o e ] o FMap (K Sets C (slim (ΓObj s Γ) (ΓMap s Γ))) f ] ] + Sets [ Sets [ proj b o e ] o FMap (K Sets C ( SetsLimit-c s Γ ) ) f ] ] comm1 {a} {b} {f} = begin Sets [ FMap Γ f o Sets [ proj a o e ] ] ≈⟨ assoc ⟩ Sets [ Sets [ FMap Γ f o proj a ] o e ] - ≈⟨ fe=ge (equa e ( Sets [ FMap Γ f o proj a ] ) (proj b )) ⟩ + ≈⟨ fe=ge0 {!!} ⟩ Sets [ proj b o e ] ≈↑⟨ idR ⟩ - Sets [ Sets [ proj b o e ] o id1 Sets (slim (ΓObj s Γ) (ΓMap s Γ)) ] + Sets [ Sets [ proj b o e ] o id1 Sets ( SetsLimit-c s Γ) ] ≈⟨⟩ - Sets [ Sets [ proj b o e ] o FMap (K Sets C (slim (ΓObj s Γ) (ΓMap s Γ))) f ] + Sets [ Sets [ proj b o e ] o FMap (K Sets C (SetsLimit-c s Γ)) f ] ∎ where open ≈-Reasoning Sets @@ -223,7 +218,7 @@ → Limit Sets C Γ SetsLimit { c₂} C I s Γ = record { a0 = slim (ΓObj s Γ) (ΓMap s Γ) - ; t0 = SetsNat C I s Γ + ; t0 = {!!} -- SetsNat C I s Γ ; isLimit = record { limit = limit1 ; t0f=t = {!!}