changeset 976:8fe873f0c88e

is-max condition have to be b o< x
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Nov 2022 18:29:35 +0900
parents 1e88cce74699
children f0d2666fe3b2
files src/zorn.agda
diffstat 1 files changed, 12 insertions(+), 66 deletions(-) [+]
line wrap: on
line diff
--- a/src/zorn.agda	Tue Nov 08 11:26:59 2022 +0900
+++ b/src/zorn.agda	Tue Nov 08 18:29:35 2022 +0900
@@ -524,7 +524,7 @@
         {y : Ordinal} (ay : odef A y)  (zc : ZChain A f mf ay (& A)) ( z : Ordinal ) : Set (Level.suc n) where
    supf = ZChain.supf zc
    field
-      is-max :  {a b : Ordinal } → (ca : odef (UnionCF A f mf ay supf z) a ) → supf b o< supf z  → (ab : odef A b)
+      is-max :  {a b : Ordinal } → (ca : odef (UnionCF A f mf ay supf z) a ) → b o< z  → (ab : odef A b)
           → HasPrev A (UnionCF A f mf ay supf z) f b ∨  IsSUP A (UnionCF A f mf ay supf b) ab
           → * a < * b  → odef ((UnionCF A f mf ay supf z)) b
       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)
@@ -699,17 +699,17 @@
            zc-b<x : {b : Ordinal } → ZChain.supf zc b o< ZChain.supf zc x → b o< osuc px
            zc-b<x {b} lt = subst (λ k → b o< k ) (sym (Oprev.oprev=x op)) (ZChain.supf-inject zc lt  )
            is-max :  {a : Ordinal} {b : Ordinal} → odef (UnionCF A f mf ay supf x) a →
-              ZChain.supf zc b o< ZChain.supf zc x → (ab : odef A b) →
+              b o< x → (ab : odef A b) →
               HasPrev A (UnionCF A f mf ay supf x) f b  ∨ IsSUP A (UnionCF A f mf ay supf b) ab →
               * a < * b → odef (UnionCF A f mf ay supf x) b
            is-max {a} {b} ua b<x ab P a<b with ODC.or-exclude O P
            is-max {a} {b} ua b<x ab P a<b | case1 has-prev = is-max-hp x {a} {b} ua ab has-prev a<b
-           is-max {a} {b} ua sb<sx ab P a<b | case2 is-sup
+           is-max {a} {b} ua b<x ab P a<b | case2 is-sup
              = ⟪ ab , ch-is-sup b sb<sx m06 (subst (λ k → FClosure A f k b) (sym m05) (init ab refl)) ⟫   where
               b<A : b o< & A
               b<A = z09 ab
-              b<x : b o< x
-              b<x  = ZChain.supf-inject zc sb<sx
+              sb<sx : supf b o< supf x
+              sb<sx = ?
               m04 : ¬ HasPrev A (UnionCF A f mf ay supf b) f b
               m04 nhp = proj1 is-sup ( record { ax = HasPrev.ax nhp ; y = HasPrev.y nhp ; ay =
                     chain-mono1 (o<→≤ b<x) (HasPrev.ay  nhp) ; x=fy = HasPrev.x=fy nhp } )
@@ -724,18 +724,18 @@
               m06 = record {  fcy<sup = m08  ; order = m09 ; supu=u = m05 }
         ... | no lim = record { is-max = is-max ; order = order }  where
            is-max :  {a : Ordinal} {b : Ordinal} → odef (UnionCF A f mf ay supf x) a →
