changeset 917:4d99a1306f40

roll back
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 15 Oct 2022 19:54:20 +0900
parents f0b98f57ec65
children
files src/zorn.agda
diffstat 1 files changed, 57 insertions(+), 73 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Thu Oct 13 17:47:19 2022 +0900
+++ b/src/zorn.agda	Sat Oct 15 19:54:20 2022 +0900
@@ -407,7 +407,7 @@
 
       minsup : {x : Ordinal } → x o≤ z  → MinSUP A (UnionCF A f mf ay supf x) 
       supf-is-minsup : {x : Ordinal } → (x≤z : x o≤ z) → supf x ≡ MinSUP.sup ( minsup x≤z )
-      csupf : {b : Ordinal } → supf b o< z → odef (UnionCF A f mf ay supf z) (supf b) -- supf z is not an element of this chain
+      csupf : {b : Ordinal } → b o< z → supf b o< z → odef (UnionCF A f mf ay supf z) (supf b) -- supf z is not an element of this chain
 
    chain : HOD
    chain = UnionCF A f mf ay supf z
@@ -601,14 +601,14 @@
 
         supf = ZChain.supf zc
 
-        csupf-fc : {b s z1 : Ordinal} → b o≤ & A → supf s o< supf b → FClosure A f (supf s) z1 → UnionCF A f mf ay supf b ∋ * z1
-        csupf-fc {b} {s} {z1} b≤z ss<sb (init x refl ) = subst (λ k → odef (UnionCF A f mf ay supf b) k ) (sym &iso) zc05  where
+        csupf-fc : {b s z1 : Ordinal} → b o< & A → supf s o< supf b → FClosure A f (supf s) z1 → UnionCF A f mf ay supf b ∋ * z1
+        csupf-fc {b} {s} {z1} b<z ss<sb (init x refl ) = subst (λ k → odef (UnionCF A f mf ay supf b) k ) (sym &iso) zc05  where
                 s<b : s o< b
                 s<b = ZChain.supf-inject zc ss<sb
-                s≤<z : s o≤ & A
-                s≤<z = ordtrans s<b b≤z
+                s<z : s o< & A
+                s<z = ordtrans s<b b<z
                 zc04 : odef (UnionCF A f mf ay supf (& A))  (supf s)
-                zc04 = ZChain.csupf zc (z09 (ZChain.asupf zc))
+                zc04 = ZChain.csupf zc s<z (z09 (ZChain.asupf zc))
                 zc05 : odef (UnionCF A f mf ay supf b)  (supf s)
                 zc05 with zc04
                 ... | ⟪ as , ch-init fc ⟫ = ⟪ as , ch-init fc  ⟫ 
@@ -624,10 +624,11 @@
                 zc04 with subst (λ k → odef (UnionCF A f mf ay supf b) k ) &iso (csupf-fc b<z ss≤sb fc  )
                 ... | ⟪ as , ch-init fc ⟫ = ⟪ proj2 (mf _ as) , ch-init (fsuc _ fc) ⟫ 
                 ... | ⟪ as , ch-is-sup u u≤x is-sup fc ⟫ = ⟪ proj2 (mf _ as) , ch-is-sup u u≤x is-sup (fsuc _ fc) ⟫ 
+
         order : {b s z1 : Ordinal} → b o< & A → supf s o< supf b → FClosure A f (supf s) z1 → (z1 ≡ supf b) ∨ (z1 << supf b)
         order {b} {s} {z1} b<z ss<sb fc = zc04 where
           zc00 : ( z1  ≡  MinSUP.sup (ZChain.minsup zc (o<→≤ b<z) )) ∨ ( z1  << MinSUP.sup ( ZChain.minsup zc (o<→≤ b<z) ) )
-          zc00 = MinSUP.x<sup (ZChain.minsup zc (o<→≤  b<z) ) (subst (λ k →  odef (UnionCF A f mf ay (ZChain.supf zc) b) k ) &iso (csupf-fc (o<→≤ b<z) ss<sb fc ))
+          zc00 = MinSUP.x<sup (ZChain.minsup zc (o<→≤  b<z) ) (subst (λ k →  odef (UnionCF A f mf ay (ZChain.supf zc) b) k ) &iso (csupf-fc b<z ss<sb fc ))
           -- supf (supf b) ≡ supf b
           zc04 : (z1 ≡ supf b) ∨ (z1 << supf b)
           zc04 with zc00
