# HG changeset patch # User Shinji KONO # Date 1651350936 -32400 # Node ID 4d8a54e2861e69a0893cab84ed973f3e1fe7553a # Parent a64dad8d2e9359f865567896e93cff0c14922f73 ... diff -r a64dad8d2e93 -r 4d8a54e2861e src/zorn.agda --- a/src/zorn.agda Sun May 01 02:15:12 2022 +0900 +++ b/src/zorn.agda Sun May 01 05:35:36 2022 +0900 @@ -205,7 +205,9 @@ IsTotalOrderSet : ( A : HOD ) → Set (Level.suc n) IsTotalOrderSet A = {a b : HOD} → odef A (& a) → odef A (& b) → Tri (a < b) (a ≡ b) (b < a ) - +⊆-IsTotalOrderSet : { A B : HOD } → B ⊆ A → IsTotalOrderSet A → IsTotalOrderSet B +⊆-IsTotalOrderSet = {!!} + record Maximal ( A : HOD ) : Set (Level.suc n) where field maximal : HOD @@ -217,12 +219,23 @@ -- tree structure -- -record Prev< (A B : HOD) {x : Ordinal } (xa : odef A x) ( f : Ordinal → Ordinal ) : Set n where +record HasPrev (A B : HOD) {x : Ordinal } (xa : odef A x) ( f : Ordinal → Ordinal ) : Set n where field y : Ordinal ay : odef B y x=fy : x ≡ f y +_⊆'_ : ( A B : HOD ) → Set n +_⊆'_ A B = (x : Ordinal ) → odef A x → odef B x + +record IsSup (A : HOD) (T : IsTotalOrderSet A) {x : Ordinal } + (xa : odef A x) (sup : (C : HOD ) → ( C ⊆ A) → IsTotalOrderSet C → Ordinal) ( f : Ordinal → Ordinal ) : Set n where + field + chain : Ordinal + chain⊆A : (* chain) ⊆' A + -- ¬prev : ¬ HasPrev A (* chain) xa f + x=sup : x ≡ sup (* chain) record { incl = λ {x} → chain⊆A (& x) } ( ⊆-IsTotalOrderSet {A} {* chain} record { incl = λ {x} → chain⊆A (& x) } T ) + record SUP ( A B : HOD ) : Set (Level.suc n) where field sup : HOD @@ -243,7 +256,7 @@ f-next : {a : Ordinal } → odef chain a → odef chain (f a) f-immediate : { x y : Ordinal } → odef chain x → odef chain y → ¬ ( ( * x < * y ) ∧ ( * y < * (f x )) ) is-max : {a b : Ordinal } → (ca : odef chain a ) → b o< osuc z → (ba : odef A b) - → Prev< A chain ba f ∨ ((sup chain chain⊆A f-total) ≡ b ) + → HasPrev A chain ba f ∨ ((sup chain chain⊆A f-total) ≡ b ) → * a < * b → odef chain b Zorn-lemma : { A : HOD } @@ -315,7 +328,7 @@ chain = ZChain.chain zc sp1 = sp0 f mf zc z10 : {a b : Ordinal } → (ca : odef chain a ) → b o< osuc (& A) → (ab : odef A b ) - → Prev< A chain ab f ∨ (supO chain (ZChain.chain⊆A zc) (ZChain.f-total zc) ≡ b ) + → HasPrev A chain ab f ∨ (supO chain (ZChain.chain⊆A zc) (ZChain.f-total zc) ≡ b ) → * a < * b → odef chain b z10 = ZChain.is-max zc z11 : & (SUP.sup sp1) o< & A @@ -377,20 +390,20 @@ ; 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 = zc11 } where -- no extention zc11 : {a b : Ordinal} → odef (ZChain.chain zc0) a → b o< osuc x → (ba : odef A b) → - Prev< A (ZChain.chain zc0) ba f ∨ (& (SUP.sup (supP (ZChain.chain zc0) (ZChain.chain⊆A zc0) (ZChain.f-total zc0))) ≡ b) → + HasPrev A (ZChain.chain zc0) ba f ∨ (& (SUP.sup (supP (ZChain.chain zc0) (ZChain.chain⊆A zc0) (ZChain.f-total zc0))) ≡ b) → * a < * b → odef (ZChain.chain zc0) b zc11 {a} {b} za b