Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 758:a2947dfff80d
is-max on first transfinite induction is not good
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 24 Jul 2022 16:40:35 +0900 |
parents | 359f1577f947 |
children | 944f50265914 |
files | src/zorn.agda |
diffstat | 1 files changed, 33 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/zorn.agda Sun Jul 24 15:25:08 2022 +0900 +++ b/src/zorn.agda Sun Jul 24 16:40:35 2022 +0900 @@ -654,7 +654,7 @@ -- no-extension : ZChain A f mf ay x no-extension = record { supf = supf0 - ; initial = pinit ; chain∋init = pcy ; csupf = csupf ; sup=f = ? ; order = ? ; fcy<sup = ? + ; initial = pinit ; chain∋init = pcy ; csupf = csupf ; sup=u = ? ; order = ? ; fcy<sup = ? ; chain⊆A = pchain⊆A ; f-next = pnext ; f-total = ptotal } zc4 : ZChain A f mf ay x @@ -665,7 +665,7 @@ ... | 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 = ? ; csupf = ? ; sup=f = ? ; order = ? ; fcy<sup = ? + record { supf = psupf1 ; chain⊆A = ? ; f-next = ? ; f-total = ? ; csupf = ? ; sup=u = ? ; order = ? ; fcy<sup = ? ; initial = ? ; chain∋init = ? } where psupf1 : Ordinal → Ordinal psupf1 z with trio< z x @@ -673,6 +673,7 @@ ... | tri≈ ¬a b ¬c = x ... | tri> ¬a ¬b c = x ... | case2 ¬x=sup = no-extension -- px is not f y' nor sup of former ZChain from y -- no extention + ... | no lim = zc5 where pzc : (z : Ordinal) → z o< x → ZChain A f mf ay z @@ -763,6 +764,16 @@ uz01 : Tri (* (& a) < * (& b)) (* (& a) ≡ * (& b)) (* (& b) < * (& a) ) uz01 = chain-total A f mf ay psupf ( (proj2 ca)) ( (proj2 cb)) + is-max-hp : (supf : Ordinal → Ordinal) (x : Ordinal) {a : Ordinal} {b : Ordinal} → odef (UnionCF A f mf ay supf x) a → + b o< x → (ab : odef A b) → + HasPrev A (UnionCF A f mf ay supf x) ab f → + * a < * b → odef (UnionCF A f mf ay supf x) b + is-max-hp supf x {a} {b} ua b<x ab has-prev a<b with HasPrev.ay has-prev + ... | ⟪ ab0 , ch-init fc ⟫ = ⟪ ab , ch-init ( subst (λ k → FClosure A f y k) (sym (HasPrev.x=fy has-prev)) (fsuc _ fc )) ⟫ + ... | ⟪ ab0 , ch-is-sup u u≤x is-sup fc ⟫ = ⟪ ab , + subst (λ k → UChain A f mf ay supf x k ) + (sym (HasPrev.x=fy has-prev)) ( ch-is-sup u u≤x (ChainP-next A f mf ay _ is-sup) (fsuc _ fc)) ⟫ + no-extension : ZChain A f mf ay x no-extension = record { initial = pinit ; chain∋init = pcy ; supf = psupf ; csupf = csupf ; sup=u = ? ; order = ? ; fcy<sup = ? ; chain⊆A = pchain⊆A ; f-next = pnext ; f-total = ptotal } @@ -781,6 +792,26 @@ ... | tri< a ¬b ¬c = ZChain.supf (pzc z a) z ... | tri≈ ¬a b ¬c = x ... | tri> ¬a ¬b c = x + is-max : {a b : Ordinal } → (ca : odef (UnionCF A f mf ay psupf1 x) a ) → b o< x → (ab : odef A b) + → HasPrev A (UnionCF A f mf ay psupf1 x) ab f ∨ IsSup A (UnionCF A f mf ay psupf1 x) ab + → * a < * b → odef ((UnionCF A f mf ay psupf1 x)) b + is-max {a} {b} ua b<x ab (case1 hasp) a<b = is-max-hp psupf1 x ua b<x ab hasp a<b + is-max {a} {b} ua b<x ab (case2 is-sup) a<b with IsSup.x<sup is-sup (init-uchain A f mf ay ) + ... | case1 b=y = ⊥-elim ( <-irr ? + (subst (λ k → * a < * k ) (sym b=y) a<b ) ) + ... | case2 y<b = m04 where + m07 : {z : Ordinal} → FClosure A f y z → z << psupf1 b + m07 {z} fc = ? + m08 : {sup1 z1 : Ordinal} → sup1 o< b → FClosure A f (psupf1 sup1) z1 → z1 << psupf1 b + m08 {sup1} {z1} s<b fc = ? + m05 : b ≡ psupf1 b + m05 = ? + m06 : ChainP A f mf ay psupf1 b b + m06 = record { fcy<sup = m07 ; csupz = subst (λ k → FClosure A f k b ) m05 (init ab) ; order = m08 ; supfu=u = sym m05 } + m04 : odef (UnionCF A f mf ay psupf1 x) b + m04 = ⟪ ab , ch-is-sup b ? m06 (subst (λ k → FClosure A f k b) m05 (init ab)) ⟫ + + ... | case2 ¬x=sup = no-extension -- x is not f y' nor sup of former ZChain from y -- no extention SZ : ( f : Ordinal → Ordinal ) → (mf : ≤-monotonic-f A f ) → {y : Ordinal} (ay : odef A y) → ZChain A f mf ay (& A)