@@ -796,8 +797,10 @@
           zc = prev px (subst (λ k → px o< k) (Oprev.oprev=x op) <-osuc ) 
           px<x : px o< x
           px<x = subst (λ k → px o< k) (Oprev.oprev=x op) <-osuc
+          opx=x : osuc px ≡ x
+          opx=x = Oprev.oprev=x op
           zc-b<x : (b : Ordinal ) → b o< x → b o< osuc px
-          zc-b<x b lt = subst (λ k → b o< k ) (sym (Oprev.oprev=x op)) lt 
+          zc-b<x b lt = subst (λ k → b o< k ) (sym opx=x) lt 
 
           supf0 = ZChain.supf zc
           pchain  : HOD
@@ -812,7 +815,7 @@
           ... | tri≈ ¬a b ¬c = case1 (o≤-refl0 b)
           ... | 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  ⟫ ) 
+          ... | case2 b<x = ⊥-elim ( ¬p<x<op ⟪ px<b , subst (λ k → b o< k ) (sym opx=x) 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-< = ?
@@ -945,7 +948,7 @@
                         zc13 : {z : Ordinal } → FClosure A f y z → (z ≡ supf0 u) ∨ ( z << supf0 u )
                         zc13 {z} fc = subst (λ k → (z ≡ k) ∨ ( z << k )) (sf1=sf0 (o<→≤ a)) ( ChainP.fcy<sup is-sup fc )
                     ... | tri≈ ¬a b ¬c | _ = case2 (init (subst (λ k → odef A k) (cong supf0 b) asp ) (cong supf0 (sym b)) )
-                    ... | tri> ¬a ¬b c | _ = ⊥-elim ( ¬p<x<op ⟪ c , subst (λ k → u o< k ) (sym (Oprev.oprev=x op)) u<x  ⟫ )
+                    ... | tri> ¬a ¬b c | _ = ⊥-elim ( ¬p<x<op ⟪ c , subst (λ k → u o< k ) (sym opx=x) u<x  ⟫ )
                  zc12 : {z : Ordinal} → odef pchainpx z → odef (UnionCF A f mf ay supf1 x) z
                  zc12 {z} (case1 ⟪ az , ch-init fc ⟫ ) = ⟪ az , ch-init fc ⟫
                  zc12 {z} (case1 ⟪ az , ch-is-sup u u<x is-sup fc ⟫ ) = zc21 fc where
@@ -955,7 +958,7 @@
                         ... | ⟪ 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 ) with trio< u px | inspect supf1 u
                         ... | tri< a ¬b ¬c | _ = ⟪ asp , ch-is-sup u 
-                             (subst (λ k → u o< k) (Oprev.oprev=x op) (ordtrans u<x <-osuc)) 
+                             (subst (λ k → u o< k) opx=x (ordtrans u<x <-osuc)) 
                                 record {fcy<sup = zc13 ; order = zc17 ; supu=u = trans (sf1=sf0 (o<→≤ u<x)) (ChainP.supu=u is-sup) } zc14 ⟫  where
                             zc17 :  {s : Ordinal} {z1 : Ordinal} → supf1 s o< supf1 u →
                                   FClosure A f (supf1 s) z1 → (z1 ≡ supf1 u) ∨ (z1 << supf1 u)
@@ -992,7 +995,7 @@
                         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 ) with  osuc-≡< ( subst (λ k → supf0 px o< k ) (sym (Oprev.oprev=x op)) sfpx<x )
+                        zc21 (init asp refl ) with  osuc-≡< ( subst (λ k → supf0 px o< k ) (sym opx=x) sfpx<x )
                         ... | case1 sfpx=px =  ⟪ asp , ch-is-sup px (pxo<x op)
                                      record {fcy<sup = zc13 ; order = zc17 ; supu=u = zc15 } zc14 ⟫ where
                               zc15 : supf1 px ≡ px
@@ -1004,7 +1007,7 @@
                               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 
