changeset 1070:33d601c9ee96

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 13 Dec 2022 18:39:15 +0900
parents 99df080f4fdb
children 5463f10d6843
files src/zorn.agda
diffstat 1 files changed, 33 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Tue Dec 13 09:31:11 2022 +0900
+++ b/src/zorn.agda	Tue Dec 13 18:39:15 2022 +0900
@@ -886,7 +886,8 @@
              m14 {z} uz = MinSUP.x≤sup sup1 (case1 uz)
 
           zc41 : ZChain A f mf< ay x
-          zc41 =  record { supf = supf1 ; asupf = asupf1 ; supf-mono = supf1-mono ; order = order ; 0<supfz = ?
+          zc41 =  record { supf = supf1 ; asupf = asupf1 ; supf-mono = supf1-mono ; order = order 
+              ; 0<supfz = 0<supfz 
               ; zo≤sz = zo≤sz ; supfmax = supfmax ; is-minsup = is-minsup ;  cfcs = cfcs  }  where
 
                  supf1 : Ordinal → Ordinal
@@ -939,6 +940,9 @@
                        zc18 = subst (λ k → k o≤ sp1) zc20( MinSUP.minsup zc21 (MinSUP.as sup1) zc24 )
                  ... | tri> ¬a ¬b c = o≤-refl
 
+                 0<supfz : {x : Ordinal } → o∅ o< supf1 x
+                 0<supfz = ordtrans<-≤ (ZChain.0<supfz zc) (OrdTrans (o≤-refl0 (sym (sf1=sf0 o∅≤z))) (supf1-mono o∅≤z))
+
                  sf≤ :  { z : Ordinal } → x o≤ z → supf0 x o≤ supf1 z
                  sf≤ {z} x≤z with trio< z px
                  ... | tri< a ¬b ¬c = ⊥-elim ( o<> (osucc a) (subst (λ k → k o≤ z) (sym (Oprev.oprev=x op)) x≤z ) )
@@ -1448,15 +1452,18 @@
                zc01 : supf1 z o≤ supf1 y -- ZChain.supf (pzc  (ob<x lim y<x)) y
                zc01 with trio< z x
                ... | tri< z<x ¬b ¬c = begin
-                  ZChain.supf (pzc  (ob<x lim z<x)) z ≤⟨ ZChain.supf-mono (pzc  (ob<x lim z<x)) z≤y  ⟩
-                  ZChain.supf (pzc  (ob<x lim z<x)) y ≡⟨ zeq _ _ ? ? ⟩
-                  ZChain.supf (pzc  (ob<x lim y<x)) y ≡⟨ sym (sf1=sf ?) ⟩
+                  ZChain.supf (pzc  (ob<x lim z<x)) z ≡⟨ zeq _ _ (osucc z≤y) (o<→≤ <-osuc)  ⟩
+                  ZChain.supf (pzc  (ob<x lim y<x)) z ≤⟨ ZChain.supf-mono (pzc  (ob<x lim y<x)) z≤y  ⟩
+                  ZChain.supf (pzc  (ob<x lim y<x)) y ≡⟨ sym (sf1=sf y<x) ⟩
                   supf1 y ∎ 
                ... | tri≈ ¬a b ¬c = ?
                ... | tri> ¬a ¬b c = ?
           ... | tri≈ ¬a b ¬c = ?
           ... | tri> ¬a ¬b c = ?
 
+          0<sufz : {x : Ordinal } → o∅ o< supf1 x
+          0<sufz = ordtrans<-≤ (ZChain.0<supfz (pzc (ob<x lim 0<x ))) (OrdTrans (o≤-refl0 (sym (sf1=sf 0<x ))) (supf-mono o∅≤z))
+
           is-minsup :  {z : Ordinal} → z o≤ x → IsMinSUP A (UnionCF A f ay supf1 z) (supf1 z)
           is-minsup = ?
 
@@ -1489,7 +1496,20 @@
                zc40 : odef (UnionCF A f ay supf1 b) w
                zc40 with ZChain.cfcs (pzc  (ob<x lim m<x)) (o<→≤ (omax-x _ _)) o≤-refl (o<→≤ sam<m) fcm
                ... | ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫
-               ... | ⟪ az , ch-is-sup u u<x su=u fc ⟫ = ⟪ az , ch-is-sup u ? ? ?  ⟫
+               ... | ⟪ az , ch-is-sup u u<x su=u fc ⟫ = ⟪ az , ch-is-sup u u<b (trans zc45 su=u) zc44 ⟫ where
+                   u<b : u o< b
+                   u<b = osucprev ( begin
+                       osuc u ≤⟨ osucc u<x ⟩
+                       osuc m ≤⟨ osucc m<x ⟩
+                       x ≡⟨ sym b=x ⟩
+                       b ∎ ) where open o≤-Reasoning O
+                   zc45 : supf1 u ≡  ZChain.supf (pzc  (ob<x lim m<x)) u 
+                   zc45 = begin
+                       supf1 u ≡⟨ sf1=sf (subst (λ k → u o< k) b=x u<b )  ⟩
+                       ZChain.supf (pzc  (ob<x lim (subst (λ k → u o< k) b=x u<b ))) u  ≡⟨ zeq _ _ (osucc u<x) (o<→≤ <-osuc)  ⟩
+                       ZChain.supf (pzc  (ob<x lim m<x)) u ∎  where open ≡-Reasoning 
+                   zc44 : FClosure A f (supf1 u) w
+                   zc44 = subst (λ k → FClosure A f k w ) (sym zc45) fc
           ... | tri≈ ¬a b ¬c = ⊥-elim ( ¬a (ordtrans<-≤ a<b b≤x))
           ... | tri> ¬a ¬b c = ⊥-elim ( ¬a (ordtrans<-≤ a<b b≤x))
           cfcs {a} {b} {w} a<b b≤x sa<b fc | case2 b<x = zc40 where
@@ -1504,7 +1524,14 @@
                zc40 : odef (UnionCF A f ay supf1 b) w
                zc40 with zcb
                ... | ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫
-               ... | ⟪ az , ch-is-sup u u<x su=u fc ⟫ = ⟪ az , ch-is-sup u ? ? ?  ⟫
+               ... | ⟪ az , ch-is-sup u u<x su=u fc ⟫ = ⟪ az , ch-is-sup u u<x (trans zc45 su=u) zc44  ⟫ where
+                   zc45 : supf1 u ≡  ZChain.supf (pzc  (ob<x lim b<x)) u 
+                   zc45 = begin
+                       supf1 u ≡⟨ sf1=sf (ordtrans u<x b<x)  ⟩
+                       ZChain.supf (pzc  (ob<x lim (ordtrans u<x b<x) )) u  ≡⟨ zeq _ _ (o<→≤ (osucc u<x)) (o<→≤ <-osuc)  ⟩
+                       ZChain.supf (pzc  (ob<x lim b<x )) u ∎  where open ≡-Reasoning 
+                   zc44 : FClosure A f (supf1 u) w
+                   zc44 = subst (λ k → FClosure A f k w ) (sym zc45) fc
 
      ---
      --- the maximum chain  has fix point of any ≤-monotonic function