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