-                                     (MinSUP.x<sup mins (csupf17 (fcup fc (o<→≤ s<px) )) ) where
+                                     (MinSUP.x<sup mins (zc18 (fcup fc (o<→≤ s<px) )) ) where
                                   mins : MinSUP A (UnionCF A f mf ay supf0 px)
                                   mins = ZChain.minsup zc o≤-refl
                                   mins-is-spx : MinSUP.sup mins ≡ supf1 px 
@@ -1013,28 +1016,35 @@
                                   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) (sfpx=px)) ss<spx
-                                  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)
-
-                        ... | case2 sfp<px  with ZChain.csupf zc sfp<px --  odef (UnionCF A f mf ay supf0 px) (supf0 px)
-                        ... | ⟪ ua1 , ch-init fc₁ ⟫ = ⟪ ua1 , ch-init fc₁ ⟫ 
-                        ... | ⟪ ua1 , ch-is-sup u u≤x is-sup fc₁ ⟫ = ⟪ ua1 , ch-is-sup u (ordtrans u≤x px<x) 
-                              record { fcy<sup = z10 ; order = z11 ; supu=u = z12 } (fcpu fc₁ (o<→≤ u≤x) ) ⟫  where
-                                 z10 :  {z : Ordinal } → FClosure A f y z → (z ≡ supf1 u) ∨ ( z << supf1 u ) 
-                                 z10 {z} fc = subst (λ k → (z ≡ k) ∨ ( z << k )) (sym (sf1=sf0 (o<→≤ u≤x))) (ChainP.fcy<sup is-sup fc)
-                                 z11  : {s z1 : Ordinal} → (lt : supf1 s o< supf1 u ) → FClosure A f (supf1 s ) z1 
-                                      → (z1 ≡ supf1 u ) ∨ ( z1 << supf1 u )
-                                 z11 {s} {z} lt fc  = subst (λ k → (z ≡ k) ∨ ( z << k )) (sym (sf1=sf0 (o<→≤ u≤x))) 
-                                     (ChainP.order is-sup lt0 (fcup fc s≤px )) where
-                                       s<u : s o< u
-                                       s<u = supf-inject0 supf1-mono lt
-                                       s≤px : s o≤ px
-                                       s≤px = ordtrans s<u (o<→≤ u≤x)
-                                       lt0 : supf0 s o< supf0 u
-                                       lt0 = subst₂ (λ j k → j o< k ) (sf1=sf0 s≤px) (sf1=sf0 (o<→≤ u≤x)) lt
-                                 z12 : supf1 u ≡ u
-                                 z12 = trans (sf1=sf0 (o<→≤ u≤x)) (ChainP.supu=u is-sup)
+                                  zc18 : {z1 : Ordinal } → FClosure A f (supf0 s) z1 → odef (UnionCF A f mf ay supf0 px) z1
+                                  zc18 (init as refl ) = ZChain.csupf zc s<px sf<px 
+                                  zc18 (fsuc x fc) = ZChain.f-next zc (zc18 fc)
+                        ... | case2 sfpx<px = ⟪ ZChain.asupf zc , ch-is-sup (supf1 px) (subst (λ k → k o< x) (sym (sf1=sf0 o≤-refl)) sfpx<x )
+                              record { fcy<sup = ? ; order = ? ; supu=u = supu=u } (init asupf1 (trans  supu=u (sf1=sf0 o≤-refl)) ) ⟫  where
+                                  minsfpx : MinSUP A (UnionCF A f mf ay supf0 (supf1 px))
+                                  minsfpx = ZChain.minsup zc (o<→≤ (subst (λ k → k o< px) (sym (sf1=sf0 o≤-refl)) sfpx<px))
+                                  mins : MinSUP A (UnionCF A f mf ay supf0 px)
+                                  mins = ZChain.minsup zc o≤-refl
+                                  mins-is-spx : MinSUP.sup mins ≡ supf1 px 
+                                  mins-is-spx = trans (sym ( ZChain.supf-is-minsup zc o≤-refl ) ) (sym (sf1=sf0 o≤-refl ))
+                                  supu=u : supf1 (supf1 px) ≡ supf1 px
+                                  supu=u with osuc-≡< (supf1-mono (o<→≤ sfpx<px))
+                                  ... | case1 eq = trans (cong supf1 (sf1=sf0 o≤-refl) ) eq
+                                  ... | case2 ss<sfpx = ? where
+                                      zc30 : supf1 px o< px
+                                      zc30 = subst (λ k → k o< px) (sym (sf1=sf0 o≤-refl )) sfpx<px 
+                                      zc32 : supf1 (supf0 px) ≡ supf0 (supf1 px)
+                                      zc32 = trans (sf1=sf0 (subst (λ k → supf0 px o< k) (sym opx=x)  sfpx<x) ) 
+                                          ( cong supf0 (sym (sf1=sf0 o≤-refl ) ) )
+                                      zc31 : supf0 (supf1 px) o< px
+                                      zc31 = subst (λ k → k o< px ) zc32 ( ordtrans ss<sfpx (subst (λ k → k o< px ) 
+                                         (sym (sf1=sf0 o≤-refl ))  sfpx<px ))
+                                      cs05 : odef (UnionCF A f mf ay supf0 px) (supf0 (supf1 px)) 
+                                      cs05 = ZChain.csupf zc zc30 zc31
+                                      cs06 : supf1 (supf1 px) ≡ supf1 px
+                                      cs06 with cs05
+                                      ... | ⟪ ua1 , ch-init fc ⟫ = ?
+                                      ... | ⟪ ua1 , ch-is-sup u u≤x u1-is-sup fcp ⟫ = ?
 
 
 
