Mercurial > hg > Members > kono > Proof > ZF-in-agda
comparison Ordinals.agda @ 347:cfecd05a4061
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 13 Jul 2020 22:40:37 +0900 |
parents | 06f10815d0b3 |
children | 08d94fec239c |
comparison
equal
deleted
inserted
replaced
346:06f10815d0b3 | 347:cfecd05a4061 |
---|---|
242 nexto≡ {x} | tri≈ ¬a b ¬c = b | 242 nexto≡ {x} | tri≈ ¬a b ¬c = b |
243 -- next (osuc x) o< next x -> osuc x o< next (osuc x) o< next x -> next (osuc x) ≡ osuc z -> z o o< next (osuc x) ... | 243 -- next (osuc x) o< next x -> osuc x o< next (osuc x) o< next x -> next (osuc x) ≡ osuc z -> z o o< next (osuc x) ... |
244 nexto≡ {x} | tri> ¬a ¬b c = ⊥-elim ((proj2 (proj2 next-limit)) _ (ordtrans <-osuc (proj1 next-limit)) c | 244 nexto≡ {x} | tri> ¬a ¬b c = ⊥-elim ((proj2 (proj2 next-limit)) _ (ordtrans <-osuc (proj1 next-limit)) c |
245 (λ z eq → o<¬≡ (sym eq) ((proj1 (proj2 next-limit)) _ (osuc< (sym eq))))) | 245 (λ z eq → o<¬≡ (sym eq) ((proj1 (proj2 next-limit)) _ (osuc< (sym eq))))) |
246 | 246 |
247 record prev-choiced ( x : Ordinal ) : Set (suc n) where | |
248 field | |
249 prev : Ordinal | |
250 is-prev : osuc prev ≡ x | |
247 not-limit-p : ( x : Ordinal ) → Dec ( ¬ ((y : Ordinal) → ¬ (x ≡ osuc y) )) | 251 not-limit-p : ( x : Ordinal ) → Dec ( ¬ ((y : Ordinal) → ¬ (x ≡ osuc y) )) |
248 not-limit-p x = TransFinite {λ x → Dec ( ¬ ((y : Ordinal) → ¬ (x ≡ osuc y)))} ind x where | 252 not-limit-p x = {!!} where |
249 ind : (x : Ordinal) → ((y : Ordinal) → y o< x → Dec (¬ ((y₁ : Ordinal) → ¬ y ≡ osuc y₁))) → Dec (¬ ((y : Ordinal) → ¬ x ≡ osuc y)) | 253 ψ : ( ox : Ordinal ) → Set (suc n) |
250 ind x prev with trio< o∅ x | 254 ψ ox = (( y : Ordinal ) → y o< ox → ( ¬ (osuc y ≡ x) )) ∨ prev-choiced x |
251 ind x prev | tri< a ¬b ¬c = ? | 255 ind : (ox : Ordinal) → ((y : Ordinal) → y o< ox → ψ y) → ψ ox |
252 ind x prev | tri≈ ¬a refl ¬c = no (λ not → not lemma) where | 256 ind ox prev with trio< (osuc ox) x |
253 lemma : (y : Ordinal) → o∅ ≡ osuc y → ⊥ | 257 ind ox prev | tri≈ ¬a b ¬c = case2 (record { prev = ox ; is-prev = b }) |
254 lemma y refl with trio< o∅ y | 258 ind ox prev | tri< a ¬b ¬c = case1 (λ y y<ox oy=x → o<> (subst (λ k → k o< osuc ox) oy=x (osucc y<ox )) a ) |
255 lemma y refl | tri< a ¬b ¬c = o<> a <-osuc | 259 -- osuc y = x < osuc ox, y < ox |
256 lemma y refl | tri≈ ¬a b ¬c = o<¬≡ (sym b) <-osuc | 260 ind ox prev | tri> ¬a ¬b c = {!!} |
257 lemma y refl | tri> ¬a ¬b c = ¬x<0 c | 261 find : (y : Ordinal) → ψ y |
258 ind x prev | tri> ¬a ¬b c = ⊥-elim ( ¬x<0 c ) | 262 find ox = TransFinite1 {ψ} ind ox |
259 | 263 |
260 record OrdinalSubset (maxordinal : Ordinal) : Set (suc n) where | 264 record OrdinalSubset (maxordinal : Ordinal) : Set (suc n) where |
261 field | 265 field |
262 os→ : (x : Ordinal) → x o< maxordinal → Ordinal | 266 os→ : (x : Ordinal) → x o< maxordinal → Ordinal |
263 os← : Ordinal → Ordinal | 267 os← : Ordinal → Ordinal |