changeset 902:49594badc9b4

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 09 Oct 2022 19:30:41 +0900
parents 6146d75131f5
children 5b6034ad8b98
files src/zorn.agda
diffstat 1 files changed, 24 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Sun Oct 09 17:58:41 2022 +0900
+++ b/src/zorn.agda	Sun Oct 09 19:30:41 2022 +0900
@@ -828,20 +828,21 @@
                  --  supf1 x ≡ sp1, which is not included now
 
                  pchainpx : HOD
-                 pchainpx = record { od = record { def = λ z →  (odef A z ∧ UChain A f mf ay supf0 px z ) ∨ FClosure A f px z  } ; odmax = & A ; <odmax = zc00 } where
-                      zc00 : {z : Ordinal } → (odef A z ∧ UChain A f mf ay supf0 px z ) ∨ FClosure A f px z → z o< & A
+                 pchainpx = record { od = record { def = λ z →  (odef A z ∧ UChain A f mf ay supf0 px z ) 
+                       ∨ FClosure A f (supf0 px) z  } ; odmax = & A ; <odmax = zc00 } where
+                      zc00 : {z : Ordinal } → (odef A z ∧ UChain A f mf ay supf0 px z ) ∨ FClosure A f (supf0 px) z → z o< & A
                       zc00 {z} (case1 lt) = z07 lt 
-                      zc00 {z} (case2 fc) = z09 ( A∋fc px f mf fc )
-                 zc01 : {z : Ordinal } → (odef A z ∧ UChain A f mf ay supf0 px z ) ∨ FClosure A f px z → odef A z
+                      zc00 {z} (case2 fc) = z09 ( A∋fc (supf0 px) f mf fc )
+                 zc01 : {z : Ordinal } → (odef A z ∧ UChain A f mf ay supf0 px z ) ∨ FClosure A f (supf0 px) z → odef A z
                  zc01 {z} (case1 lt) = proj1 lt 
-                 zc01 {z} (case2 fc) = ( A∋fc px f mf fc )
+                 zc01 {z} (case2 fc) = ( A∋fc (supf0 px) f mf fc )
 
-                 zc02 : { a b : Ordinal } → odef A a ∧ UChain A f mf ay supf0 px a → FClosure A f px b → a <= b
+                 zc02 : { a b : Ordinal } → odef A a ∧ UChain A f mf ay supf0 px a → FClosure A f (supf0 px) b → a <= b
                  zc02 {a} {b} ca fb = zc05 fb where
                     zc06 : MinSUP.sup (ZChain.minsup zc o≤-refl) ≡ px
                     zc06 = trans (sym ( ZChain.supf-is-minsup zc o≤-refl )) ?
-                    zc05 : {b : Ordinal } → FClosure A f px b → a <= b
-                    zc05 (fsuc b1 fb ) with proj1 ( mf b1 (A∋fc px f mf fb ))
+                    zc05 : {b : Ordinal } → FClosure A f (supf0 px) b → a <= b
+                    zc05 (fsuc b1 fb ) with proj1 ( mf b1 (A∋fc (supf0 px) f mf fb ))
                     ... | case1 eq = subst (λ k → a <= k ) (subst₂ (λ j k → j ≡ k) &iso &iso (cong (&) eq)) (zc05 fb)
                     ... | case2 lt = <-ftrans (zc05 fb) (case2 lt) 
                     zc05 (init b1 refl) with MinSUP.x<sup (ZChain.minsup zc o≤-refl) ? --
@@ -934,17 +935,21 @@
                          ; x<sup = ? ; minsup = ? } ; tsup=sup = sf1=sp1 px<z } 
 
                  csupf1 : {z1 : Ordinal } → supf1 z1 o< x → odef (UnionCF A f mf ay supf1 x) (supf1 z1) 
-                 csupf1 {z1} sz1<x with trio< (supf0 z1) px
-                 ... | tri< a ¬b ¬c = subst₂ (λ j k → odef j k ) ? (sym (sf1=sf0 (o<→≤ a) )) (case1 (ZChain.csupf zc a )) where
-                        z1≤px : z1 o≤ px
-                        z1≤px = o<→≤ ( ZChain.supf-inject zc (subst (λ k → supf0 z1 o< k ) ? a ))
-                 ... | tri≈ ¬a b ¬c = ?
-                 ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ zc21 , subst (λ k → z1 o< k ) (sym (Oprev.oprev=x op)) zc22 ⟫ ) where
-                      zc21 : px o< z1
-                      zc21 =  ZChain.supf-inject zc (subst (λ k → k o< supf0 z1) ? c  )
-                      zc22 : z1 o< x -- c : px o< supf0 z1
-                      zc22 = ? -- supf-inject0 supf-mono1 (ordtrans<-≤ sz1<x ? )
-                     -- c : px ≡ spuf0 px o< supf0 z1 , px o< z1 o≤ supf1 z1 o< x
+                 csupf1 {z1} sz1<x with trio< (supf1 z1) px
+                 ... | tri< a ¬b ¬c = csupf0 where
+                     zc18 : supf1 z1 ≡ supf0 z1
+                     zc18 = sf1=sf0 ?
+                     csupf0 : odef (UnionCF A f mf ay supf1 x) (supf1 z1) 
+                     csupf0 with ZChain.csupf zc (subst (λ k → k o< px) zc18 a )
+                     ... | ⟪ ab , ch-init fc ⟫ = ⟪ subst (λ k → odef A k) (sym zc18) ab , ch-init ? ⟫
+                     ... | ⟪ ab , ch-is-sup u u<x is-sup fc ⟫ = ⟪ subst (λ k → odef A k) (sym zc18) ab , 
+                          ch-is-sup u (subst (λ k → u o< k ) (Oprev.oprev=x op) (ordtrans u<x <-osuc) ) ?  ?  ⟫ 
+                 ... | tri≈ ¬a b ¬c = ⟪ asm , ch-is-sup (supf1 z1) sz1<x ? (init asm1 ? ) ⟫ where
+                     asm : odef A (supf1 z1)
+                     asm =  subst (λ k → odef A k ) ? ( MinSUP.asm sup1) 
+                     asm1 : odef A (supf1 (supf1 z1))
+                     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 with trio< x (supf0 px)