-              ZChain.supf zc b o< ZChain.supf zc x → (ab : odef A b) →
+              b o< x → (ab : odef A b) →
               HasPrev A (UnionCF A f mf ay supf x) f b  ∨ IsSUP A (UnionCF A f mf ay supf b) ab →
               * a < * b → odef (UnionCF A f mf ay supf x) b
            is-max {a} {b} ua sb<sx ab P a<b with ODC.or-exclude O P
            is-max {a} {b} ua sb<sx ab P a<b | case1 has-prev = is-max-hp x {a} {b} ua ab has-prev a<b
            is-max {a} {b} ua sb<sx ab P a<b | case2 is-sup with IsSUP.x≤sup (proj2 is-sup) (init-uchain A f mf ay )
            ... | case1 b=y = ⟪ subst (λ k → odef A k ) b=y ay , ch-init (subst (λ k → FClosure A f y k ) b=y (init ay refl ))  ⟫
-           ... | case2 y<b = ⟪ ab , ch-is-sup b sb<sx m06 (subst (λ k → FClosure A f k b) (sym m05) (init ab refl))  ⟫ where
+           ... | case2 y<b = ⟪ ab , ch-is-sup b ? m06 (subst (λ k → FClosure A f k b) (sym m05) (init ab refl))  ⟫ where
               m09 : b o< & A
               m09 = subst (λ k → k o< & A) &iso ( c<→o< (subst (λ k → odef A k ) (sym &iso ) ab))
               b<x : b o< x
-              b<x  = ZChain.supf-inject zc sb<sx
+              b<x  = ZChain.supf-inject zc ?
               m07 : {z : Ordinal} → FClosure A f y z → z <= ZChain.supf zc b
               m07 {z} fc = ZChain.fcy<sup zc (o<→≤ m09) fc
               m08 : {s z1 : Ordinal} → ZChain.supf zc s o< ZChain.supf zc b
@@ -1477,16 +1477,15 @@
 
      fixpoint :  ( f : Ordinal → Ordinal ) → (mf : ≤-monotonic-f A f )  (zc : ZChain A f mf as0 (& A) )
             → (sp1 : MinSUP A (ZChain.chain zc))
-            → (ssp<as :  ZChain.supf zc (MinSUP.sup sp1) o< ZChain.supf zc (& A))
             → f (MinSUP.sup sp1)  ≡ MinSUP.sup sp1
-     fixpoint f mf zc sp1 ssp<as = z14 where
+     fixpoint f mf zc sp1 = z14 where
            chain = ZChain.chain zc
            supf = ZChain.supf zc
            sp : Ordinal
            sp = MinSUP.sup sp1
            asp : odef A sp
            asp = MinSUP.asm sp1
-           z10 :  {a b : Ordinal } → (ca : odef chain a ) → supf b o< supf (& A) → (ab : odef A b )
+           z10 :  {a b : Ordinal } → (ca : odef chain a ) → b o< & A → (ab : odef A b )
               →  HasPrev A chain f b  ∨  IsSUP A (UnionCF A f mf as0 (ZChain.supf zc) b) ab
               → * a < * b  → odef chain b
            z10 = ZChain1.is-max (SZ1 f mf as0 zc (& A) )
@@ -1495,7 +1494,7 @@
            z12 : odef chain sp
            z12 with o≡? (& s) sp
            ... | yes eq = subst (λ k → odef chain k) eq ( ZChain.chain∋init zc )
-           ... | no ne = ZChain1.is-max (SZ1 f mf as0 zc (& A)) {& s} {sp} ( ZChain.chain∋init zc ) ssp<as asp (case2 z19 ) z13 where
+           ... | no ne = ZChain1.is-max (SZ1 f mf as0 zc (& A)) {& s} {sp} ( ZChain.chain∋init zc ) z22 asp (case2 z19 ) z13 where
                z13 :  * (& s) < * sp
                z13 with MinSUP.x≤sup sp1 ( ZChain.chain∋init zc )
                ... | case1 eq = ⊥-elim ( ne eq )
@@ -1544,7 +1543,7 @@
      z04 nmx zc = <-irr0  {* (cf nmx a)} {* a}
            (subst (λ k → odef A k ) (sym &iso) (proj1 (is-cf nmx (MinSUP.asm  asup ))))
            (subst (λ k → odef A k) (sym &iso) (MinSUP.asm asup) )
