comparison Ordinals.agda @ 342:b1ccdbb14c92

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 13 Jul 2020 13:55:46 +0900
parents 27d2933c4bd7
children 06f10815d0b3
comparison
equal deleted inserted replaced
341:27d2933c4bd7 342:b1ccdbb14c92
226 next< {x} {y} {z} x<nz y<nx | tri≈ ¬a b ¬c = ⊥-elim ((proj2 (proj2 next-limit)) (next z) x<nz (subst (λ k → k o< next x) b y<nx) 226 next< {x} {y} {z} x<nz y<nx | tri≈ ¬a b ¬c = ⊥-elim ((proj2 (proj2 next-limit)) (next z) x<nz (subst (λ k → k o< next x) b y<nx)
227 (λ w nz=ow → o<¬≡ nz=ow (subst₂ (λ j k → j o< k ) (sym nz=ow) nz=ow (proj1 (proj2 next-limit) w (subst (λ k → w o< k ) (sym nz=ow) <-osuc) )))) 227 (λ w nz=ow → o<¬≡ nz=ow (subst₂ (λ j k → j o< k ) (sym nz=ow) nz=ow (proj1 (proj2 next-limit) w (subst (λ k → w o< k ) (sym nz=ow) <-osuc) ))))
228 next< {x} {y} {z} x<nz y<nx | tri> ¬a ¬b c = ⊥-elim (proj2 (proj2 next-limit) (next z) x<nz (ordtrans c y<nx ) 228 next< {x} {y} {z} x<nz y<nx | tri> ¬a ¬b c = ⊥-elim (proj2 (proj2 next-limit) (next z) x<nz (ordtrans c y<nx )
229 (λ w nz=ow → o<¬≡ (sym nz=ow) (proj1 (proj2 next-limit) _ (subst (λ k → w o< k ) (sym nz=ow) <-osuc )))) 229 (λ w nz=ow → o<¬≡ (sym nz=ow) (proj1 (proj2 next-limit) _ (subst (λ k → w o< k ) (sym nz=ow) <-osuc ))))
230 230
231 osuc< : {x y : Ordinal} → osuc x ≡ y → x o< y
232 osuc< {x} {y} refl = <-osuc
233
231 nexto=n : {x y : Ordinal} → x o< next (osuc y) → x o< next y 234 nexto=n : {x y : Ordinal} → x o< next (osuc y) → x o< next y
232 nexto=n {x} {y} x<noy = next< (proj1 (proj2 next-limit) _ (proj1 next-limit)) x<noy 235 nexto=n {x} {y} x<noy = next< (proj1 (proj2 next-limit) _ (proj1 next-limit)) x<noy
233 236
234 nexto≡ : {x : Ordinal} → next x ≡ next (osuc x) 237 nexto≡ : {x : Ordinal} → next x ≡ next (osuc x)
235 nexto≡ {x} with trio< (next x) (next (osuc x) ) 238 nexto≡ {x} with trio< (next x) (next (osuc x) )
236 nexto≡ {x} | tri< a ¬b ¬c = {!!} 239 -- next x o< next (osuc x ) -> osuc x o< next x o< next (osuc x) -> next x ≡ osuc z -> z o o< next x -> osuc z o< next x -> next x o< next x
240 nexto≡ {x} | tri< a ¬b ¬c = ⊥-elim ((proj2 (proj2 next-limit)) _ (proj1 (proj2 next-limit) _ (proj1 next-limit) ) a
241 (λ z eq → o<¬≡ (sym eq) ((proj1 (proj2 next-limit)) _ (osuc< (sym eq)))))
237 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) ...
238 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
239 (λ z eq → o<¬≡ (sym eq) (proj1 (proj2 next-limit) _ (ordtrans <-osuc (subst (λ k → k o< next (osuc x)) eq {!!} ))))) 245 (λ z eq → o<¬≡ (sym eq) ((proj1 (proj2 next-limit)) _ (osuc< (sym eq)))))
240 246
241 record OrdinalSubset (maxordinal : Ordinal) : Set (suc n) where 247 record OrdinalSubset (maxordinal : Ordinal) : Set (suc n) where
242 field 248 field
243 os→ : (x : Ordinal) → x o< maxordinal → Ordinal 249 os→ : (x : Ordinal) → x o< maxordinal → Ordinal
244 os← : Ordinal → Ordinal 250 os← : Ordinal → Ordinal