Mercurial > hg > Members > kono > Proof > category
comparison src/CCCSets.agda @ 1021:8a78ddfdaa24
... use LEM for Topos Sets
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 27 Mar 2021 13:17:37 +0900 |
parents | d7e89e26700e |
children | 2f7e4ad86fc6 |
comparison
equal
deleted
inserted
replaced
1020:d7e89e26700e | 1021:8a78ddfdaa24 |
---|---|
123 record Char {c : Level } {a b : Obj (Sets {c})} (m : Hom Sets b a) (mono : Mono Sets m) : Set c where | 123 record Char {c : Level } {a b : Obj (Sets {c})} (m : Hom Sets b a) (mono : Mono Sets m) : Set c where |
124 field | 124 field |
125 cb : b | 125 cb : b |
126 cl : (y : a) → m cb ≡ y | 126 cl : (y : a) → m cb ≡ y |
127 | 127 |
128 topos : {c : Level } → ( {a b : Obj (Sets {c})} (m : Hom Sets b a) (mono : Mono Sets m) → Dec (Char m mono )) → Topos (Sets {c}) sets | 128 data _∨_ {c : Level } (a b : Set c) : Set c where |
129 topos {c} dec = record { | 129 case1 : a → a ∨ b |
130 case2 : b → a ∨ b | |
131 | |
132 record Choice {c : Level } (b : Set c) : Set c where | |
133 field | |
134 choice : ¬ (¬ b ) → b | |
135 | |
136 lem2choice : {c : Level } → {b : Set c} → b ∨ (¬ b) → Choice b | |
137 lem2choice {c} {b} lem with lem | |
138 ... | case1 x = record { choice = λ y → x } | |
139 ... | case2 x = record { choice = λ y → ⊥-elim (y x ) } | |
140 | |
141 topos : {c : Level } → ( (b : Set c) → b ∨ (¬ b)) → Topos (Sets {c}) sets | |
142 topos {c} lem = record { | |
130 Ω = CL {c} | 143 Ω = CL {c} |
131 ; ⊤ = λ _ → c1 ! | 144 ; ⊤ = λ _ → c1 ! |
132 ; Ker = tker | 145 ; Ker = tker |
133 ; char = λ m mono → tchar m mono | 146 ; char = λ m mono → tchar m mono |
134 ; isTopos = record { | 147 ; isTopos = record { |
145 tchar {a} {b} m mono x = c1 ! | 158 tchar {a} {b} m mono x = c1 ! |
146 selem : {a : Obj (Sets {c})} → (x : sequ a CL (λ x₁ → c1 !) (λ _ → c1 ! )) → a | 159 selem : {a : Obj (Sets {c})} → (x : sequ a CL (λ x₁ → c1 !) (λ _ → c1 ! )) → a |
147 selem (elem x eq) = x | 160 selem (elem x eq) = x |
148 k-tker : {a b : Obj Sets} (m : Hom Sets b a) → (mono : Mono Sets m ) → Hom Sets b (b /\ sequ a CL (tchar m mono) (λ _ → c1 ! )) | 161 k-tker : {a b : Obj Sets} (m : Hom Sets b a) → (mono : Mono Sets m ) → Hom Sets b (b /\ sequ a CL (tchar m mono) (λ _ → c1 ! )) |
149 k-tker {a} {b} m mono x = record { fst = x ; snd = elem (m x) refl } | 162 k-tker {a} {b} m mono x = record { fst = x ; snd = elem (m x) refl } |
150 bb : {a b : Obj Sets} (m : Hom Sets b a) → (mono : Mono Sets m ) → Iso Sets b (b /\ sequ a CL (tchar m mono) (λ _ → c1 !)) | 163 kr : {a b : Obj Sets} (m : Hom Sets b a) → (mono : Mono Sets m ) → Hom Sets (b /\ sequ a CL (tchar m mono) (λ _ → c1 ! )) b |
151 bb {a} {b} m mono = record { ≅→ = λ x → record { fst = x ; snd = elem (m x) refl } ; ≅← = proj₁ ; iso→ = extensionality Sets ( λ x → refl ) | 164 kr {a} {b} m mono = proj₁ |
152 ; iso← = {!!} } where | |
153 bb1 : (x : b /\ sequ a CL (tchar m mono) (λ _ → c1 !) ) → elem (m (proj₁ x)) refl ≡ proj₂ x | |
154 bb1 (x , elem y eq) = {!!} | |
155 ss : {a b : Obj Sets} (m : Hom Sets b a) → (mono : Mono Sets m ) → Iso Sets (b /\ sequ a CL (tchar m mono) (λ _ → c1 !)) (sequ a CL (tchar m mono) (λ _ → c1 !)) | |
156 ss {a} {b} m mono = record { ≅→ = λ x → elem (m (proj₁ x)) refl ; ≅← = ss1 ; iso→ = extensionality Sets ( λ x → {!!} ) | |
157 ; iso← = extensionality Sets ( λ x → {!!} ) } where | |
158 ss1 : Hom Sets (sequ a CL (tchar m mono) (λ _ → c1 !)) (b /\ sequ a CL (tchar m mono) (λ _ → c1 !)) | |
159 ss1 (elem x eq) = record { fst = {!!} ; snd = elem x eq } | |
160 imequ : {a b : Obj Sets} (m : Hom Sets b a) (mono : Mono Sets m) → IsEqualizer Sets m (tchar m mono) (Sets [ (λ _ → c1 ! ) o CCC.○ sets a ]) | 165 imequ : {a b : Obj Sets} (m : Hom Sets b a) (mono : Mono Sets m) → IsEqualizer Sets m (tchar m mono) (Sets [ (λ _ → c1 ! ) o CCC.○ sets a ]) |
161 imequ {a} {b} m mono = record { | 166 imequ {a} {b} m mono with lem b |
167 ... | case2 n = record { | |
162 fe=ge = extensionality Sets ( λ x → refl ) | 168 fe=ge = extensionality Sets ( λ x → refl ) |
163 ; k = {!!} -- λ h eq y → proj₁ (k-tker {!!} {!!} {!!} ) | 169 ; k = λ h eq y → ? |
170 ; ek=h = {!!} | |
171 ; uniqueness = {!!} | |
172 } | |
173 ... | case1 x = record { | |
174 fe=ge = extensionality Sets ( λ x → refl ) | |
175 ; k = λ h eq y → proj₁ (k-tker m mono x ) | |
164 ; ek=h = {!!} | 176 ; ek=h = {!!} |
165 ; uniqueness = {!!} | 177 ; uniqueness = {!!} |
166 } | 178 } |
167 uniq : {a : Obj (Sets {c})} {b : Obj Sets} (h : Hom Sets a CL) (m : Hom Sets b a) (mono : Mono Sets m) (x : a) → c1 ! ≡ h x | 179 uniq : {a : Obj (Sets {c})} {b : Obj Sets} (h : Hom Sets a CL) (m : Hom Sets b a) (mono : Mono Sets m) (x : a) → c1 ! ≡ h x |
168 uniq {a} {b} h m mono x with h x | 180 uniq {a} {b} h m mono x with h x |