@@ -1070,21 +1080,19 @@
                         odef (UnionCF A f mf ay supf1 z) x → (x ≡ sup2) ∨ (x << sup2)) → MinSUP.sup m o≤ sup2
                     ms01 {sup2} us P = MinSUP.minsup m ? ?
 
-                 csupf1 : {z1 : Ordinal } → supf1 z1 o< x → odef (UnionCF A f mf ay supf1 x) (supf1 z1) 
-                 csupf1 {z1} sz1<x = csupf2 where
+                 csupf1 : {z1 : Ordinal } → z1 o< x → supf1 z1 o< x → odef (UnionCF A f mf ay supf1 x) (supf1 z1) 
+                 csupf1 {z1} z1<x sz1<x = csupf2 where
                      --  z1 o< px → supf1 z1 ≡ supf0 z1
                      --  z1 ≡ px , supf0 px o< px   .. px o< z1, x o≤ z1 ...  supf1 z1 ≡ sp1
                      --  z1 ≡ px , supf0 px ≡  px
                      psz1≤px :  supf1 z1 o≤ px
-                     psz1≤px =  subst (λ k → supf1 z1 o< k ) (sym (Oprev.oprev=x op)) sz1<x 
-                     cs01 : supf0 px o< px → odef (UnionCF A f mf ay supf0 px) (supf0 px)
-                     cs01 spx<px = ZChain.csupf zc spx<px
+                     psz1≤px =  subst (λ k → supf1 z1 o< k ) (sym opx=x) sz1<x 
                      csupf2 :  odef (UnionCF A f mf ay supf1 x) (supf1 z1) 
                      csupf2 with  trio< z1 px | inspect supf1 z1
                      csupf2 | tri< a ¬b ¬c | record { eq = eq1 } with osuc-≡< psz1≤px
                      ... | case2 lt  = zc12 (case1 cs03)  where
                            cs03 : odef (UnionCF A f mf ay supf0 px) (supf0 z1)
-                           cs03 = ZChain.csupf zc (subst (λ k → k o< px) (sf1=sf0 (o<→≤ a)) lt )
+                           cs03 = ZChain.csupf zc a (subst (λ k → k o< px) (sf1=sf0 (o<→≤ a)) lt )
                      ... | case1 sfz=px with osuc-≡< ( supf1-mono (o<→≤ a) )
                      ... | case1 sfz=sfpx =  zc12 (case2 (init (ZChain.asupf zc) cs04 )) where
                            supu=u : supf1 (supf1 z1) ≡ supf1 z1
@@ -1100,33 +1108,9 @@
                            cs05 : px o< supf0 px
                            cs05 = subst₂ ( λ j k → j o< k ) sfz=px (sf1=sf0 o≤-refl ) sfz<sfpx
                            cs06 : supf0 px o< osuc px
