Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 37:f10ceee99d00
¬ ( y c< x ) → x ≡ od∅
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 23 May 2019 13:48:27 +0900 |
parents | 4d64509067d0 |
children | 20cddbb2fc90 |
files | ordinal-definable.agda zf.agda |
diffstat | 2 files changed, 74 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/ordinal-definable.agda Thu May 23 02:32:02 2019 +0900 +++ b/ordinal-definable.agda Thu May 23 13:48:27 2019 +0900 @@ -53,8 +53,8 @@ ∅1 : {n : Level} → ( x : OD {n} ) → ¬ ( x c< od∅ {n} ) ∅1 {n} x (lift ()) -∅3 : {n : Level} → ( x : Ordinal {n}) → ( ∀(y : Ordinal {n}) → ¬ (y o< x ) ) → x ≡ o∅ {n} -∅3 {n} x = TransFinite {n} c1 c2 c3 x where +∅3 : {n : Level} → { x : Ordinal {n}} → ( ∀(y : Ordinal {n}) → ¬ (y o< x ) ) → x ≡ o∅ {n} +∅3 {n} {x} = TransFinite {n} c1 c2 c3 x where c0 : Nat → Ordinal {n} → Set n c0 lx x = (∀(y : Ordinal {n}) → ¬ (y o< x)) → x ≡ o∅ {n} c1 : ∀ (lx : Nat ) → c0 lx (record { lv = Suc lx ; ord = ℵ lx } ) @@ -77,6 +77,9 @@ ... | t with t (case2 (s< (ℵΦ< {_} {_} {Φ (Suc lx)}))) c3 .(Suc lx) (ℵ lx) d not | t | () +-- find : {n : Level} → ( x : Ordinal {n} ) → o∅ o< x → Ordinal {n} +-- exists : {n : Level} → ( x : Ordinal {n} ) → (0<x : o∅ o< x ) → find x 0<x o< x + def-subst : {n : Level } {Z : OD {n}} {X : Ordinal {n} }{z : OD {n}} {x : Ordinal {n} }→ def Z X → Z ≡ z → X ≡ x → def z x def-subst df refl refl = df @@ -88,6 +91,67 @@ lemma0 : def ( ord→od ( od→ord z )) ( od→ord ( ord→od ( od→ord x ))) → def z (od→ord x) lemma0 dz = def-subst {n} { ord→od ( od→ord z )} { od→ord ( ord→od ( od→ord x))} dz (oiso) (diso) +ominimal : {n : Level} → (x : Ordinal {n} ) → o∅ o< x → Ordinal {n} +ominimal {n} record { lv = Zero ; ord = (Φ .0) } (case1 ()) +ominimal {n} record { lv = Zero ; ord = (Φ .0) } (case2 ()) +ominimal {n} record { lv = Zero ; ord = (OSuc .0 ord) } (case1 ()) +ominimal {n} record { lv = Zero ; ord = (OSuc .0 ord) } (case2 Φ<) = record { lv = Zero ; ord = Φ 0 } +ominimal {n} record { lv = (Suc lv) ; ord = (Φ .(Suc lv)) } (case1 (s≤s x)) = record { lv = lv ; ord = Φ lv } +ominimal {n} record { lv = (Suc lv) ; ord = (Φ .(Suc lv)) } (case2 ()) +ominimal {n} record { lv = (Suc lv) ; ord = (OSuc .(Suc lv) ord) } (case1 (s≤s x)) = record { lv = (Suc lv) ; ord = ord } +ominimal {n} record { lv = (Suc lv) ; ord = (OSuc .(Suc lv) ord) } (case2 ()) +ominimal {n} record { lv = (Suc lv) ; ord = (ℵ .lv) } (case1 (s≤s z≤n)) = record { lv = lv ; ord = Φ lv } +ominimal {n} record { lv = (Suc lv) ; ord = (ℵ .lv) } (case2 ()) + +∅4 : {n : Level} → ( x : OD {n} ) → x ≡ od∅ {n} → od→ord x ≡ o∅ {n} +∅4 {n} x refl = ∅3 lemma1 where + lemma0 : (y : Ordinal {n}) → def ( od∅ {n} ) y → ⊥ + lemma0 y (lift ()) + lemma1 : (y : Ordinal {n}) → y o< od→ord od∅ → ⊥ + lemma1 y y<o = lemma0 y ( def-subst {n} {ord→od (od→ord od∅ )} {od→ord (ord→od y)} (o<→c< y<o) oiso diso ) + +∅5 : {n : Level} → ( x : Ordinal {n} ) → ¬ ( x ≡ o∅ {n} ) → o∅ {n} o< x +∅5 {n} record { lv = Zero ; ord = (Φ .0) } not = ⊥-elim (not refl) +∅5 {n} record { lv = Zero ; ord = (OSuc .0 ord) } not = case2 Φ< +∅5 {n} record { lv = (Suc lv) ; ord = ord } not = case1 (s≤s z≤n) + +postulate extensionality : { n : Level} → Relation.Binary.PropositionalEquality.Extensionality n (suc n) + +∅7 : {n : Level} → { x : OD {n} } → ((z : OD {n}) → ¬ ( z c< x )) → x ≡ od∅ +∅7 {n} {x} not = cong ( λ k → record { def = k } ) lemma2 where + ⊥-eq : ⊥ ≡ ⊥ + ⊥-eq = refl + ⊥-leq : lift {_} {n} ⊥ ≡ lift {_} {n} ⊥ + ⊥-leq = refl + lemma0 : Lift n ⊥ → ⊥ + lemma0 (lift t ) = t + lemma0' : ⊥ → Lift n ⊥ + lemma0' t = lift t + lemma : (y : Ordinal {n}) → ¬ def x y + lemma y t = ⊥-elim ( not (ord→od y) (def-subst {n} {x} {y} t refl (sym diso) ) ) + lemmak : (y : Ordinal {n}) → {m : Level} → ¬ (Lift m (def x y )) + lemmak = {!!} + lemma1 : ( y : Ordinal {n}) → def x y ≡ def od∅ y + lemma1 y with ⊥-leq + lemma1 y | refl = {!!} + lemma2 : def x ≡ def od∅ + lemma2 = extensionality ( λ y → lemma1 y ) + +∅6 : {n : Level } ( x : Ordinal {suc n}) → o∅ o< x → ¬ x ≡ o∅ +∅6 {n} x lt eq with trio< {n} (o∅ {suc n}) x +∅6 {n} x lt refl | tri< a ¬b ¬c = ¬b refl +∅6 {n} x lt refl | tri≈ ¬a b ¬c = ¬a lt +∅6 {n} x lt refl | tri> ¬a ¬b c = ¬b refl + +∅2 : {n : Level} → ( x : OD {n} ) → ¬ ( x ≡ od∅ {n} ) → od∅ {n} c< x +∅2 {n} x not with od→ord x +... | ox = def-subst {n} {ord→od (od→ord x)} {od→ord (ord→od (o∅ {n}))} (o<→c< (∅5 (od→ord x) lemma )) oiso lemma0 where + lemma0 : od→ord (ord→od (o∅ {n})) ≡ od→ord (od∅ {n}) + lemma0 = trans diso (sym ( ∅4 (od∅ {n}) refl) ) + lemma : ¬ (od→ord x) ≡ o∅ + lemma = {!!} + + open Ordinal HOD→ZF : {n : Level} → ZF {suc n} {suc n} @@ -156,12 +220,10 @@ union→ X x y (lift X∋x) (lift x∋y) = lift {!!} where lemma : {z : Ordinal {n} } → def X z → z ≡ od→ord y lemma {z} X∋z = {!!} - minimul : OD {n} → ( OD {n} ∧ OD {n} ) - minimul x = record { proj1 = record { def = {!!} } ; proj2 = record { def = {!!} } } - regularity : (x : OD) → ¬ x ≡ od∅ → - Lift (suc n) (x ∋ proj1 (minimul x)) ∧ - (Select (proj1 (minimul x ) , x) (λ x₁ → Lift (suc n) (proj1 ( minimul x ) ∋ x₁) ∧ Lift (suc n) (x ∋ x₁)) ≡ od∅) - proj1 ( regularity x non ) = lift lemma where - lemma : def x (od→ord (proj1 (minimul x))) - lemma = {!!} + minimul : (x : OD {n} ) → ¬ x ≡ od∅ → OD {n} + minimul record { def = def } not = {!!} + regularity : (x : OD) → (not : ¬ x ≡ od∅ ) → + Lift (suc n) (x ∋ minimul x not ) ∧ + (Select x (λ x₁ → Lift (suc n) ( minimul x not ∋ x₁) ∧ Lift (suc n) (x ∋ x₁)) ≡ od∅) + proj1 ( regularity x non ) = {!!} proj2 ( regularity x non ) = {!!}
--- a/zf.agda Thu May 23 02:32:02 2019 +0900 +++ b/zf.agda Thu May 23 13:48:27 2019 +0900 @@ -71,8 +71,8 @@ -- extentionality : ∀ z ( z ∈ x ⇔ z ∈ y ) ⇒ ∀ w ( x ∈ w ⇔ y ∈ w ) extentionality : ( A B z : ZFSet ) → (( A ∋ z ) ⇔ (B ∋ z) ) → A ≈ B -- regularity : ∀ x ( x ≠ ∅ → ∃ y ∈ x ( y ∩ x = ∅ ) ) - minimul : ZFSet → ( ZFSet ∧ ZFSet ) - regularity : ∀( x : ZFSet ) → ¬ (x ≈ ∅) → ( proj1 ( minimul x ) ∈ x ∧ ( proj1 ( minimul x ) ∩ x ≈ ∅ ) ) + minimul : (x : ZFSet ) → ¬ (x ≈ ∅) → ZFSet + regularity : ∀( x : ZFSet ) → (not : ¬ (x ≈ ∅)) → ( minimul x not ∈ x ∧ ( minimul x not ∩ x ≈ ∅ ) ) -- infinity : ∃ A ( ∅ ∈ A ∧ ∀ x ∈ A ( x ∪ { x } ∈ A ) ) infinity∅ : ∅ ∈ infinite infinity : ∀( X x : ZFSet ) → x ∈ infinite → ( x ∪ Select X ( λ y → x ≈ y )) ∈ infinite