changeset 752:2be90b90deb3

dead end
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 23 Jul 2022 17:19:18 +0900
parents 71ad137dd101
children 5ed02d3b6fc4
files src/zorn.agda
diffstat 1 files changed, 48 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Fri Jul 22 19:18:05 2022 +0900
+++ b/src/zorn.agda	Sat Jul 23 17:19:18 2022 +0900
@@ -293,6 +293,7 @@
       initial : {y : Ordinal } → odef chain y → * init ≤ * y
       f-next : {a : Ordinal } → odef chain a → odef chain (f a)
       f-total : IsTotalOrderSet chain
+      chain∋supf : {z : Ordinal } → odef chain (supf z)
       sup=u : {b : Ordinal} → {ab : odef A b} → b o< z → IsSup A chain ab → supf b ≡ b 
       order : {b sup1 z1 : Ordinal} → b o< z → sup1 o< b → FClosure A f (supf sup1) z1 → z1 << supf b
 
@@ -449,7 +450,7 @@
                       (sym (HasPrev.x=fy has-prev)) ( ch-is-sup u u<x (ChainP-next A f mf ay _ is-sup) (fsuc _ fc))  ⟫ 
         zc1 :  (x : Ordinal) →  ((y₁ : Ordinal) → y₁ o< x → ZChain1 A f mf ay zc y₁) → ZChain1 A f mf ay zc x
         zc1 x prev with Oprev-p x
-        ... | yes op = record { is-max = is-max ; chain-mono2 = chain-mono2 x ; fcy<sup = fcy<sup ; sup=u = ? ; order = order } where
+        ... | yes op = record { is-max = is-max ; chain-mono2 = chain-mono2 x ; fcy<sup = fcy<sup ; sup=u = sup=u ; order = order } where
            px = Oprev.oprev op
            px<x : px o< x
            px<x = subst (λ k → px o< k ) (Oprev.oprev=x op) <-osuc
@@ -470,7 +471,7 @@
                 IsSup A (UnionCF A f mf ay (ZChain.supf zc) (osuc b)) ab → ZChain.supf zc b ≡ b
            sup=u {b} {ab} b<x is-sup with trio< b px
            ... | tri< b<px ¬b ¬c = ZChain1.sup=u (prev px px<x) b<px is-sup
-           ... | tri≈ ¬a b=px ¬c = ZChain.sup=u zc ? is-sup
+           ... | tri≈ ¬a b=px ¬c = ZChain.sup=u zc ? ?
            ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ c , subst (λ k → b o< k ) (sym (Oprev.oprev=x op)) b<x ⟫ )
            is-max :  {a : Ordinal} {b : Ordinal} → odef (UnionCF A f mf ay (ZChain.supf zc) x) a →
               b o< x → (ab : odef A b) →
@@ -658,29 +659,59 @@
           pcy : odef pchain y
           pcy = ⟪ ay , ch-init (init ay)    ⟫
 
-          supf0 = ZChain.supf (prev px (subst (λ k → px o< k) (Oprev.oprev=x op) <-osuc ))
+          supf0 : Ordinal → Ordinal
+          supf0 z with trio< z x
+          ... | tri< a ¬b ¬c = ZChain.supf zc z
+          ... | tri≈ ¬a b ¬c = ZChain.supf zc px
+          ... | tri> ¬a ¬b c = ZChain.supf zc px
+
+          spuf0eq : {z : Ordinal} → z o< x → supf0 z ≡ ZChain.supf zc z 
+          spuf0eq {z} z<x with trio< z x
+          ... | tri< a ¬b ¬c = refl
+          ... | tri≈ ¬a b ¬c = ⊥-elim ( ¬a z<x )
+          ... | tri> ¬a ¬b c = ⊥-elim ( ¬a z<x )
+
+          zc9 :  UnionCF A f mf ay (ZChain.supf zc) px ⊆'  UnionCF A f mf ay supf0 x 
+          zc9 ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫ 
+          zc9 {z} ⟪ az , ch-is-sup u u<px is-sup fc ⟫ with trio< z x
+          ... | tri< a ¬b ¬c = ⟪ az , ch-is-sup u (ordtrans u<px px<x) ? ? ⟫ 
+          ... | tri≈ ¬a b ¬c = ?
+          ... | tri> ¬a ¬b c = ?
+
+          -- ⟪ az , ch-init fc ⟫ = ⟪ az , ch-init fc ⟫ 
+          --- zc9 {z} ⟪ az , ch-is-sup u u<px is-sup fc ⟫ with trio< z x
+          -- ... | tri< a ¬b ¬c = ⟪ az , ch-is-sup u (ordtrans u<px px<x) ? ? ⟫ 
+          -- ... | tri≈ ¬a b ¬c = ?
+          -- ... | tri> ¬a ¬b c = ?
+          -- = ⟪ az , ch-is-sup u (ordtrans u<px px<x) ? ? ⟫ 
 
           -- 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  ; sup=u = sup=u 