-                           cs06 = subst (λ k → supf0 px o< k ) (sym (Oprev.oprev=x op)) sfpx<x 
+                           cs06 = subst (λ k → supf0 px o< k ) (sym opx=x) sfpx<x 
                      csupf2 | tri≈ ¬a b ¬c | record { eq = eq1 } =  zc12 (case2 (init (ZChain.asupf zc) (cong supf0 (sym b))))
-                     csupf2 | tri> ¬a ¬b px<z1 | record { eq = eq1 } 
-                       = ⟪ MinSUP.asm sup1 , ch-is-sup (supf1 z1) (subst (λ k → k o< x) (sym eq1) sz1<x)
-                              record { fcy<sup = ? ; order = ? ; supu=u = supu=u } (init asupf1 (trans supu=u eq1) ) ⟫ where 
-                           supu=u : supf1 (supf1 z1) ≡ supf1 z1
-                           supu=u = ?
-                           sp1≤px : sp1 o≤ px
-                           sp1≤px with trio< sp1 px
-                           ... | tri< a ¬b ¬c = o<→≤ a
-                           ... | tri≈ ¬a b ¬c = o≤-refl0 b
-                           ... | tri> ¬a ¬b px<sp1 = ⊥-elim (¬p<x<op ⟪ px<sp1 , subst (λ k → sp1 o< k) (sym (Oprev.oprev=x op)) sz1<x  ⟫ )
-
-                     -- with trio< sp1 px
-                     -- ... | tri< sp1<px ¬b ¬c = ? --  supf1 z1 = sp1 o< px o< z1 
-                     -- ... | tri≈ ¬a sp1=px ¬c = ⟪ MinSUP.asm sup1 , ch-is-sup (supf1 z1) (subst (λ k → k o< x) (sym eq1) sz1<x)
-                     --         record { fcy<sup = ? ; order = ? ; supu=u = supu=u } (init asupf1 (trans supu=u eq1) ) ⟫ where 
-                     --      --  supf1 z1 ≡ sp1, px o< z1, sp1 o< x  -- sp1 o< z1
-                     --      --  supf1 sp1 o≤ supf1 z1 ≡ sp1 o< z1
-                     --      asm : odef A (supf1 z1)
-                     --      asm =  subst (λ k → odef A k ) (sym (sf1=sp1 px<z1)) ( MinSUP.asm sup1) 
-                     --      cs05 : odef (UnionCF A f mf ay supf1 x) (supf1 sp1) 
-                     --      cs05 = zc12 (case2 (init (ZChain.asupf zc) ( begin
-                     --         supf0 px ≡⟨ sym (sf1=sf0 o≤-refl )  ⟩
-                     --        supf1 px ≡⟨ cong supf1 (sym sp1=px)  ⟩
-                     --       supf1 sp1 ∎  ))) where open ≡-Reasoning
-                     --... | tri> ¬a ¬b px<sp1 = ⊥-elim (¬p<x<op ⟪ px<sp1 , subst (λ k → sp1 o< k) (sym (Oprev.oprev=x op)) sz1<x  ⟫ )
+                     csupf2 | tri> ¬a ¬b px<z1 | record { eq = eq1 } = ⊥-elim ( ¬p<x<op ⟪ px<z1 , subst (λ k → z1 o< k) (sym opx=x) z1<x ⟫ )
 
           zc4 : ZChain A f mf ay x     --- x o≤ supf px 
           zc4 with trio< x (supf0 px)
@@ -1189,13 +1173,13 @@
                  zc11 (case1 ¬sp=x) {z} ⟪ az , ch-is-sup u1 u1<x u1-is-sup fc ⟫ | tri> ¬a ¬b px<u = ⊥-elim (¬sp=x zcsup) where
                         eq : u1 ≡ x 
                         eq with trio< u1 x
-                        ... | tri< a ¬b ¬c = ⊥-elim ( ¬p<x<op ⟪ px<u , subst (λ k → u1 o< k ) (sym (Oprev.oprev=x op )) a ⟫ )
+                        ... | tri< a ¬b ¬c = ⊥-elim ( ¬p<x<op ⟪ px<u , subst (λ k → u1 o< k ) (sym opx=x) a ⟫ )
                         ... | tri≈ ¬a b ¬c = b
                         ... | tri> ¬a ¬b c = ⊥-elim ( o<> u1<x ? )
                         s1u=x : supf0 u1 ≡ x
                         s1u=x = trans ? eq
                         zc13 : osuc px o< osuc u1
