# HG changeset patch # User Shinji KONO # Date 1651114038 -32400 # Node ID f007e044b2c66cf31fabf60d3694412934c23e1f # Parent 5ad7a31df4f4dd7ffc4b50f755e9dba35382f49f ... diff -r 5ad7a31df4f4 -r f007e044b2c6 src/zorn.agda --- a/src/zorn.agda Thu Apr 28 10:29:47 2022 +0900 +++ b/src/zorn.agda Thu Apr 28 11:47:18 2022 +0900 @@ -340,41 +340,30 @@ zc4 with ODC.∋-p O A (* x) ... | no noax = record { chain = ZChain.chain zc0 ; chain⊆A = ZChain.chain⊆A zc0 ; f-total = ZChain.f-total zc0 ; f-next = ZChain.f-next zc0 ; f-immediate = ZChain.f-immediate zc0 ; chain∋x = ZChain.chain∋x zc0 ; is-max = {!!} } where -- no extention - ... | yes ax with ODC.p∨¬p O ( Prev< A (ZChain.chain zc0) ay f ) - ... | case1 pr = zc7 where -- we have previous < + ... | yes ax with ODC.p∨¬p O ( Prev< A (ZChain.chain zc0) ax f ) -- we have to check adding x preserve is-max ZChain A ay f mf supO px + ... | case1 pr = zc9 where -- we have previous A ∋ z < x , f z ≡ x, so chain ∋ f z ≡ x because of f-next + zc9 : ZChain A ay f mf supO x + zc9 = record { chain = ZChain.chain zc0 ; chain⊆A = ZChain.chain⊆A zc0 ; f-total = ZChain.f-total zc0 ; f-next = ZChain.f-next zc0 + ; f-immediate = ZChain.f-immediate zc0 ; chain∋x = ZChain.chain∋x zc0 ; is-max = {!!} } where -- no extention ay0 : odef A (& (* y)) ay0 = (subst (λ k → odef A k ) (sym &iso) ay ) Afx : { x : Ordinal } → A ∋ * x → A ∋ * (f x) Afx {x} ax = (subst (λ k → odef A k ) (sym &iso) (proj2 (mf x (subst (λ k → odef A k ) &iso ax)))) chain = ZChain.chain zc0 zc7 : ZChain A ay f mf supO x - zc7 with ODC.∋-p O (ZChain.chain zc0) (* ( f y ) ) - ... | yes pr = record { chain = ZChain.chain zc0 ; chain⊆A = ZChain.chain⊆A zc0 ; f-total = ZChain.f-total zc0 ; f-next = ZChain.f-next zc0 - ; f-immediate = ZChain.f-immediate zc0 ; chain∋x = z22 - ; is-max = {!!} } where -- no extention - z22 : odef (ZChain.chain zc0) y -- y ≡ f pr , chain ∋ f y ≡ f (f pr) - z22 = {!!} - zc20 : {P : Ordinal → Set n} → ({a : Ordinal} → odef (ZChain.chain zc0) a → a o< px → P a) - → {a : Ordinal} → (za : odef (ZChain.chain zc0) a ) → (a ¬a ¬b c = {!!} - z21 : {a : Ordinal} → odef (ZChain.chain zc0) a → a o< x → odef (ZChain.chain zc0) (f a) - z21 {a} za a ¬a ¬b c = ⊥-elim ( o<> c az = {!!} ; is-max = {!!} } where - -- extend with f x -- cahin ∋ y ∧ chain ∋ f y ∧ x ≡ f ( f y ) + zc7 with trio< (Prev<.y pr) x + ... | tri< a ¬b ¬c = {!!} -- already x ∈ chain because of is-max + ... | tri≈ ¬a b ¬c = {!!} -- x ≡ z ∈ chain + ... | tri> ¬a ¬b x ¬a ¬b c₁ = {!!} zc6 : IsTotalOrderSet zc5 zc6 = record { isEquivalence = IsStrictPartialOrder.isEquivalence IPO ; trans = λ {x} {y} {z} → IsStrictPartialOrder.trans IPO {x} {y} {z} ; compare = cmp } - ... | case2 not with ODC.p∨¬p O ( x ≡ & ( SUP.sup ( supP ( ZChain.chain zc0 ) {!!} {!!} ) )) - ... | case1 pr = {!!} -- x is sup - ... | case2 not = record { chain = ZChain.chain zc0 ; chain⊆A = ZChain.chain⊆A zc0 ; f-total = ZChain.f-total zc0 ; f-next = {!!} + ... | case2 ¬fy