changeset 1017:ffdfd8d1303a

trying cscf as odef (UnionCF A f mf ay supf z) w
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 24 Nov 2022 10:49:29 +0900
parents aeda5d0537d7
children c63f1fadd27f
files src/zorn.agda
diffstat 1 files changed, 35 insertions(+), 29 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Thu Nov 24 08:48:38 2022 +0900
+++ b/src/zorn.agda	Thu Nov 24 10:49:29 2022 +0900
@@ -431,7 +431,7 @@
       sup=u : {b : Ordinal} → (ab : odef A b) → b o≤ z
            → IsSUP A (UnionCF A f mf ay supf b) ab ∧ (¬ HasPrev A (UnionCF A f mf ay supf b) f b ) → supf b ≡ b
       cfcs : (mf< : <-monotonic-f A f)
-         {a b w : Ordinal } → a o< b → b o≤ z → supf a o< z  → FClosure A f (supf a) w → odef (UnionCF A f mf ay supf b) w
+         {a b w : Ordinal } → a o< b → b o≤ z → supf a o< z  → FClosure A f (supf a) w → odef (UnionCF A f mf ay supf z) w
 
       asupf :  {x : Ordinal } → odef A (supf x)
       supf-mono : {x y : Ordinal } → x o≤  y → supf x o≤ supf y
@@ -529,7 +529,7 @@
        z54 {w} ⟪ aw , ch-init fc ⟫ = fcy<sup b≤z fc
        z54 {w} ⟪ aw , ch-is-sup u u<x is-sup fc ⟫ = subst (λ k → (w ≡ k) ∨ (w << k )) 
                    (sym (supf-is-minsup b≤z)) 
-                   (MinSUP.x≤sup (minsup b≤z) (cfcs mf< u<b b≤z su<z fc )) where
+                   (MinSUP.x≤sup (minsup b≤z) ?) where
                u<b : u o< b
                u<b = supf-inject ( subst (λ k → k o< supf b) (sym (ChainP.supu=u is-sup)) u<x )
                su<z : supf u o< z
@@ -859,7 +859,7 @@
                       m11 : {z : Ordinal} → FClosure A f (supf b) z → (z ≡ ZChain.supf zc x) ∨ (z << ZChain.supf zc x)
                       m11 {z} fc = subst (λ k → (z ≡ k) ∨ (z << k)) (sym m18) ( MinSUP.x≤sup m17 m13 ) where
                           m13 :  odef (UnionCF A f mf ay supf x) z
-                          m13 = ZChain.cfcs zc mf< b<x x≤A (ZChain.supf<A zc) fc
+                          m13 = ? -- ZChain.cfcs zc mf< b<x x≤A (ZChain.supf<A zc) fc
 
         ... | no lim = record { is-max = is-max ; order = order }  where
                is-max :  {a : Ordinal} {b : Ordinal} → odef (UnionCF A f mf ay supf x) a →
@@ -897,7 +897,7 @@
                       m11 : {z : Ordinal} → FClosure A f (supf b) z → (z ≡ ZChain.supf zc x) ∨ (z << ZChain.supf zc x)
                       m11 {z} fc = subst (λ k → (z ≡ k) ∨ (z << k)) (sym m18) ( MinSUP.x≤sup m17 m13 ) where
                           m13 :  odef (UnionCF A f mf ay supf x) z
