# HG changeset patch # User Shinji KONO # Date 1649657693 -32400 # Node ID 2a8629b5cff9053fda79fec98ef794d6ce2bb03b # Parent c03d80290855b20afcfd49028648b5e6c56e2aa1 other strategy diff -r c03d80290855 -r 2a8629b5cff9 src/zorn.agda --- a/src/zorn.agda Sat Apr 09 13:56:49 2022 +0900 +++ b/src/zorn.agda Mon Apr 11 15:14:53 2022 +0900 @@ -1,12 +1,12 @@ {-# OPTIONS --allow-unsolved-metas #-} open import Level open import Ordinals -module zorn {n : Level } (O : Ordinals {n}) where +import OD +module zorn {n : Level } (O : Ordinals {n}) (_<_ : (x y : OD.HOD O ) → Set n ) where open import zf open import logic -- open import partfunc {n} O -import OD open import Relation.Nullary open import Relation.Binary @@ -47,8 +47,8 @@ open Element -IsPartialOrderSet : ( A : HOD ) → (_<_ : (x y : HOD) → Set n ) → Set (suc n) -IsPartialOrderSet A _<_ = IsStrictPartialOrder _≡A_ _ ¬a ¬b c = tri> z17 (λ eq → z01 (incl (B⊆A z) (is-elm x)) (incl (B⊆A z) (is-elm y))(case1 eq) z15 ) z15 where z15 : elm y < elm x z15 = bx-monotonic z {y} {x} c z17 : elm x < elm y → ⊥ z17 lt = z01 (incl (B⊆A z) (is-elm x)) (incl (B⊆A z) (is-elm y))(case2 lt) z15 - B-is-total : (z : ZChain A (& A) _<_ ) → IsTotalOrderSet (B z) _<_ + B-is-total : (z : ZChain A (& A) ) → IsTotalOrderSet (B z) B-is-total zc = record { isEquivalence = record { refl = refl ; sym = sym ; trans = trans } ; trans = λ {x} {y} {z} x max cannot happen ) + -- ¬ A ∋ y use previous chain + -- A ∋ y is use oridinaly min of y or previous + -- y is limit ordinal + -- has maximal in some lower use this + -- no maximal in all lower + -- & A < y A is a counter example of assumption + -- A ∋ y is maximal use this + -- ¬ A ∋ y use previous chain + -- check some y ≤ max + -- if none A < y is the counter example + -- else use the ordinaly smallest max as next chain + ind x prev with Oprev-p x ... | yes op with ODC.∋-p O A (* x) ... | no ¬Ax = {!!} where -- we have previous ordinal and ¬ A ∋ x, use previous Zchain px = Oprev.oprev op - zc1 : ZChain A px _<_ - zc1 = prev px (subst (λ k → px o< k) (Oprev.oprev=x op) <-osuc) + zc1 : ZChain A px + zc1 with prev px (subst (λ k → px o< k) (Oprev.oprev=x op) <-osuc) + ... | t = {!!} z04 : {!!} -- (sup : HOD) (as : A ∋ sup) → & sup o< osuc x → sup < ZChain.fb zc1 as z04 sup as s ¬a ¬b c with osuc-≡< s ¬a ¬b c with ODC.∋-p O A (* x) ... | no ¬Ax = {!!} where ... | yes ax with is-o∅ (& (Gtx ax)) - ... | yes nogt = ⊥-elim (no-maximal nomx x ⟪ subst (λ k → odef A k) &iso ax , x-is-maximal ⟫ ) where -- no larger element, so it is maximal + ... | yes nogt = ⊥-elim {!!} where -- no larger element, so it is maximal x-is-maximal : (m : Ordinal) → odef A m → ¬ (* x < * m) x-is-maximal m am = ¬x