Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 503:1546541ed461
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 12 Apr 2022 18:52:14 +0900 |
parents | 3c03f5bf9e16 |
children | 5dd9cf0094d5 |
files | src/filter.agda src/zorn.agda |
diffstat | 2 files changed, 52 insertions(+), 23 deletions(-) [+] |
line wrap: on
line diff
--- a/src/filter.agda Tue Apr 12 15:58:53 2022 +0900 +++ b/src/filter.agda Tue Apr 12 18:52:14 2022 +0900 @@ -229,12 +229,19 @@ f0 : filter F ∋ od∅ f0 = subst (λ k → odef (filter F) k ) (trans (cong (&) ∩-comm) (cong (&) [a-b]∩b=0 ) ) ( filter2 F F∋p F∋-p ( CAP {!!} {!!}) ) -open import zorn +-- open import zorn -MaximumFilterExist : {L P : HOD} (LP : L ⊆ Power P) → ({p : HOD} → L ∋ p → L ∋ ( P \ p)) → ({p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q)) - → (F : Filter LP) → o∅ o< & L → o∅ o< & (filter F) → (¬ (filter F ∋ od∅)) → MaximumFilter LP -MaximumFilterExist {L} {P} LP NEG CAP F 0<L 0<F Fprop = {!!} where - mf01 : Maximal O P (_⊆'_ O) - mf01 = MaximumSubset O 0<L {!!} {!!} {!!} {!!} +-- MaximumSubset : {L P : HOD} +-- → o∅ o< & L → o∅ o< & P → P ⊆ L +-- → IsPartialOrderSet P _⊆'_ +-- → ( (B : HOD) → B ⊆ P → IsTotalOrderSet B _⊆'_ → SUP P B _⊆'_ ) +-- → Maximal P (_⊆'_) +-- MaximumSubset {L} {P} 0<L 0<P P⊆L PO SP = Zorn-lemma {P} {_⊆'_} 0<P PO SP + +-- MaximumFilterExist : {L P : HOD} (LP : L ⊆ Power P) → ({p : HOD} → L ∋ p → L ∋ ( P \ p)) → ({p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q)) +-- → (F : Filter LP) → o∅ o< & L → o∅ o< & (filter F) → (¬ (filter F ∋ od∅)) → MaximumFilter LP +-- MaximumFilterExist {L} {P} LP NEG CAP F 0<L 0<F Fprop = {!!} where +-- mf01 : Maximal O P (_⊆'_ O) +-- mf01 = MaximumSubset O 0<L {!!} {!!} {!!} {!!}
--- a/src/zorn.agda Tue Apr 12 15:58:53 2022 +0900 +++ b/src/zorn.agda Tue Apr 12 18:52:14 2022 +0900 @@ -88,18 +88,6 @@ me : { A a : HOD } → A ∋ a → Element A me {A} {a} lt = record { elm = a ; is-elm = lt } -record SUP ( A B : HOD ) : Set (suc n) where - field - sup : HOD - A∋maximal : A ∋ sup - x<sup : {x : HOD} → B ∋ x → (x ≡ sup ) ∨ (x < sup ) -- B is Total, use positive - -record Maximal ( A : HOD ) : Set (suc n) where - field - maximal : HOD - A∋maximal : A ∋ maximal - ¬maximal<x : {x : HOD} → A ∋ x → ¬ maximal < x -- A is Partial, use negative - record ZChain ( A : HOD ) (y : Ordinal) : Set (suc n) where field max : HOD @@ -143,11 +131,24 @@ icy : odef (IChainSet {A} (me ax)) y c-finite : ¬ OSup> (IChainSet {A} (me ax)) (d→∋ (IChainSet {A} (me ax)) icy) -Zorn-lemma-case : { A : HOD } +record Maximal ( A : HOD ) : Set (suc n) where + field + maximal : HOD + A∋maximal : A ∋ maximal + ¬maximal<x : {x : HOD} → A ∋ x → ¬ maximal < x -- A is Partial, use negative + +-- +-- possible three cases in a limit ordinal step +-- +-- case 1) < goes > x +-- case 2) no > x in some chain ( maximal ) +-- case 3) countably infinite chain below x +-- +Zorn-lemma-3case : { A : HOD } → o∅ o< & A → IsPartialOrderSet A → (x : Element A) → OSup> A (d→∋ A (is-elm x)) ∨ Maximal A ∨ InFiniteIChain A (d→∋ A (is-elm x)) -Zorn-lemma-case {A} 0<A PO x = zc2 where +Zorn-lemma-3case {A} 0<A PO x = zc2 where Gtx : HOD Gtx = record { od = record { def = λ y → odef ( IChainSet x ) y ∧ ( & (elm x) o< y ) } ; odmax = & A ; <odmax = λ lt → subst (λ k → k o< & A) &iso (c<→o< (d→∋ A (proj1 (proj1 lt)))) } @@ -162,6 +163,12 @@ ... | yes nohg = case2 (case2 {!!} ) +record SUP ( A B : HOD ) : Set (suc n) where + field + sup : HOD + A∋maximal : A ∋ sup + x<sup : {x : HOD} → B ∋ x → (x ≡ sup ) ∨ (x < sup ) -- B is Total, use positive + Zorn-lemma : { A : HOD } → o∅ o< & A → IsPartialOrderSet A @@ -261,14 +268,29 @@ ... | tri< a ¬b ¬c = case1 record { max = ZChain.max z ; y<max = a } ... | tri≈ ¬a b ¬c = {!!} -- x = max so ¬ A ∋ max ... | tri> ¬a ¬b c = {!!} -- can't happen - ... | yes ax = zc1 where -- we have previous ordinal and A ∋ x + ... | yes ax = zc4 where -- we have previous ordinal and A ∋ x px = Oprev.oprev op - zc1 : ZChain A x ∨ Maximal A - zc1 with prev px (subst (λ k → px o< k) (Oprev.oprev=x op) <-osuc) + zc1 : OSup> A (subst (OD.def (od A)) (sym &iso) ax) → ZChain A x ∨ Maximal A + zc1 os with prev px (subst (λ k → px o< k) (Oprev.oprev=x op) <-osuc) ... | case2 x = case2 x ... | case1 x with is-o∅ ( & (Gtx ax )) ... | yes no-sup = case2 {!!} ... | no sup = case1 {!!} + zc4 : ZChain A x ∨ Maximal A + zc4 with Zorn-lemma-3case 0<A PO (me ax) + ... | case1 y>x = zc1 y>x + ... | case2 (case1 x) = case2 x + ... | case2 (case2 x) = ⊥-elim (zc5 x) where + FC : HOD + FC = IChainSet {A} (me ax) + zc6 : InFiniteIChain A (subst (OD.def (od A)) (sym &iso) ax) → ¬ SUP A FC + zc6 = {!!} + FC-is-total : IsTotalOrderSet FC + FC-is-total = {!!} + FC⊆A : FC ⊆ A + FC⊆A = {!!} + zc5 : InFiniteIChain A (subst (OD.def (od A)) (sym &iso) ax) → ⊥ + zc5 x = zc6 x ( supP FC FC⊆A FC-is-total ) ind x prev | no ¬ox with trio< (& A) x --- limit ordinal case ... | tri< a ¬b ¬c = {!!} where zc1 : ZChain A (& A)