-                          m13 = ZChain.cfcs zc mf< b<x x≤A (ZChain.supf<A zc) fc
+                          m13 = ? -- ZChain.cfcs zc mf< b<x x≤A (ZChain.supf<A zc) fc
 
      uchain : ( f : Ordinal → Ordinal ) → (mf : ≤-monotonic-f A f ) {y : Ordinal} (ay : odef A y) → HOD
      uchain f mf {y} ay = record { od = record { def = λ x → FClosure A f y x } ; odmax = & A ; <odmax =
@@ -1099,28 +1099,28 @@
                  -- this is a kind of maximality, so we cannot prove this without <-monotonicity
                  --
                  cfcs : (mf< : <-monotonic-f A f) {a b w : Ordinal } 
-                     → a o< b → b o≤ x → supf1 a o< x  → FClosure A f (supf1 a) w → odef (UnionCF A f mf ay supf1 b) w
+                     → a o< b → b o≤ x → supf1 a o< x  → FClosure A f (supf1 a) w → odef (UnionCF A f mf ay supf1 x) w
                  cfcs mf< {a} {b} {w} a<b b≤x sa<x fc with zc43 (supf0 a) px
                  ... | case2 px≤sa = z50 where
                       a≤px : a o≤ px
                       a≤px = subst (λ k → a o< k) (sym (Oprev.oprev=x op)) (ordtrans<-≤ a<b b≤x)
                       --  supf0 a ≡ px we cannot use previous cfcs, it is in the chain because
                       --       supf0 a ≡ supf0 (supf0 a) ≡ supf0 px o< x
-                      z50 : odef (UnionCF A f mf ay supf1 b) w
+                      z50 : odef (UnionCF A f mf ay supf1 x) w
                       z50 with osuc-≡< px≤sa
                       ... | case1 px=sa = ⟪ A∋fc {A} _ f mf fc , ch-is-sup (supf0 px) ? ? (subst (λ k → FClosure A f k w) ? fc)  ⟫ 
                       ... | case2 px<sa = ⊥-elim ( ¬p<x<op ⟪ px<sa , subst₂ (λ j k → j o< k ) (sf1=sf0 a≤px) (sym (Oprev.oprev=x op)) sa<x ⟫  ) 
                  ... | case1 sa<px with trio< a px
                  ... | tri< a<px ¬b ¬c = z50 where
-                      z50 : odef (UnionCF A f mf ay supf1 b) w
+                      z50 : odef (UnionCF A f mf ay supf1 x) w
                       z50 with osuc-≡< b≤x
                       ... | case2 lt with ZChain.cfcs zc mf< a<b (subst (λ k → b o< k) (sym (Oprev.oprev=x op)) lt) sa<px fc  
                       ... | ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫ 
-                      ... | ⟪ az , ch-is-sup u u<b is-sup fc ⟫ = ⟪ az , ch-is-sup u u<b cp1 (fcpu fc u≤px )  ⟫  where -- u o< px → u o< b ?
+                      ... | ⟪ az , ch-is-sup u u<b is-sup fc ⟫ = ⟪ az , ch-is-sup u ? cp1 (fcpu fc u≤px )  ⟫  where -- u o< px → u o< b ?
                            u≤px : u o≤ px
-                           u≤px = subst (λ k → u o< k) (sym (Oprev.oprev=x op))  (ordtrans<-≤ u<b b≤x )
+                           u≤px = subst (λ k → u o< k) (sym (Oprev.oprev=x op))  (ordtrans<-≤ u<b ? )
                            u<x : u o< x
-                           u<x = ordtrans<-≤ u<b b≤x 
+                           u<x = ordtrans<-≤ u<b ? --b≤x 
                            cp1 : ChainP A f mf ay supf1 u
                            cp1 = record { fcy<sup = λ {z} fc → subst (λ k → (z ≡ k) ∨ ( z << k ) ) (sf=eq u<x) (ChainP.fcy<sup is-sup fc )  
                                ; order =  λ {s} {z} s<u fc  → subst (λ k → (z ≡ k) ∨ ( z << k ) ) (sf=eq u<x) 
@@ -1130,7 +1130,7 @@
                                ; supu=u = trans (sym (sf=eq u<x)) (ChainP.supu=u is-sup)  }
                       z50 | case1 eq with ZChain.cfcs zc mf< a<px o≤-refl sa<px fc  
                       ... | ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫ 
-                      ... | ⟪ az , ch-is-sup u u<px is-sup fc ⟫ = ⟪ az , ch-is-sup u u<b cp1 (fcpu fc (o<→≤ u<px)) ⟫  where -- u o< px → u o< b ?
+                      ... | ⟪ az , ch-is-sup u u<px is-sup fc ⟫ = ⟪ az , ch-is-sup u ? cp1 (fcpu fc (o<→≤ u<px)) ⟫  where -- u o< px → u o< b ?
                            u<b : u o< b
                            u<b = subst (λ k → u o< k ) (trans (Oprev.oprev=x op) (sym eq) ) (ordtrans u<px <-osuc )
                            u<x : u o< x
@@ -1155,9 +1155,9 @@
                       z51 = subst (λ k → FClosure A f k w) (sym (trans (cong supf1 (sym a=px)) (sf1=sf0 (o≤-refl0 a=px) ))) fc
                       z53 : odef A w
                       z53 = A∋fc {A} _ f mf fc
-                      csupf1 : odef (UnionCF A f mf ay supf1 b) w
+                      csupf1 : odef (UnionCF A f mf ay supf1 x) w
                       csupf1 with trio< (supf0 px) x
-                      ... | tri< sfpx<x ¬b ¬c = ⟪ z53 , ch-is-sup spx (subst (λ k → spx o< k) (sym b=x) sfpx<x) cp1 fc1 ⟫  where
+                      ... | tri< sfpx<x ¬b ¬c = ⟪ z53 , ch-is-sup spx ? cp1 fc1 ⟫  where
                           spx = supf0 px
                           spx≤px : supf0 px o≤ px
                           spx≤px = zc-b<x _ sfpx<x
@@ -1168,8 +1168,9 @@
                           order : {s z1 : Ordinal} → supf1 s o< supf1 spx → FClosure A f (supf1 s) z1 → (z1 ≡ supf1 spx) ∨ (z1 << supf1 spx)
                           order {s} {z1} ss<spx fcs = subst (λ k → (z1 ≡ k) ∨ (z1 << k )) 
                                    (trans (sym (ZChain.supf-is-minsup zc spx≤px )) (sym (sf1=sf0 spx≤px) ) )
-                                   (MinSUP.x≤sup (ZChain.minsup zc spx≤px) (ZChain.cfcs zc mf< (supf-inject0 supf1-mono ss<spx) 
-                                       spx≤px ss<px (fcup fcs (ordtrans (supf-inject0 supf1-mono ss<spx) spx≤px ) ))) where
+                                   (MinSUP.x≤sup (ZChain.minsup zc spx≤px) ? )  where
+                                    -- (ZChain.cfcs zc mf< (supf-inject0 supf1-mono ss<spx) 
+                                    --    spx≤px ss<px (fcup fcs (ordtrans (supf-inject0 supf1-mono ss<spx) spx≤px ) ))) where
                                           ss<px : supf0 s o< px
                                           ss<px = osucprev ( begin
                                             osuc (supf0 s)  ≡⟨ cong osuc (sym (sf1=sf0 ( begin
@@ -1267,12 +1268,12 @@
                  --     supf1 x ≡ supf0 px because of supfmax
 
                  cfcs : (mf< : <-monotonic-f A f) {a b w : Ordinal } 
-                     → a o< b → b o≤ x →  supf0 a o< x → FClosure A f (supf0 a) w → odef (UnionCF A f mf ay supf0 b) w
+                     → a o< b → b o≤ x →  supf0 a o< x → FClosure A f (supf0 a) w → odef (UnionCF A f mf ay supf0 x) w
                  cfcs mf< {a} {b} {w} a<b b≤x sa<x fc with trio< b px 
-                 ... | tri< a ¬b ¬c = ZChain.cfcs zc mf< a<b (o<→≤ a) ? fc
-                 ... | tri≈ ¬a refl ¬c = ZChain.cfcs zc mf< a<b o≤-refl ? fc
+                 ... | tri< a ¬b ¬c = ? -- ZChain.cfcs zc mf< a<b (o<→≤ a) ? fc
+                 ... | tri≈ ¬a refl ¬c = ? -- ZChain.cfcs zc mf< a<b o≤-refl ? fc
                  ... | tri> ¬a ¬b px<b with trio< a px
-                 ... | tri< a ¬b ¬c = chain-mono f mf ay (ZChain.supf zc) (ZChain.supf-mono zc) (o<→≤ px<b) ( ZChain.cfcs zc mf< a o≤-refl ? fc )
+                 ... | tri< a ¬b ¬c = ? -- chain-mono f mf ay (ZChain.supf zc) (ZChain.supf-mono zc) (o<→≤ px<b) ( ZChain.cfcs zc mf< a o≤-refl ? fc )
                  ... | tri> ¬a ¬b c = ⊥-elim ( o≤> ? c )
                  ... | tri≈ ¬a refl ¬c = ? --  supf0 px o< x  → odef (UnionCF A f mf ay supf0 x) (supf0 px)
                                            --  x o≤ supf0 px o≤ sp  →
@@ -1422,7 +1423,7 @@
           ... | tri> ¬a ¬b c = ?
 
           cfcs : (mf< : <-monotonic-f A f) {a b w : Ordinal } 
-                 → a o< b → b o≤ x →  supf1 a o< x → FClosure A f (supf1 a) w → odef (UnionCF A f mf ay supf1 b) w
+                 → a o< b → b o≤ x →  supf1 a o< x → FClosure A f (supf1 a) w → odef (UnionCF A f mf ay supf1 x) w
           cfcs mf< {a} {b} {w} a<b b≤x sa<x fc with osuc-≡< b≤x
           ... | case1 b=x with trio< a x 
           ... | tri< a<x ¬b ¬c = zc40 where
@@ -1448,16 +1449,14 @@
                fcm = subst (λ k → FClosure A f k w ) (zeq (ob<x lim a<x) (ob<x lim m<x) zc42 (o<→≤ <-osuc) ) fc
                zcm : odef (UnionCF A f mf ay (ZChain.supf (pzc  (ob<x lim m<x))) (osuc (omax a sa))) w
                zcm = ZChain.cfcs (pzc  (ob<x lim m<x)) mf< (o<→≤ (omax-x _ _)) o≤-refl (o<→≤ sam<m) fcm
-               zc40 : odef (UnionCF A f mf ay supf1 b) w
+               zc40 : odef (UnionCF A f mf ay supf1 x) w
                zc40 with ZChain.cfcs (pzc  (ob<x lim m<x)) mf< (o<→≤ (omax-x _ _)) o≤-refl (o<→≤ sam<m) fcm
                ... | ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫ 
-               ... | ⟪ az , ch-is-sup u u<x is-sup fc1 ⟫ = ⟪ az , ch-is-sup u u<b ? fc2 ⟫  where -- u o< px → u o< b ?
+               ... | ⟪ az , ch-is-sup u u<x is-sup fc1 ⟫ = ⟪ az , ch-is-sup u ? ? fc2 ⟫  where -- u o< px → u o< b ?
                    zc55 : u o< osuc m
                    zc55 = u<x
-                   zc56 : u ≡ supf1 a
-                   zc56 = ?
                    u<b : u o< b --      b o≤ u → b o≤ a -- u ≡ supf1 a
-                   u<b = ?
+                   u<b = subst (λ k → u o< k ) (sym b=x) ( ordtrans u<x (ob<x lim m<x))
                    fc1m : FClosure A f (ZChain.supf (pzc (ob<x lim m<x)) u) w
                    fc1m = fc1
                    fc1a : FClosure A f (ZChain.supf (pzc (ob<x lim a<x)) a) w
@@ -1469,12 +1468,19 @@
           ... | tri≈ ¬a b ¬c = ⊥-elim ( ¬a (ordtrans<-≤ a<b b≤x))
           ... | tri> ¬a ¬b c = ⊥-elim ( ¬a (ordtrans<-≤ a<b b≤x))
           cfcs mf< {a} {b} {w} a<b b≤x sa<x fc | case2 b<x = zc40 where
-               zcb : odef (UnionCF A f mf ay (ZChain.supf (pzc  (ob<x lim b<x))) b) w
-               zcb = ZChain.cfcs (pzc (ob<x lim b<x)) mf< ? ? ? ?
-               zc40 : odef (UnionCF A f mf ay supf1 b) w
+               supfb =  ZChain.supf (pzc (ob<x lim b<x)) 
+               fcb : FClosure A f (supfb a) w
+               fcb = ?
+               --  supfb a o≤ supfb b
+               --  supfb (supfb a) o≤ supfb b
+               sa<b : supfb a o< osuc b
+               sa<b = ?
+               zcb : odef (UnionCF A f mf ay supfb x) w
+               zcb = ? -- ZChain.cfcs (pzc (ob<x lim b<x)) mf< a<b (o<→≤ <-osuc) sa<b fcb
+               zc40 : odef (UnionCF A f mf ay supf1 x) w
                zc40 with zcb
                ... | ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫ 
-               ... | ⟪ az , ch-is-sup u u<x is-sup fc1 ⟫ = ⟪ az , ch-is-sup u ? ? ? ⟫  
+               ... | ⟪ az , ch-is-sup u u<x is-sup fc1 ⟫ = ⟪ az , ch-is-sup u u<x ? ? ⟫  
                  
      ---
      --- the maximum chain  has fix point of any ≤-monotonic function