Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 90:38d139b5edac
def ord conversion
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 05 Jun 2019 14:35:32 +0900 |
parents | dccc9e2d1804 |
children | b4742cf4ef97 |
files | ordinal-definable.agda |
diffstat | 1 files changed, 17 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/ordinal-definable.agda Wed Jun 05 09:47:19 2019 +0900 +++ b/ordinal-definable.agda Wed Jun 05 14:35:32 2019 +0900 @@ -33,7 +33,7 @@ _∋_ : { n : Level } → ( a x : OD {n} ) → Set n _∋_ {n} a x = def a ( od→ord x ) -_c<_ : { n : Level } → ( a x : OD {n} ) → Set n +_c<_ : { n : Level } → ( x a : OD {n} ) → Set n x c< a = a ∋ x record _==_ {n : Level} ( a b : OD {n} ) : Set n where @@ -136,6 +136,7 @@ o≡→== : {n : Level} → { x y : Ordinal {n} } → x ≡ y → ord→od x == ord→od y o≡→== {n} {x} {.x} refl = eq-refl + =→¬< : {x : Nat } → ¬ ( x < x ) =→¬< {Zero} () =→¬< {Suc x} (s≤s lt) = =→¬< lt @@ -166,6 +167,17 @@ ==→o≡ {n} {x} {y} eq | tri≈ ¬a b ¬c = b ==→o≡ {n} {x} {y} eq | tri> ¬a ¬b c = ⊥-elim ( o<→o> (eq-sym eq) (o<-subst c (sym ord-iso) (sym ord-iso ))) +≡-def : {n : Level} → { x : Ordinal {suc n} } → x ≡ od→ord (record { def = λ z → z o< x } ) +≡-def {n} {x} = ==→o≡ {n} (subst (λ k → ord→od x == k ) (sym oiso) lemma ) where + lemma : ord→od x == record { def = λ z → z o< x } + eq→ lemma {w} z = subst₂ (λ k j → k o< j ) diso diso t where + t : (od→ord ( ord→od w)) o< (od→ord (ord→od x)) + t = c<→o< {suc n} {ord→od w} {ord→od x} (def-subst {suc n} {_} {_} {ord→od x} {_} z refl (sym diso)) + eq← lemma {w} z = def-subst {suc n} {_} {_} {ord→od x} {w} ( o<→c< {suc n} {_} {_} z ) refl diso + +od≡-def : {n : Level} → { x : Ordinal {suc n} } → ord→od x ≡ record { def = λ z → z o< x } +od≡-def {n} {x} = subst (λ k → ord→od x ≡ k ) oiso (cong ( λ k → ord→od k ) (≡-def {n} {x} )) + ¬x<0 : {n : Level} → { x : Ordinal {suc n} } → ¬ ( x o< o∅ {suc n} ) ¬x<0 {n} {x} (case1 ()) ¬x<0 {n} {x} (case2 ()) @@ -352,6 +364,10 @@ xxx-union {x} = cong ( λ k → record { def = λ z → z o< k } ) lemma where lemma : {x : OD {suc n}} → omax (od→ord x) (od→ord (x , x)) ≡ osuc (osuc (od→ord x)) lemma {x} = trans ( sym ( omax< (od→ord x) (od→ord (x , x)) {!!} ) ) ( cong ( λ k → osuc k ) {!!} ) + uxxx-union : {x : OD {suc n}} → Union (x , (x , x)) ≡ record { def = λ z → osuc z o< osuc (osuc (od→ord x)) } + uxxx-union {x} = cong ( λ k → record { def = λ z → osuc z o< k } ) lemma where + lemma : od→ord (x , (x , x)) ≡ osuc (osuc (od→ord x)) + lemma = {!!} infinite : OD {suc n} infinite = ord→od ( record { lv = Suc Zero ; ord = Φ 1 } ) infinity∅ : ord→od ( record { lv = Suc Zero ; ord = Φ 1 } ) ∋ od∅ {suc n}