-                        zc13 = o≤-refl0 ( trans (Oprev.oprev=x op) (sym eq ) ) 
+                        zc13 = o≤-refl0 ( trans opx=x (sym eq ) ) 
                         x<sup : {w : Ordinal} → odef (UnionCF A f mf ay supf0 px) w → (w ≡ x) ∨ (w << x)
                         x<sup {w} ⟪ az , ch-init {w} fc ⟫ = subst (λ k → (w ≡ k) ∨ (w << k)) s1u=x ?
                         x<sup {w} ⟪ az , ch-is-sup u u≤x is-sup fc ⟫ with osuc-≡< ( supf-mono (ordtrans (o<→≤ u≤x) ? ))
@@ -1205,7 +1189,7 @@
                                     u ≡⟨ sym ( ChainP.supu=u is-sup) ⟩ 
                                     supf0 u ≡⟨ ? ⟩ 
                                     supf0 u1 ≡⟨ s1u=x ⟩ 
-                                    x ≡⟨ sym (Oprev.oprev=x op) ⟩ 
+                                    x ≡⟨ sym opx=x ⟩ 
                                     osuc px ∎ where open ≡-Reasoning
                         ... | case2 lt = subst (λ k → (w ≡ k) ∨ (w << k)) s1u=x ?
                         zc12 : supf0 x ≡ u1
@@ -1216,7 +1200,7 @@
                  zc11 (case2 hp) {z} ⟪ az , ch-is-sup u1 u1<x u1-is-sup fc ⟫ | tri> ¬a ¬b px<u = case1 ? where
                         eq : u1 ≡ x 
                         eq with trio< u1 x
-                        ... | tri< a ¬b ¬c = ⊥-elim ( ¬p<x<op ⟪ px<u , subst (λ k → u1 o< k ) (sym (Oprev.oprev=x op )) a ⟫ )
+                        ... | tri< a ¬b ¬c = ⊥-elim ( ¬p<x<op ⟪ px<u , subst (λ k → u1 o< k ) (sym opx=x) a ⟫ )
                         ... | tri≈ ¬a b ¬c = b
                         ... | tri> ¬a ¬b c = ⊥-elim ( o<> u1<x ? )
                         zc20 : {z : Ordinal} → FClosure A f (supf0 u1) z → OD.def (od pchain) z
@@ -1244,7 +1228,7 @@
                      zc30 : z ≡ x
                      zc30 with osuc-≡< z≤x
                      ... | case1 eq = eq
-                     ... | case2 z<x = ⊥-elim (¬p<x<op ⟪ px<z , subst (λ k → z o< k ) (sym (Oprev.oprev=x op)) z<x ⟫ )
+                     ... | case2 z<x = ⊥-elim (¬p<x<op ⟪ px<z , subst (λ k → z o< k ) (sym opx=x) z<x ⟫ )
                      zc32 = ZChain.sup zc o≤-refl 
                      zc34 : ¬ (supf0 px ≡ px) → {w : HOD} → UnionCF A f mf ay supf0 z ∋ w → (w ≡ SUP.sup zc32) ∨ (w < SUP.sup zc32)
                      zc34 ne {w} lt with zc11 ? ⟪ proj1 lt , ? ⟫
@@ -1270,7 +1254,7 @@
                      zc30 : x ≡ b
                      zc30 with osuc-≡< b≤x
                      ... | case1 eq = sym (eq)
-                     ... | case2 b<x = ⊥-elim (¬p<x<op ⟪ px<b , subst (λ k → b o< k ) (sym (Oprev.oprev=x op)) b<x ⟫ )
+                     ... | case2 b<x = ⊥-elim (¬p<x<op ⟪ px<b , subst (λ k → b o< k ) (sym opx=x) b<x ⟫ )
                      zcsup : xSUP (UnionCF A f mf ay supf0 px) x 
                      zcsup with zc30
                      ... | refl = record { ax = ab ; is-sup = record { x<sup = λ {w} lt →