changeset 904:4541c9974e53

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 10 Oct 2022 09:33:54 +0900
parents 5b6034ad8b98
children e6a282eb12fe
files src/zorn.agda
diffstat 1 files changed, 30 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Sun Oct 09 21:51:23 2022 +0900
+++ b/src/zorn.agda	Mon Oct 10 09:33:54 2022 +0900
@@ -440,12 +440,6 @@
    ... | case1 eq = ⊥-elim ( o<¬≡ (sym eq) sx<sy )
    ... | case2 lt = ⊥-elim ( o<> sx<sy lt )
 
-   supf∈A : {b : Ordinal} → b o≤ z → odef A (supf b)
-   supf∈A {b} b≤z = subst (λ k → odef A k ) (sym (supf-is-minsup b≤z)) ( MinSUP.asm ( minsup b≤z ) )
-
-   -- supf-idem : {x : Ordinal } → supf x o≤ z  → supf (supf x) ≡ supf x
-   -- supf-idem {x} sx≤z = sup=u (supf∈A ?) sx≤z ?
-
    fcy<sup  : {u w : Ordinal } → u o≤ z  → FClosure A f y w → (w ≡ supf u ) ∨ ( w << supf u ) -- different from order because y o< supf 
    fcy<sup  {u} {w} u≤z fc with MinSUP.x<sup (minsup u≤z) ⟪ subst (λ k → odef A k ) (sym &iso) (A∋fc {A} y f mf fc)  
        , ch-init (subst (λ k → FClosure A f y k) (sym &iso) fc ) ⟫ 
@@ -454,6 +448,19 @@
 
    -- ordering is not proved here but in ZChain1 
 
+   supf-idem : {x : Ordinal } → supf x o≤ z  
+       → ¬ HasPrev A (UnionCF A f mf ay supf (supf x)) (supf x) f
+       → supf (supf x) ≡ supf x
+   supf-idem {x} sx≤z ¬np = sup=u asupf sx≤z ⟪ record { x<sup = si00  } , ¬np ⟫  where
+        ms : MinSUP A (UnionCF A f mf ay supf (supf x)) 
+        ms =  minsup sx≤z  
+        mseq : supf (supf x) ≡ MinSUP.sup ( minsup sx≤z   )
+        mseq =  supf-is-minsup sx≤z
+        si00 : {w : Ordinal} → odef (UnionCF A f mf ay supf (supf x)) w → (w ≡ supf x) ∨ (w << supf x)
+        si00 {w} uw with MinSUP.x<sup ms uw
+        ... | case1 eq = case1 (subst (λ k → w ≡ k ) ? eq)
+        ... | case2 lt = case2 (subst (λ k → w << k ) ? lt)
+
 record ZChain1 ( A : HOD )    ( f : Ordinal → Ordinal )  (mf : ≤-monotonic-f A f) 
         {y : Ordinal} (ay : odef A y)  (zc : ZChain A f mf ay (& A)) ( z : Ordinal ) : Set (Level.suc n) where
    supf = ZChain.supf zc
@@ -820,8 +827,8 @@
           ... | case1 eq = case2 eq
           ... | case2 b<x = ⊥-elim ( ¬p<x<op ⟪ px<b , subst (λ k → b o< k ) (sym (Oprev.oprev=x op)) b<x  ⟫ ) 
 
