# HG changeset patch # User Shinji KONO # Date 1650599545 -32400 # Node ID 06a655ca04b8bc70cc582a7d309c07aa533f4f9b # Parent 6e94ea146fc1537598c5b7523ffd5fa94845fcad ... diff -r 6e94ea146fc1 -r 06a655ca04b8 src/zorn.agda --- a/src/zorn.agda Wed Apr 20 10:44:38 2022 +0900 +++ b/src/zorn.agda Fri Apr 22 12:52:25 2022 +0900 @@ -143,6 +143,7 @@ -- OS<-cmp : {x : HOD} → Trichotomous {_} {IsTotalOrderSet x} _OS≈_ _OS<_ -- OS<-cmp A B = {!!} +-- tree structure data IChain (A : HOD) : Ordinal → Set n where ifirst : {ox : Ordinal} → odef A ox → IChain A ox inext : {ox oy : Ordinal} → odef A oy → * ox < * oy → IChain A ox → IChain A oy @@ -168,6 +169,9 @@ iy : IChain A y ic : ic-connect x iy +-- +-- all tree from x +-- IChainSet : (A : HOD) {x : Ordinal} → odef A x → HOD IChainSet A {x} ax = record { od = record { def = λ y → odef A y ∧ IChained A x y } ; odmax = & A ; x : * x < * y -- finite IChain +-- +-- tree structured ic→A∋y : (A : HOD) {x y : Ordinal} (ax : A ∋ * x) → odef (IChainSet A ax) y → A ∋ * y ic→A∋y A {x} {y} ax ⟪ ay , _ ⟫ = subst (λ k → odef A k) (sym &iso) ay @@ -332,9 +338,9 @@ -- -- possible three cases in a limit ordinal step -- --- case 1) < goes > x (will contradic in the transfinite induction ) +-- case 1) < goes x o< -- case 2) no > x in some chain ( maximal ) --- case 3) countably infinite chain below x (will be prohibited by sup condtion ) +-- case 3) countably infinite chain below x -- Zorn-lemma-3case : { A : HOD } → o∅ o< & A @@ -420,21 +426,24 @@ y (c<→o< {ZChain.zmax chain} {A} (ZChain.A∋max chain)) (ZChain.y A (subst (OD.def (od A)) (sym &iso) (subst (OD.def (od A)) &iso ax)) → ZChain A sa x ∨ Maximal A + zc1 os with prev px (subst (λ k → px o< k) (Oprev.oprev=x op) <-osuc) + ... | case2 mx = case2 mx + ... | case1 zc = case1 {!!} + zc4 : ZChain A sa x ∨ Maximal A + zc4 with Zorn-lemma-3case 0x = zc1 y>x + ... | case2 (case1 mx) = case2 mx + ... | case2 (case2 ic) with prev px (subst (λ k → px o< k) (Oprev.oprev=x op) <-osuc) + ... | case2 mx = case2 mx + ... | case1 zc = {!!} + ind x prev | no ¬ox with trio< (& A) x --- limit ordinal case + ... | t = {!!} + + zorn00 : Maximal A + zorn00 with is-o∅ ( & HasMaximal ) + ... | no not = record { maximal = ODC.minimal O HasMaximal (λ eq → not (=od∅→≡o∅ eq)) ; A∋maximal = zorn01 ; ¬maximal