comparison ordinal.agda @ 276:6f10c47e4e7a

separate choice fix sup-o
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 09 May 2020 09:02:52 +0900
parents 2169d948159b
children fbabb20f222e
comparison
equal deleted inserted replaced
275:455792eaa611 276:6f10c47e4e7a
231 caseΦ lx prev = lt (ordinal lx (Φ lx) ) prev 231 caseΦ lx prev = lt (ordinal lx (Φ lx) ) prev
232 caseOSuc : (lx : Nat) (x₁ : OrdinalD lx) → ((y : Ordinal) → y o< ordinal lx (OSuc lx x₁) → ψ y) → 232 caseOSuc : (lx : Nat) (x₁ : OrdinalD lx) → ((y : Ordinal) → y o< ordinal lx (OSuc lx x₁) → ψ y) →
233 ψ (record { lv = lx ; ord = OSuc lx x₁ }) 233 ψ (record { lv = lx ; ord = OSuc lx x₁ })
234 caseOSuc lx ox prev = lt (ordinal lx (OSuc lx ox)) prev 234 caseOSuc lx ox prev = lt (ordinal lx (OSuc lx ox)) prev
235 235
236 module C-Ordinal-with-choice {n : Level} where
237
238 import OD
239 -- open inOrdinal C-Ordinal
240 open OD (C-Ordinal {n})
241 open OD.OD
242 open _⊆_
243
244 o<→c< : {x y : Ordinal } → x o< y → Ord x ⊆ Ord y
245 o<→c< lt = record { incl = λ lt1 → ordtrans lt1 lt }
246
247 ⊆→o< : {x y : Ordinal } → Ord x ⊆ Ord y → x o< osuc y
248 ⊆→o< {x} {y} lt with trio< x y
249 ⊆→o< {x} {y} lt | tri< a ¬b ¬c = ordtrans a <-osuc
250 ⊆→o< {x} {y} lt | tri≈ ¬a b ¬c = subst ( λ k → k o< osuc y) (sym b) <-osuc
251 ⊆→o< {x} {y} lt | tri> ¬a ¬b c with incl lt (o<-subst c (sym diso) refl )
252 ... | ttt = ⊥-elim ( o<¬≡ refl (o<-subst ttt diso refl ))
253
254 -- ZFSubset : (A x : OD ) → OD
255 -- ZFSubset A x = record { def = λ y → def A y ∧ def x y }
256
257 -- Def : (A : OD ) → OD
258 -- Def A = Ord ( sup-o ( λ x → od→ord ( ZFSubset A (ord→od x )) ) )
259
260 Ord-lemma : (a : Ordinal) → ord→od a ⊆ Ord a
261 Ord-lemma a = record { incl = λ lt → o<-subst (c<→o< lt ) refl diso }
262
263 ⊆-trans : {a b c x : OD} → a ⊆ b → b ⊆ c → a ⊆ c
264 ⊆-trans a⊆b b⊆c = record { incl = λ a∋x → incl b⊆c (incl a⊆b a∋x) }
265
266 _∩_ = IsZF._∩_ isZF
267
268 --
269 -- ord-power-lemma : {a : Ordinal} → Power (Ord a) == Def (Ord a)
270 -- ord-power-lemma {a} = record { eq→ = left ; eq← = right } where
271 -- left : {x : Ordinal} → def (Power (Ord a)) x → def (Def (Ord a)) x
272 -- left {x} lt = lemma1 where
273 -- lemma : od→ord ((Ord a) ∩ (ord→od x)) o< sup-o ( λ y → od→ord ((Ord a) ∩ (ord→od y)))
274 -- lemma = sup-o< { λ y → od→ord ((Ord a) ∩ (ord→od y))} {x}
275 -- lemma1 : x o< sup-o ( λ x → od→ord ( ZFSubset (Ord a) (ord→od x )))
276 -- lemma1 = {!!}
277 -- right : {x : Ordinal } → def (Def (Ord a)) x → def (Power (Ord a)) x
278 -- right {x} lt = def-subst {_} {_} {Power (Ord a)} {x} (IsZF.power← isZF (Ord a) (ord→od x) {!!}) refl diso
279 --
280 -- uncountable : (a y : Ordinal) → Ord (osuc a) ∋ ZFSubset (Ord a) (ord→od y)
281 -- uncountable a y = ⊆→o< lemma where
282 -- lemma-a : (x : OD ) → _⊆_ (ZFSubset (Ord a) (ord→od y)) (Ord a) {x}
283 -- lemma-a x lt = proj1 lt
284 -- lemma : (x : OD ) → _⊆_ (Ord ( od→ord (ZFSubset (Ord a) (ord→od y)))) (Ord a) {x}
285 -- lemma x = {!!}
286 --
287 -- continuum-hyphotheis : (a : Ordinal) → (x : OD) → _⊆_ (Power (Ord a)) (Ord (osuc a)) {x}
288 -- continuum-hyphotheis a x = lemma2 where
289 -- lemma1 : sup-o (λ x₁ → od→ord (ZFSubset (Ord a) (ord→od x₁))) o< osuc a
290 -- lemma1 = {!!}
291 -- lemma : _⊆_ (Def (Ord a)) (Ord (osuc a)) {x}
292 -- lemma = o<→c< lemma1
293 -- lemma2 : _⊆_ (Power (Ord a)) (Ord (osuc a)) {x}
294 -- lemma2 = subst ( λ k → _⊆_ k (Ord (osuc a)) {x} ) (sym (==→o≡ ord-power-lemma)) lemma