Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 467:c65cb6c07a38
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 23 Mar 2022 16:42:42 +0900 |
parents | 14b0e0aa6487 |
children | c70cf01b29f9 |
files | src/ODC.agda |
diffstat | 1 files changed, 21 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ODC.agda Tue Mar 22 15:40:57 2022 +0900 +++ b/src/ODC.agda Wed Mar 23 16:42:42 2022 +0900 @@ -40,7 +40,7 @@ minimal : (x : HOD ) → ¬ (x =h= od∅ )→ HOD -- this should be ¬ (x =h= od∅ )→ ∃ ox → x ∋ Ord ox ( minimum of x ) x∋minimal : (x : HOD ) → ( ne : ¬ (x =h= od∅ ) ) → odef x ( & ( minimal x ne ) ) - -- minimality (may proved by ε-induction with LEM) + -- minimality (proved by ε-induction with LEM) minimal-1 : (x : HOD ) → ( ne : ¬ (x =h= od∅ ) ) → (y : HOD ) → ¬ ( odef (minimal x ne) (& y)) ∧ (odef x (& y) ) @@ -111,7 +111,7 @@ sup : HOD A∋maximal : A ∋ sup tri : {a b : HOD} → B ∋ a → B ∋ b → (a < b) ∨ (a ≡ b) ∨ (b < a ) - x≤sup : (x : HOD) → (b : B ∋ x ) → (x ≡ sup ) ∨ (x < sup ) + x≤sup : (x : HOD) → B ∋ x → (x ≡ sup ) ∨ (x < sup ) record Maximal ( A : HOD ) (_<_ : (x y : HOD) → Set n ) : Set (suc n) where field @@ -119,35 +119,38 @@ A∋maximal : HOD ¬maximal<x : (x : HOD) → (b : A ∋ x ) → ¬ maximal < x -record ZChain ( A : HOD ) (x : Ordinal) (_<_ : (x y : HOD) → Set n ) : Set (suc n) where +record ZChain ( A : HOD ) (y : Ordinal) (_<_ : (x y : HOD) → Set n ) : Set (suc n) where field - NOMAX : HOD - Chain : HOD - nomax : (y m : Ordinal) → odef NOMAX y → y o< x → ¬ ( * y < * m ) - chain : (y : Ordinal) → odef Chain y → & NOMAX ≡ o∅ → SUP A (* y) _<_ + B : HOD + B⊆A : B ⊆ A + tri : {a b : HOD} → B ∋ a → B ∋ b → (a < b) ∨ (a ≡ b) ∨ (b < a ) + fb : {x : HOD } → A ∋ x → HOD + B∋fb : (x : HOD ) → (ax : A ∋ x) → B ∋ fb ax + ¬x≤sup : (sup : HOD) → (as : A ∋ sup ) → & sup o< y → sup < fb as Zorn-lemma : { A : HOD } → { _<_ : (x y : HOD) → Set n } → o∅ o< & A → ( ( B : HOD) → (B⊆A : B ⊆ A) → SUP A B _<_ ) → Maximal A _<_ -Zorn-lemma {A} {_<_} 0<A SUP = zorn01 (TransFinite ind (& A)) where - HasGreater : Ordinal → HOD - HasGreater m = record { od = record { def = λ x → odef A x ∧ (* m < * x) } ; odmax = & A ; <odmax = {!!} } - zorn01 : ZChain A (& A) _<_ → Maximal A _<_ - zorn01 zc with is-o∅ ( & (ZChain.NOMAX zc) ) - ... | yes _ = {!!} - ... | no not = record { maximal = minimal (ZChain.NOMAX zc) (λ eq → not (=od∅→≡o∅ eq)) ; A∋maximal = {!!} - ; ¬maximal<x = λ x lt m<x → ZChain.nomax zc {!!} {!!} (x∋minimal (ZChain.NOMAX zc) (λ eq → not (=od∅→≡o∅ eq)) ) {!!} {!!} } +Zorn-lemma {A} {_<_} 0<A supP = zorn00 where + HasMaximal : HOD + HasMaximal = record { od = record { def = λ x → (m : Ordinal) → odef A x ∧ odef A m ∧ (¬ (* x < * m))} ; odmax = & A ; <odmax = {!!} } + ZChain→¬SUP : (z : ZChain A (& A) _<_ ) → ¬ (SUP A (ZChain.B z) _<_ ) + ZChain→¬SUP z sp = {!!} ind : (x : Ordinal) → ((y : Ordinal) → y o< x → ZChain A y _<_ ) → ZChain A x _<_ ind x prev with Oprev-p x - ... | yes ox with is-o∅ (& (HasGreater x)) - ... | yes _ = record { NOMAX = {!!} ; nomax = {!!} ; Chain = {!!} ; chain = {!!} } where - ... | no _ = record { NOMAX = {!!} ; nomax = {!!} ; Chain = {!!} ; chain = {!!} } where + ... | yes _ = {!!} ind x prev | no ¬ox with trio< (& A) x ... | tri< a ¬b ¬c = {!!} ... | tri≈ ¬a b ¬c = {!!} ... | tri> ¬a ¬b c = {!!} + zorn00 : Maximal A _<_ + zorn00 with is-o∅ ( & HasMaximal ) + ... | no not = record { maximal = minimal HasMaximal (λ eq → not (=od∅→≡o∅ eq)) ; A∋maximal = {!!}; ¬maximal<x = {!!} } + ... | yes ¬Maximal = ⊥-elim ( ZChain→¬SUP (z (& A)) ( supP (ZChain.B (z (& A))) (ZChain.B⊆A (z (& A))) ) ) where + z : (x : Ordinal) → ZChain A x _<_ + z = TransFinite ind open import zfc