annotate src/ToposEx.agda @ 963:50d8750d32c0

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 23 Feb 2021 14:11:12 +0900
parents
children 0128a662eb02
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
963
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 module ToposEx where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 open import CCC
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 open import Level
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 open import Category
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 open import cat-utility
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 open import HomReasoning
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 open Topos
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 open Equalizer
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 -- ○ b
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 -- b -----------→ 1
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 -- | |
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 -- m | | ⊤
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 -- ↓ char m ↓
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 -- a -----------→ Ω
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 -- h
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 topos-pullback : {c₁ c₂ ℓ : Level} (A : Category c₁ c₂ ℓ) ( 1 : Obj A) (○ : (a : Obj A ) → Hom A a 1)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 → (e2 : {a : Obj A} → ∀ { f : Hom A a 1 } → A [ f ≈ ○ a ] )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 → (t : Topos A 1 ○ ) → {a : Obj A} → (h : Hom A a (Ω t)) → Pullback A h (⊤ t)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 topos-pullback A 1 ○ e2 t {a} h = record {
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 -- Ker t h : Equalizer A h (A [ ⊤ o (○ a) ])
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 ab = equalizer-c (Ker t h) -- b
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 ; π1 = equalizer (Ker t h) -- m
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 ; π2 = ○ ( equalizer-c (Ker t h) ) -- ○ b
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 ; isPullback = record {
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 commute = comm
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 ; pullback = λ {d} {p1} {p2} eq → IsEqualizer.k (isEqualizer (Ker t h)) p1 (lemma1 p1 p2 eq )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 ; π1p=π1 = {!!}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 ; π2p=π2 = {!!}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 ; uniqueness = {!!}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 }
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 } where
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 open ≈-Reasoning A
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 comm : A [ A [ h o equalizer (Ker t h) ] ≈ A [ ⊤ t o ○ (equalizer-c (Ker t h)) ] ]
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 comm = begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 h o equalizer (Ker t h) ≈⟨ {!!} ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 ⊤ t o ○ (equalizer-c (Ker t h)) ∎
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 lemma1 : {d : Obj A} (p1 : Hom A d a) (p2 : Hom A d 1) (eq : A [ A [ h o p1 ] ≈ A [ ⊤ t o p2 ] ] )
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 → A [ A [ h o p1 ] ≈ A [ A [ ⊤ t o ○ a ] o p1 ] ]
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 lemma1 {d} p1 p2 eq = begin
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 h o p1 ≈⟨ eq ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 ⊤ t o p2 ≈⟨ cdr e2 ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 ⊤ t o (○ d) ≈↑⟨ cdr e2 ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 ⊤ t o ( ○ a o p1 ) ≈⟨ assoc ⟩
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 (⊤ t o ○ a ) o p1 ∎
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
49