changeset 781:460df9965d63

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 31 Jul 2022 19:45:40 +0900
parents 10a036aeb688
children e8cf9c453431
files src/zorn.agda
diffstat 1 files changed, 25 insertions(+), 45 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Sun Jul 31 17:57:15 2022 +0900
+++ b/src/zorn.agda	Sun Jul 31 19:45:40 2022 +0900
@@ -265,8 +265,6 @@
       sup : HOD
       A∋maximal : A ∋ sup
       x<sup : {x : HOD} → B ∋ x → (x ≡ sup ) ∨ (x < sup )   -- B is Total, use positive
-      min-sup : {z : HOD } → B ∋ z → ( {x : HOD } → B ∋ x → (x ≡ z ) ∨ (x < z ) ) 
-          → (z ≡ sup ) ∨ (sup < z )  
 
 --
 --  sup and its fclosure is in a chain HOD
@@ -314,11 +312,6 @@
       f-next : {a : Ordinal } → odef chain a → odef chain (f a)
       f-total : IsTotalOrderSet chain
 
-      sup : SUP A chain
-      supf=sup : supf z ≡ & (SUP.sup sup)
-
-      supf-mono : { a b : Ordinal } → a o< b → supf a o≤ supf b
-      csupf : (z : Ordinal ) → odef chain (supf z) 
       sup=u : {b : Ordinal} → (ab : odef A b) → b o< z  → IsSup A (UnionCF A f mf ay supf (osuc b)) ab → supf b ≡ b 
       fcy<sup  : {u w : Ordinal } → u o< z  → FClosure A f init w → (w ≡ supf u ) ∨ ( w << supf u ) -- different from order because y o< supf 
       order : {b sup1 z1 : Ordinal} → b o< z → supf sup1 o< supf b → FClosure A f (supf sup1) z1 → (z1 ≡ supf b) ∨ (z1 << supf b)
@@ -724,16 +717,11 @@
 
           supf0 = ZChain.supf zc
 
-          csupf : (z : Ordinal) → odef (UnionCF A f mf ay supf0 x) (supf0 z)
-          csupf z with ZChain.csupf zc z
-          ... | ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫ 
-          ... | ⟪ az , ch-is-sup u is-sup fc ⟫ = ⟪ az , ch-is-sup u is-sup fc ⟫ 
-
           -- if previous chain satisfies maximality, we caan reuse it
           --
           no-extension : ZChain A f mf ay x
           no-extension = record { supf = supf0
-               ; initial = pinit ; chain∋init = pcy  ; csupf = csupf ; sup=u = {!!} ; order = {!!} ; fcy<sup = {!!} ; supf-mono = ZChain.supf-mono zc
+               ; initial = pinit ; chain∋init = pcy  ; sup=u = {!!} ; order = {!!} ; fcy<sup = {!!} 
               ;  chain⊆A = pchain⊆A ;  f-next = pnext ;  f-total = ptotal } 
 
           zc4 : ZChain A f mf ay x 
@@ -799,38 +787,30 @@
           order :  {b sup1 z1 : Ordinal} → b o< x →
             psupf sup1 o< psupf b →
             FClosure A f (psupf sup1) z1 → (z1 ≡ psupf b) ∨ (z1 << psupf b)
-          order {b} {s} {z1}  b<x ps<pb fc = ? where
-                bzc = pzc (osuc b) (ob<x lim b<x)
-                Sb : SUP A ?
-                Sb = ZChain.sup bzc
-                sb = & (SUP.sup (ZChain.sup bzc))
-                zc21 : ZChain.supf bzc (osuc b) ≡ sb
-                zc21 = ZChain.supf=sup bzc
-                zc22 :  {z : HOD} → UnionCF A f mf ay (ZChain.supf bzc) (osuc b) ∋ z 
-                    → (z ≡ SUP.sup (ZChain.sup bzc)) ∨ (z < SUP.sup (ZChain.sup bzc))
-                zc22 = SUP.x<sup (ZChain.sup bzc)
-                zc23 = SUP.min-sup (ZChain.sup bzc)
+          order {b} {s} {z1}  b<x ps<pb fc with trio< b x
+          ... | tri< a ¬b ¬c = ZChain.order uzc <-osuc zc21 zc20 where
+               uzc = pzc (osuc b) (ob<x lim a)
+               zc22 : psupf s ≡ ZChain.supf uzc s 
+               zc22 with trio< s x
+               ... | tri< s<x ¬b ¬c = zc23 where
+                   szc = pzc (osuc s) (ob<x lim s<x)
+                   zc23 :  ZChain.supf (pzc (osuc s) (ob<x lim s<x)) s ≡ ZChain.supf (pzc (osuc b) (ob<x lim a)) s
+                   zc23 = ?
+               ... | tri≈ ¬a b ¬c = ?
+               ... | tri> ¬a ¬b c = ?
+               zc21 :  ZChain.supf uzc s o< ZChain.supf uzc b
+               zc21 = subst (λ k → k o< _) zc22 ps<pb
+               zc20 : FClosure A f (ZChain.supf uzc s ) z1
+               zc20 = subst (λ k → FClosure A f k z1) zc22 fc
+          ... | tri≈ ¬a b ¬c = ⊥-elim (¬a b<x)
+          ... | tri> ¬a ¬b c = ⊥-elim (¬a b<x)
 
