Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 520:5e364d55bccc
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 17 Apr 2022 16:03:29 +0900 |
parents | ef5dde91fa80 |
children | 5d3df69d3732 |
files | src/zorn.agda |
diffstat | 1 files changed, 16 insertions(+), 17 deletions(-) [+] |
line wrap: on
line diff
--- a/src/zorn.agda Sat Apr 16 18:52:48 2022 +0900 +++ b/src/zorn.agda Sun Apr 17 16:03:29 2022 +0900 @@ -169,6 +169,7 @@ record InFiniteIChain (A : HOD) {x : Ordinal} (ax : A ∋ * x) : Set n where field + chain<x : (y : Ordinal ) → odef (IChainSet {A} (me ax)) y → y o< x c-infinite : (y : Ordinal ) → (cy : odef (IChainSet {A} (me ax)) y ) → IChainSup> A (ic→A∋y A ax cy) @@ -282,7 +283,7 @@ record IsFC (A : HOD) {x : Ordinal} (ax : A ∋ * x) (y : Ordinal) : Set n where field icy : odef (IChainSet {A} (me ax)) y - c-finite : ¬ IChainSup> A ax + c-finite : ¬ IChainSup> A (subst (λ k → odef A k ) (sym &iso) (proj1 icy) ) record Maximal ( A : HOD ) : Set (Level.suc n) where field @@ -326,7 +327,7 @@ zc5 : odef (IChainSet {A} (me (d→∋ A (is-elm x) ))) (& y) zc5 = IsFC.icy (proj2 zc3) zc4 : {z : HOD} → A ∋ z → ¬ (y < z) - zc4 {z} az y<z = IsFC.c-finite (proj2 zc3) record { y = & z ; A∋y = az ; y>x = subst₂ (λ j k → j < k ) (sym *iso) (sym *iso) zc6 } where + zc4 {z} az y<z = IsFC.c-finite (proj2 zc3) record { y = & z ; A∋y = az ; y>x = subst₂ (λ j k → j < k ) (sym *iso) (sym *iso) y<z } where zc8 : ic-connect (& (* (& (elm x)))) (IChained.iy (proj2 zc5)) zc8 = IChained.ic (proj2 zc5) zc7 : elm x < y @@ -334,37 +335,35 @@ (subst (λ k → ic-connect (& k) (IChained.iy (proj2 zc5)) ) (me-elm-refl A x) (IChained.ic (proj2 zc5)) ) ) zc6 : elm x < z zc6 = IsStrictPartialOrder.trans PO {x} {me (proj1 zc3)} {me az} zc7 y<z - ... | yes inifite = case2 (case2 record { c-infinite = zc9 } ) where + ... | yes inifite = case2 (case2 record { c-infinite = zc9 ; chain<x = {!!}} ) where B : HOD B = IChainSet {A} (me (subst (OD.def (od A)) (sym &iso) (is-elm x))) Nx : (y : Ordinal) → odef A y → HOD - Nx y ay = record { od = record { def = λ y → odef A y ∧ IChainSup> A (subst (λ k → odef A k) (sym &iso) ay) } ; odmax = & A + Nx y ay = record { od = record { def = λ x → odef A x ∧ ( * y < * x ) } ; odmax = & A ; <odmax = λ lt → subst (λ k → k o< & A) &iso (c<→o< (d→∋ A (proj1 lt))) } - zc9 : (y : Ordinal) (cy : odef (IChainSet (me (subst (OD.def (od A)) (sym &iso) (is-elm x)))) y) → + zc9 : (y : Ordinal) (cy : odef B y) → IChainSup> A (ic→A∋y A (subst (OD.def (od A)) (sym &iso) (is-elm x)) cy) - zc9 y cy with ODC.∋-p O (IChainSet {A} (me (subst (OD.def (od A)) (sym &iso) (is-elm x)))) (* y) - ... | no not = ⊥-elim (not (subst (λ k → odef (IChainSet {A} (me (subst (OD.def (od A)) (sym &iso) (is-elm x)))) k ) (sym &iso) cy)) + zc9 y cy with ODC.∋-p O B (* y) + ... | no not = ⊥-elim (not (subst (λ k → odef B k ) (sym &iso) cy)) ... | yes cy1 with is-o∅ (& (Nx y (proj1 cy) )) ... | yes no-next = ⊥-elim zc16 where - zc18 : IChainSup> A (d→∋ A (is-elm x)) → ⊥ - zc18 ics = ¬A∋x→A≡od∅ (Nx y (proj1 cy) ) ⟪ {!!} , ? ⟫ no-next + -- cy : OD.def (od A) y ∧ IChained A (& (* (& (elm x)))) y + zc18 : ¬ IChainSup> A (subst (odef A) (sym &iso) (proj1 (subst (λ k → odef (IChainSet (me (d→∋ A (is-elm x)))) k) (sym &iso) cy))) + zc18 ics = ¬A∋x→A≡od∅ (Nx y (proj1 cy) ) ⟪ subst (λ k → odef A k ) (sym &iso) (IChainSup>.A∋y ics) + , subst₂ (λ j k → j < k ) *iso (cong (*) (sym &iso))( IChainSup>.y>x ics) ⟫ no-next zc17 : IsFC A {& (elm x)} (d→∋ A (is-elm x)) (& (* y)) - zc17 = record { icf = cy ; c-finite = λ icsup → zc18 icsup } + zc17 = record { icy = subst (λ k → odef (IChainSet (me (d→∋ A (is-elm x)))) k ) (sym &iso) cy ; c-finite = zc18 } zc16 : ⊥ zc16 = ¬A∋x→A≡od∅ HG ⟪ subst (λ k → odef A k ) (sym &iso) (proj1 cy ) , zc17 ⟫ inifite - ... | no not = record { y = zc14 ; A∋y = IChainSup>.A∋y (proj2 zc12) ; y>x = zc15 } where + ... | no not = record { y = & zc13 ; A∋y = proj1 zc12 ; y>x = proj2 zc12 } where zc13 = ODC.minimal O (Nx y (proj1 cy)) (λ eq → not (=od∅→≡o∅ eq )) - zc12 : odef A (& zc13 ) ∧ IChainSup> A (subst (λ k → odef A k) (sym &iso) (proj1 cy) ) + zc12 : odef A (& zc13 ) ∧ ( * y < * ( & zc13 )) zc12 = ODC.x∋minimal O (Nx y (proj1 cy)) (λ eq → not (=od∅→≡o∅ eq )) - zc14 : Ordinal - zc14 = IChainSup>.y (proj2 zc12) - zc15 : * y < * ( IChainSup>.y (proj2 (ODC.x∋minimal O (Nx y (proj1 cy)) (λ eq → not (=od∅→≡o∅ eq)))) ) - zc15 = IChainSup>.y>x (proj2 zc12) all-climb-case : { A : HOD } → (0<A : o∅ o< & A) → IsPartialOrderSet A → (( x : Element A) → OSup> A (d→∋ A (is-elm x) )) → InFiniteIChain A (d→∋ A (ODC.x∋minimal O A (λ eq → ¬x<0 ( subst (λ k → o∅ o< k ) (=od∅→≡o∅ eq) 0<A )) )) -all-climb-case {A} 0<A PO climb = record { c-infinite = {!!} } +all-climb-case {A} 0<A PO climb = record { c-infinite = {!!} ; chain<x = {!!} } record SUP ( A B : HOD ) : Set (Level.suc n) where field