changeset 724:97efa6b434c9

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 16 Jul 2022 17:30:43 +0900
parents e5cde0cd6a83
children 3c42f0441bbc
files src/zorn.agda
diffstat 1 files changed, 21 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Sat Jul 16 08:19:50 2022 +0900
+++ b/src/zorn.agda	Sat Jul 16 17:30:43 2022 +0900
@@ -241,6 +241,12 @@
       A∋maximal : A ∋ sup
       x<sup : {x : HOD} → B ∋ x → (x ≡ sup ) ∨ (x < sup )   -- B is Total, use positive
 
+record IsSup>b (A : HOD) (b : Ordinal) (p : Ordinal) : Set n where
+  field
+     x2 : Ordinal
+     ax2 : odef A x2
+     b<x2 : b o< x2
+     is-sup>b : IsSup A (* p) ax2
 --
 --  sup and its fclosure is in a chain HOD
 --    chain HOD is sorted by sup as Ordinal and <-ordered
@@ -304,6 +310,12 @@
       A∋maximal : A ∋ maximal
       ¬maximal<x : {x : HOD} → A ∋ x  → ¬ maximal < x       -- A is Partial, use negative
 
+-- IsSup→Maximal : {A B : HOD} → {s : Ordinal } → ( B⊆A : B ⊆' A ) → ( bs : odef B s )→ IsSup A B (B⊆A bs) → Maximal A
+-- IsSup→Maximal {A} {B} {s}  B⊆A bs is-sup 
+--       = record { maximal = * s ; A∋maximal = subst (λ k → odef A k ) (sym &iso) (B⊆A bs) ;  ¬maximal<x = is00 } where
+--    is00 : {z : HOD} → A ∋ z → ¬ (* s < z)
+--    is00 = ?
+
 -- data Chain (A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f)  {y : Ordinal} (ay : odef A y) : Ordinal →  Ordinal → Set n where
 --
 -- data Chain is total
@@ -346,8 +358,8 @@
 
 ChainP-next : (A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f)  {y : Ordinal} (ay : odef A y) (supf : Ordinal → Ordinal )
    → {x z : Ordinal } →  ChainP A f mf ay supf x z → ChainP A f mf ay supf x (f z )
-ChainP-next A f mf {y} ay supf {x} {z} cp = record { y-init = ChainP.y-init cp ; asup = ChainP.asup cp  ; au = ChainP.au cp
-     ; fcy<sup = ChainP.fcy<sup cp ; csupz = fsuc _ (ChainP.csupz cp) ; order = ChainP.order cp }
+ChainP-next A f mf {y} ay supf {x} {z} cp = ? --record { y-init = ChainP.y-init cp ; asup = ChainP.asup cp  ; au = ChainP.au cp
+     -- ; fcy<sup = ChainP.fcy<sup cp ; csupz = fsuc _ (ChainP.csupz cp) ; order = ChainP.order cp }
 
 Zorn-lemma : { A : HOD } 
     → o∅ o< & A 
@@ -652,8 +664,8 @@
                        x<sup = λ {y} zy → subst (λ k → (y ≡ k) ∨ (y << k)) (trans b=px (sym &iso)) 
                           (IsSup.x<sup b=sup (chain-mono zy) )  } ) 
                 ... | tri< b<px ¬b ¬c = chain-mono (ZChain.is-max zc pa b<px ab (case2 record { x<sup = sup1 }) a<b) where
-                   -- b=sup contradicts u = px
-                   --    FClosure px is in pchain, if sup (fc px) o< x , it is the Maximal
+                   -- if b=sup and ¬ Isup>b , then b is Maximal
+                   --   px o< sup (fc u) ∈ pchain contradicts b=sup ( x o< sup x )
                    z19 : {z : Ordinal} (az : odef pchain z) → ¬ UChain.u (proj2 az) ≡ px
                    z19 {z} za@record {proj1 =  az ; proj2 =  record { u = u ; u<x = case1 a ; uchain = ch-is-sup is-sup fc } } 
                          with trio< (UChain.u (proj2 za))  px
@@ -747,14 +759,11 @@
                             * a < * b → odef pchain b
                 z18 {a} {b} za b<x ab P a<b with P
                 ... | case1 pr = subst (λ k → odef pchain k ) (sym (HasPrev.x=fy pr)) ( pnext (HasPrev.ay pr) )
-                ... | case2 b=sup = ⟪ ab , record { u = UChain.u (proj2 za) ; u<x = ? ; uchain = ? }  ⟫ where
-                    --   FClosure b o< x and A ∋ sup (fc b)  → pchain ∋ sup (fc b) >> b conradicts b=sup
-                    z30 : odef (UnionCF A f mf ay (ZChain.supf (uzc za) ) (UChain.u (proj2 za)) ) b
-                    z30 with UChain.u<x (proj2 za)
-                    ... | case1 u<x = ⟪ ab , record { u = (UChain.u (proj2 z31)) ; u<x =  case1 ? ; uchain = ? }   ⟫ where
-                      z31 = ZChain.is-max (uzc za) ⟪ proj1 za , 
-                         record { u = (UChain.u (proj2 za)) ; u<x =  case1 ? ; uchain = ? }   ⟫ ?  ab (case2 ?) a<b 
-                    ... | case2 u=0 = ?
+                ... | case2 b=sup = ⟪ ab , record { u = UChain.u (proj2 z30) ; u<x = ? ; uchain = ? } ⟫ where
+                    ob<x : osuc b o< x
+                    ob<x = ?
+                    z30 : odef (UnionCF A f mf ay (ZChain.supf (prev (osuc b) ob<x))(osuc b)) b
+                    z30 = ZChain.is-max (pzc _ ob<x) ? <-osuc  ab (case1 ?) a<b 
 
                 --⊥-elim ( ¬x=sup record { 
                 --      x<sup = λ {y} zy → subst (λ k → (y ≡ k) ∨ (y << k)) ?