changeset 852:a28bb57c88e6

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 06 Sep 2022 01:18:54 +0900
parents 717b8c3f55c9
children 2569ace27176
files src/zorn.agda
diffstat 1 files changed, 27 insertions(+), 27 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Mon Sep 05 21:54:55 2022 +0900
+++ b/src/zorn.agda	Tue Sep 06 01:18:54 2022 +0900
@@ -771,6 +771,12 @@
           ... | tri≈ ¬a b ¬c = refl
           ... | tri> ¬a ¬b c = ⊥-elim ( o≤> z≤px c )
 
+          supfx : {z : Ordinal } → z ≡ x →  supf0 px ≡ supf1 px z
+          supfx {z} z=x with trio< z px
+          ... | tri< a ¬b ¬c = ⊥-elim ( o<¬≡ z=x (subst (λ k → z o< k ) (Oprev.oprev=x op) (ordtrans a <-osuc )))
+          ... | tri≈ ¬a b ¬c = ⊥-elim ( o<¬≡ z=x (subst (λ k → k o< x ) (sym b) (pxo<x op)))
+          ... | tri> ¬a ¬b c = refl
+
           supf∈A : {b : Ordinal} → b o≤ x → odef A (supf1 px b)
           supf∈A {b} b≤z with trio< b px
           ... | tri< a ¬b ¬c = proj1 ( ZChain.csupf zc (o<→≤ a ))
@@ -894,10 +900,7 @@
                      ... | refl = record { ax = ab ; is-sup = record { x<sup = λ {w} lt → 
                         IsSup.x<sup is-sup (subst (λ k → odef k w) pchain0=1 lt)  } }
                  csupf :  {b : Ordinal} → b o≤ x → odef (UnionCF A f mf ay (supf1 px) (supf1 px b)) (supf1 px b)
-                 csupf {b} b≤x = ⟪ zc01 , ch-is-sup u o≤-refl 
-                          record { fcy<sup = fcy<sup ; order = order ; supu=u = supu=u } fc  ⟫  where
-                     csupf0 : b o≤ px → odef (UnionCF A f mf ay supf0 (supf1 px b)) (supf1 px b)
-                     csupf0 b≤px = subst (λ k → odef (UnionCF A f mf ay supf0 k) k ) (supf0=1 b≤px) ( ZChain.csupf zc b≤px )
+                 csupf {b} b≤x = zc05 where
                      zc04 : (b o≤ px ) ∨ (b ≡ x )
                      zc04 with trio< b px 
                      ... | tri< a ¬b ¬c = case1 (o<→≤ a)
@@ -905,29 +908,26 @@
                      ... | tri> ¬a ¬b px<b with osuc-≡< b≤x
                      ... | 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  ⟫ ) 
-                     zc01 : odef A (supf1 px b)
-                     zc01 = supf∈A b≤x
-                     u = supf1 px b
-                     supu=u : supf1 px u ≡ u
-                     supu=u with zc04
-                     ... | case2 eq = begin
-                        supf1 px u ≡⟨ ? ⟩
-                        supf0 px ≡⟨ ? ⟩
-                        u ∎ where open ≡-Reasoning
-                     ... | case1 le = ? where
-                         zc06 : b o≤ px
-                         zc06 = le
-                     zc02 : odef A (supf1 px u)
-                     zc02 = subst (λ k → odef A k ) (sym supu=u) zc01
-                     zc03 : supf1 px u ≡ supf1 px b
-                     zc03 = ?
-                     fc : FClosure A f (supf1 px u) (supf1 px b)
-                     fc = init zc02 zc03 
-                     fcy<sup : {z : Ordinal} → FClosure A f y z → (z ≡ supf1 px u) ∨ (z << supf1 px u)
-                     fcy<sup = ? 
-                     order : {s z1 : Ordinal} → supf1 px s o< supf1 px u → FClosure A f (supf1 px s) z1 
-                             → (z1 ≡ supf1 px u) ∨ (z1 << supf1 px u)
-                     order = ?
+                     zc05 : odef (UnionCF A f mf ay (supf1 px) (supf1 px b)) (supf1 px b)
+                     zc05 with zc04
+                     ... | case2 b=x with ZChain.csupf zc o≤-refl
+                     ... | ⟪ au , ch-init fc ⟫ = ⟪ subst (λ k → odef A k) (supfx b=x) au  
+                         , ch-init (subst₂ (λ j k → FClosure A f j k  ) refl (supfx b=x) fc) ⟫ 
+                     ... | ⟪ au , ch-is-sup u u≤x is-sup fc  ⟫  = ⟪ subst (λ k → odef A k) (supfx b=x) au  
+                         , ch-is-sup u (subst (λ k → u o≤ k) (supfx b=x) u≤x) ? zc06 ⟫ where
+                           zc06 : FClosure A f (supf1 px u)  (supf1 px b)
+                           zc06 = ?
+                           zc07 : FClosure A f (supf0 u)  (supf0 px)
+                           zc07 = fc
+                     zc05 | case1 b≤px with ZChain.csupf zc b≤px 
+                     ... | ⟪ au , ch-init fc ⟫ = ⟪ subst (λ k → odef A k) (supf0=1 b≤px) au  
+                         , ch-init (subst₂ (λ j k → FClosure A f j k  ) refl (supf0=1 b≤px) fc) ⟫ 
+                     ... | ⟪ au , ch-is-sup u u≤x is-sup fc  ⟫  = ⟪ subst (λ k → odef A k) (supf0=1 b≤px) au  
+                         , ch-is-sup u (subst (λ k → u o≤ k) (supf0=1 b≤px) u≤x) ? zc06 ⟫ where
+                           zc06 : FClosure A f (supf1 px u)  (supf1 px b)
+                           zc06 = ?
+                           zc07 : FClosure A f (supf0 u)  (supf0 b)
+                           zc07 = fc
                  sis : {z : Ordinal} (z≤x : z o≤ x) → supf1 px z ≡ & (SUP.sup (sup z≤x))
                  sis {z} z≤x  = zc40 where
                       zc40 : supf1 px z ≡ & (SUP.sup (sup z≤x))  -- direct with statment causes error