Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 506:dfcb98151273
2 cases in 3 cases
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 13 Apr 2022 09:54:01 +0900 |
parents | 5fcd2863317d |
children | 99b8ea24e6cd |
files | src/zorn.agda |
diffstat | 1 files changed, 31 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/src/zorn.agda Wed Apr 13 08:16:16 2022 +0900 +++ b/src/zorn.agda Wed Apr 13 09:54:01 2022 +0900 @@ -91,6 +91,8 @@ A∋x-irr : (A : HOD) {x y : HOD} → x ≡ y → (A ∋ x) ≡ (A ∋ y ) A∋x-irr A {x} {y} refl = refl +me-elm-refl : (A : HOD) → (x : Element A) → elm (me {A} (d→∋ A (is-elm x))) ≡ elm x +me-elm-refl A record { elm = ex ; is-elm = ax } = *iso open import Relation.Binary.HeterogeneousEquality as HE using (_≅_ ) @@ -121,12 +123,29 @@ ifirst : {ox : Ordinal} → odef A ox → IChain A ox inext : {ox oy : Ordinal} → odef A oy → * ox < * oy → IChain A ox → IChain A oy -ic-connet : {A : HOD} {x : Ordinal} → (x : IChain A x) → Ordinal → Set n -ic-connet {A} (ifirst {ox} ax) oy = ox ≡ oy -ic-connet {A} (inext {ox} {oy} ay x<y iy) oz = (ox ≡ oz) ∨ ic-connet iy oz +-- * ox < .. < * oy +ic-connect : {A : HOD} {oy : Ordinal} → (ox : Ordinal) → (iy : IChain A oy) → Set n +ic-connect {A} ox (ifirst {oy} ay) = Lift n ⊥ +ic-connect {A} ox (inext {oy} {oz} ay y<z iz) = (ox ≡ oy) ∨ ic-connect ox iz + +ic→odef : {A : HOD} {ox : Ordinal} → IChain A ox → odef A ox +ic→odef {A} {ox} (ifirst ax) = ax +ic→odef {A} {ox} (inext ax x<y ic) = ax + +ic→< : {A : HOD} → (IsPartialOrderSet A) → (x : Ordinal) → odef A x → {y : Ordinal} → (iy : IChain A y) → ic-connect {A} {y} x iy → * x < * y +ic→< {A} PO x ax {y} (ifirst ay) () +ic→< {A} PO x ax {y} (inext ay x<y iy) (case1 refl) = x<y +ic→< {A} PO x ax {y} (inext {oy} ay x<y iy) (case2 ic) = IsStrictPartialOrder.trans PO + {me (subst (λ k → odef A k) (sym &iso) ax )} {me (subst (λ k → odef A k) (sym &iso) (ic→odef {A} {oy} iy) ) } {me (subst (λ k → odef A k) (sym &iso) ay) } + (ic→< {A} PO x ax iy ic ) x<y + +record IChained (A : HOD) (x y : Ordinal) : Set n where + field + iy : IChain A y + ic : ic-connect x iy IChainSet : {A : HOD} → Element A → HOD -IChainSet {A} ax = record { od = record { def = λ y → odef A y ∧ ( (iy : IChain A y ) → ic-connet iy (& (elm ax))) } +IChainSet {A} ax = record { od = record { def = λ y → odef A y ∧ IChained A (& (elm ax)) y } ; odmax = & A ; <odmax = λ {y} lt → subst (λ k → k o< & A) &iso (c<→o< (subst (λ k → odef A k) (sym &iso) (proj1 lt))) } -- there is a y, & y > & x @@ -188,11 +207,7 @@ zc3 : odef ( IChainSet x ) (& y) ∧ ( & (elm x) o< (& y )) zc3 = ODC.x∋minimal O Gtx (λ eq → not (=od∅→≡o∅ eq)) zc4 : odef (IChainSet (me (subst (OD.def (od A)) (sym &iso) (is-elm x)))) (& y) - zc4 = ⟪ proj1 (proj1 zc3) , (λ ic → zc6 (* (& (elm x))) (sym *iso) ic) ⟫ where - zc5 : odef (IChainSet (me (is-elm x))) (& y) - zc5 = proj1 zc3 - zc6 : (ax : HOD) → elm x ≡ ax → (iy : IChain A (& y)) → ic-connet iy (& ax) - zc6 ax refl iy = proj2 (proj1 zc3) iy + zc4 = ⟪ proj1 (proj1 zc3) , subst (λ k → IChained A (& k) (& y) ) (sym *iso) (proj2 (proj1 zc3)) ⟫ ... | yes nogt with is-o∅ (& HG) ... | no finite-chain = case2 (case1 record { maximal = y ; A∋maximal = proj1 zc3 ; ¬maximal<x = zc4 } ) where y : HOD @@ -202,9 +217,14 @@ 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 = {!!} } 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) zc6 } where + zc8 : ic-connect (& (* (& (elm x)))) (IChained.iy (proj2 zc5)) + zc8 = IChained.ic (proj2 zc5) + zc7 : elm x < y + zc7 = subst₂ (λ j k → j < k ) *iso *iso ( ic→< {A} PO (& (elm x)) (is-elm x) (IChained.iy (proj2 zc5)) + (subst (λ k → ic-connect (& k) (IChained.iy (proj2 zc5)) ) (me-elm-refl A x) (IChained.ic (proj2 zc5)) ) ) zc6 : elm x < z - zc6 = {!!} + zc6 = IsStrictPartialOrder.trans PO {x} {me (proj1 zc3)} {me az} zc7 y<z ... | yes nohg = case2 (case2 {!!} )