-              ;  chain⊆A = pchain⊆A ;  f-next = pnext ;  f-total = ptotal ;  order = order } where
+               ; initial = ? ; chain∋init = ?  ; sup=u = sup=u  ; chain∋supf = ?
+              ;  chain⊆A = ?  ;  f-next = ? ;  f-total = ? ;  order = ? } where
+              cs : {z : Ordinal} → odef (UnionCF A f mf ay supf0 x) (supf0 z)
+              cs {z} with trio< z x
+              ... | tri< a ¬b ¬c = zc9 (ZChain.chain∋supf zc {z} )
+              ... | tri≈ ¬a b ¬c = ?
+              ... | tri> ¬a ¬b c = ?
+              --- = subst (λ k → odef (UnionCF A f mf ay supf0 k) (supf0 z)) ? (ZChain.chain∋supf zc {z} ) 
               sup=u :  {b : Ordinal} {ab : odef A b} → b o< x 
                     → IsSup A (UnionCF A f mf ay supf0 x) ab 
                     → supf0 b ≡ b
               sup=u {b} {ab} b<x is-sup with trio< b px
-              ... | tri< a ¬b ¬c = ZChain.sup=u zc {b} {ab} a record { x<sup = pc20 } where
+              ... | tri< a ¬b ¬c = ? where --  ZChain.sup=u zc {b} {ab} a record { x<sup = pc20 } where
                      pc20 : {z : Ordinal} → odef (UnionCF A f mf ay (ZChain.supf zc) (Oprev.oprev op)) z → (z ≡ b) ∨ (z << b)
                      pc20 {z} ⟪ az , ch-init fc  ⟫ = 
                          IsSup.x<sup is-sup ⟪ az ,  ch-init fc  ⟫ 
                      pc20 {z} ⟪ az , ch-is-sup u u<x is-sup-c fc  ⟫ = IsSup.x<sup is-sup 
-                         ⟪ az , ch-is-sup u (subst (λ k → u o< k) (Oprev.oprev=x op) (ordtrans u<x <-osuc)) is-sup-c fc  ⟫ 
+                         ⟪ az , ch-is-sup u (subst (λ k → u o< k) (Oprev.oprev=x op) (ordtrans u<x <-osuc)) ? ?  ⟫ 
               ... | tri≈ ¬a refl ¬c = ?
               ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ c , subst (λ k → b o< k ) (sym (Oprev.oprev=x op))  b<x  ⟫ )
               order : {b sup1 z1 : Ordinal} → b o< x → sup1 o< b → FClosure A f (supf0 sup1) z1 → z1 << supf0 b
               order {b} {s} {z1} b<x s<b fc with trio< b px 
-              ... | tri< a ¬b ¬c = ZChain.order zc a s<b fc
+              ... | tri< a ¬b ¬c = ? -- ZChain.order zc a s<b ?
               ... | tri≈ ¬a refl ¬c = ?
               ... | tri> ¬a ¬b c = ⊥-elim ( ¬p<x<op ⟪ c , subst (λ k → b o< k ) (sym (Oprev.oprev=x op))  b<x  ⟫ )
 
@@ -692,13 +723,19 @@
           ... | case1 pr = no-extension -- we have previous A ∋ z < x , f z ≡ x, so chain ∋ f z ≡ x because of f-next
           ... | case2 ¬fy<x with ODC.p∨¬p O (IsSup A (ZChain.chain zc ) apx )
           ... | case1 is-sup = -- x is a sup of zc 
-                record {  supf = psupf1 ; chain⊆A = ? ; f-next = ? ; f-total = ?
+                record {  supf = psupf1 ; chain⊆A = ? ; f-next = ? ; f-total = ? ; chain∋supf = ?
                      ; initial = ? ; chain∋init  = ? ; sup=u = ? ; order = ? }  where
              psupf1 : Ordinal → Ordinal
              psupf1 z with trio< z x 
              ... | tri< a ¬b ¬c = ZChain.supf zc z
              ... | tri≈ ¬a b ¬c = x
              ... | tri> ¬a ¬b c = x
+             cA : UnionCF A f mf ay psupf1 x ⊆' A
+             cA {z} uz with trio< z x
+             ... | tri< a ¬b ¬c = ZChain.chain⊆A zc ⟪ proj1 uz , ? ⟫ 
+             ... | tri≈ ¬a b ¬c = ?
+             ... | tri> ¬a ¬b c = ?
+
           ... | case2 ¬x=sup =  no-extension -- px is not f y' nor sup of former ZChain from y -- no extention
      ... | no lim = zc5 where
 
@@ -741,7 +778,7 @@
           pcy = ⟪ ay , ch-init (init ay)    ⟫
 
           no-extension : ZChain A f mf ay x
-          no-extension  = record { initial = pinit ; chain∋init = pcy  ; supf = psupf0 
+          no-extension  = record { initial = pinit ; chain∋init = pcy  ; supf = psupf0  ; chain∋supf = ?
               ;  chain⊆A = pchain⊆A ;  f-next = pnext ;  f-total = ptotal ; sup=u = ? ; order = ? }
 
           usup : SUP A pchain
@@ -760,7 +797,7 @@
                -- we have to check adding x preserve is-max ZChain A y f mf x
           ... | case1 pr = no-extension  
           ... | case2 ¬fy<x with ODC.p∨¬p O (IsSup A pchain ax )
-          ... | case1 is-sup = record { initial = {!!} ; chain∋init = {!!}  ; supf = psupf1  ; sup=u = ? ; order = ?
+          ... | case1 is-sup = record { initial = {!!} ; chain∋init = {!!}  ; supf = psupf1  ; sup=u = ? ; order = ? ; chain∋supf = ?
               ;  chain⊆A = {!!} ;  f-next = {!!} ;  f-total = ? } where -- x is a sup of (zc ?) 
              psupf1 : Ordinal → Ordinal
              psupf1 z with trio< z x