-          zc41 : supf0 px o≤ x →  ZChain A f mf ay x 
-          zc41 sfpx≤x =  record { supf = supf1 ; sup=u = ? ; asupf = ? ; supf-mono = supf1-mono ; supf-< = ?
+          zc41 : supf0 px o< x →  ZChain A f mf ay x 
+          zc41 sfpx<x =  record { supf = supf1 ; sup=u = ? ; asupf = ? ; supf-mono = supf1-mono ; supf-< = ?
               ; supfmax = ? ; minsup = ? ; supf-is-minsup = ? ; csupf = csupf1    }  where
                  --  supf0 px is included by the chain
                  --  ( UnionCF A f mf ay supf0 px ∪ FClosure (supf0 px) ) ≡ UnionCF supf1 x 
@@ -998,14 +1005,15 @@
                         zc21 {z1} (fsuc z2 fc ) with zc21 fc
                         ... | ⟪ ua1 , ch-init fc₁ ⟫ = ⟪ proj2 ( mf _ ua1)  , ch-init (fsuc _ fc₁)  ⟫ 
                         ... | ⟪ ua1 , ch-is-sup u u≤x u1-is-sup fc₁ ⟫ = ⟪ proj2 ( mf _ ua1)  , ch-is-sup u u≤x u1-is-sup (fsuc _ fc₁) ⟫ 
-                        zc21 (init asp refl ) = ⟪ asp , ch-is-sup (supf0 px) ?
-                                   record {fcy<sup = ? ; order = ? ; supu=u = ? } ? ⟫ where
-                            zc15 : supf1 px ≡ px
-                            zc15 = trans (sf1=sf0 o≤-refl ) ?
-                            zc14 : FClosure A f (supf1 px) px
-                            zc14 = init (subst (λ k → odef A k) ? asp) zc15
+                        zc21 (init asp refl ) = ⟪ asp , ch-is-sup (supf0 px) sfpx<x
+                                   record {fcy<sup = ? ; order = zc18 ; supu=u = zc15 } (init (asupf1 {supf0 px}) zc15) ⟫ where
+                            zc15 : supf1 (supf0 px) ≡ supf0 px
+                            zc15 = ?
                             zc13 : {z : Ordinal } → FClosure A f y z → (z ≡ supf1 px ) ∨ ( z << supf1 px )
                             zc13 {z} fc = subst (λ k → (z ≡ k) ∨ ( z << k )) (sym (sf1=sf0 o≤-refl)) ( ZChain.fcy<sup zc o≤-refl fc )
+                            zc18 : {s : Ordinal} {z1 : Ordinal} → supf1 s o< supf1 (supf0 px) →
+                                FClosure A f (supf1 s) z1 → (z1 ≡ supf1 (supf0 px)) ∨ (z1 << supf1 (supf0 px))
+                            zc18 {s} {z1} ss<sf fc = ?
                             zc17 :  {s : Ordinal} {z1 : Ordinal} → supf1 s o< supf1 px →
                                   FClosure A f (supf1 s) z1 → (z1 ≡ supf1 px) ∨ (z1 << supf1 px)
                             zc17 {s} {z1} ss<spx fc = subst (λ k → (z1 ≡ k) ∨ (z1 << k )) mins-is-spx 
@@ -1016,12 +1024,13 @@
                                 mins-is-spx = trans (sym ( ZChain.supf-is-minsup zc o≤-refl ) ) (sym (sf1=sf0 o≤-refl ))
                                 s<px : s o< px
                                 s<px = supf-inject0 supf1-mono ss<spx
-                                sf<px : supf0 s o< px
-                                sf<px = subst₂ (λ j k → j o< k ) (sf1=sf0 (o<→≤ s<px)) (trans (sf1=sf0 o≤-refl) ?) ss<spx
-                                -- (sf1=sf0 ?) (trans ? sfpx=px ) ss<spx
+                                sf≤px : supf0 s o≤ px
+                                sf≤px = subst (λ k → supf0 s o< k ) ? (ordtrans ? sfpx<x )
                                 csupf17 : {z1 : Ordinal } → FClosure A f (supf0 s) z1 → odef (UnionCF A f mf ay supf0 px) z1
-                                csupf17 (init as refl ) = ZChain.csupf zc sf<px 
                                 csupf17 (fsuc x fc) = ZChain.f-next zc (csupf17 fc)
+                                csupf17 (init as refl ) with osuc-≡< sf≤px 
+                                ... | case2 sf<px = ZChain.csupf zc sf<px 
+                                ... | case1 sf=px = ?
 
 
                  record STMP {z : Ordinal} (z≤x : z o≤ x ) : Set (Level.suc n) where
@@ -1057,10 +1066,10 @@
                      asm1 =  subst (λ k → odef A k ) ? ( MinSUP.asm sup1) 
                  ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ c , subst (λ k → supf1 z1 o< k ) (sym (Oprev.oprev=x op)) sz1<x ⟫  ) 
 
-          zc4 : ZChain A f mf ay x     --- supf px ≤ supf x
+          zc4 : ZChain A f mf ay x     --- x o≤ supf px 
           zc4 with trio< x (supf0 px)
-          ... | tri> ¬a ¬b c = zc41 (o<→≤ c)
-          ... | tri≈ ¬a b ¬c = zc41 (o≤-refl0 (sym b))
+          ... | tri> ¬a ¬b c = zc41 c
+          ... | tri≈ ¬a b ¬c = ?
           ... | tri< a ¬b ¬c = record { supf = supf0 ; sup=u = ? ; asupf = ? ; supf-mono = ? ; supf-< = ?
               ; supfmax = ? ; minsup = ? ; supf-is-minsup = ? ; csupf = ?    }  where