-           (case1 ( cong (*)( fixpoint (cf nmx) (cf-is-≤-monotonic nmx ) zc asup sa<sa ))) -- x ≡ f x ̄
+           (case1 ( cong (*)( fixpoint (cf nmx) (cf-is-≤-monotonic nmx ) zc asup ))) -- x ≡ f x ̄
                 (proj1 (cf-is-<-monotonic nmx a (MinSUP.asm asup ))) where                 -- x < f x
 
           supf = ZChain.supf zc
@@ -1554,59 +1553,6 @@
           a = MinSUP.sup asup
           a<A : a o< & A
           a<A =  ∈∧P→o< ⟪ MinSUP.asm asup , lift true ⟫
-          
-          csup : MinSUP  A (UnionCF A (cf nmx)  (cf-is-≤-monotonic nmx) as0 supf a)
-          csup = ZChain.minsup zc (o<→≤ a<A)
-          c : Ordinal
-          c = MinSUP.sup csup
-          ac : odef A c
-          ac = ?
-          sfc=c : supf a ≡ c
-          sfc=c = ZChain.supf-is-minsup zc (o<→≤ a<A)
-          c<A : c o< & A
-          c<A =  ∈∧P→o< ⟪ MinSUP.asm csup , lift true ⟫
-
-          dsup : MinSUP  A (UnionCF A (cf nmx)  (cf-is-≤-monotonic nmx) as0 supf c)
-          dsup = ZChain.minsup zc (o<→≤ c<A)
-          d : Ordinal
-          d = MinSUP.sup dsup
-          ad : odef A d
-          ad = ?
-          sfc=d : supf c ≡ d
-          sfc=d = ZChain.supf-is-minsup zc (o<→≤ c<A)
-          d<A : d o< & A
-          d<A =  ∈∧P→o< ⟪ MinSUP.asm dsup , lift true ⟫
-
-          zc40 : uchain (cf nmx)  (cf-is-≤-monotonic nmx) ac  ⊆' UnionCF A (cf nmx)  (cf-is-≤-monotonic nmx) as0 supf d
-          zc40 = ?
-
-          sc<<d : {mc : Ordinal } → (asc : odef A (supf mc)) → (spd : MinSUP A (uchain (cf nmx)  (cf-is-≤-monotonic nmx) asc ))
-             → supf mc << MinSUP.sup spd
-          sc<<d {mc} asc spd = z25 where
-                d1 :  Ordinal
-                d1 = MinSUP.sup spd -- supf d1 ≡ d
-                z24 : (supf mc ≡ d1) ∨ ( supf mc << d1 )
-                z24 = MinSUP.x≤sup spd (init asc refl)
-                --
-                --   f ( f .. ( supf mc ) <= d1
-                --   f d1 <= d1
-                --
-                z25 : supf mc << d1
-                z25 with z24
-                ... | case2 lt = lt
-                ... | case1 eq = ⊥-elim ( <-irr z29 (proj1 (cf-is-<-monotonic nmx d1 (MinSUP.asm spd)) ) )  where
-                    --  supf mc ≡ d1
-                    z32 : ((cf nmx (supf mc)) ≡ d1) ∨ ( (cf nmx (supf mc)) << d1 )
-                    z32 = MinSUP.x≤sup spd (fsuc _ (init asc refl))
-                    z29 :  (* (cf nmx d1) ≡ * d1) ∨ (* (cf nmx d1) < * d1)
-                    z29  with z32
-                    ... | case1 eq1 = case1 (cong (*) (trans (cong (cf nmx) (sym eq)) eq1)  )
-                    ... | case2 lt = case2 (subst (λ k → * k < * d1 ) (cong (cf nmx) eq) lt)
-
-          --   supf a ≡  c o< d ≡ supf c o≤ supf (& A)
-
-          sa<sa : supf a o< supf (& A)
-          sa<sa = ?
 
      zorn00 : Maximal A
      zorn00 with is-o∅ ( & HasMaximal )  -- we have no Level (suc n) LEM