-          csupf : (z : Ordinal) → odef (UnionCF A f mf ay psupf x) (psupf z)
-          csupf z with trio< z x | inspect psupf z
-          ... | tri< z<x ¬b ¬c | record { eq = eq1 } = zc11 where
-                ozc = pzc (osuc z) (ob<x lim z<x)
-                zc12 : odef A (ZChain.supf ozc z) ∧ UChain A f mf ay (ZChain.supf ozc) (osuc z) (ZChain.supf ozc z)
-                zc12  = ZChain.csupf ozc z
-                zc11 : odef A (ZChain.supf ozc z) ∧ UChain A f mf ay psupf x (ZChain.supf ozc z)
-                zc11 = ⟪ az , ch-is-sup z cp1 (subst (λ k → FClosure A f k _) (sym eq1) (init az) ) ⟫ where
-                      az : odef A ( ZChain.supf ozc z )
-                      az = proj1 zc12
-                      zc20 : {z1  : Ordinal} → FClosure A f y z1 → (z1 ≡ psupf z) ∨ (z1 << psupf z)
-                      zc20 {z1} fc with ZChain.fcy<sup ozc <-osuc fc
-                      ... | case1 eq = case1 (trans eq (sym eq1) )
-                      ... | case2 lt = case2 (subst ( λ k → z1 << k ) (sym eq1) lt)
-                      cp1 : ChainP A f mf ay psupf z (ZChain.supf ozc z)
-                      cp1 = record {  fcy<sup = zc20   ; order = order z<x  }
-                     ---  u = supf u = supf z 
-          ... | tri≈ ¬a b ¬c | record { eq = eq1 } = ⟪ sa , ch-is-sup {!!} {!!} {!!} ⟫ where
-                sa = SUP.A∋maximal usup
-          ... | tri> ¬a ¬b c | record { eq = eq1 } = {!!}
+          fcy<sup : {u w : Ordinal} → u o< x → FClosure A f y w → (w ≡ psupf u) ∨ (w << psupf u)
+          fcy<sup {u} {w} u<x fc with trio< u x 
+          ... | tri< a ¬b ¬c = ZChain.fcy<sup uzc <-osuc fc where
+               uzc = pzc (osuc u) (ob<x lim a)
+          ... | tri≈ ¬a b ¬c = ⊥-elim (¬a u<x)
+          ... | tri> ¬a ¬b c = ⊥-elim (¬a u<x)
 
           pchain : HOD
           pchain = UnionCF A f mf ay psupf x
@@ -864,7 +844,7 @@
                           (sym (HasPrev.x=fy has-prev)) ( ch-is-sup u (ChainP-next A f mf ay _ is-sup) (fsuc _ fc))  ⟫ 
 
           no-extension : ZChain A f mf ay x
-          no-extension  = record { initial = pinit ; chain∋init = pcy  ; supf = psupf  ; csupf = csupf ; sup=u = {!!} ; order = {!!} ; fcy<sup = {!!}
+          no-extension  = record { initial = pinit ; chain∋init = pcy  ; supf = psupf  ; sup=u = {!!} ; order = order ; fcy<sup = fcy<sup
               ; supf-mono = {!!} ;  chain⊆A = pchain⊆A ;  f-next = pnext ;  f-total = ptotal }
           zc5 : ZChain A f mf ay x 
           zc5 with ODC.∋-p O A (* x)