Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 734:753780183ddf
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 19 Jul 2022 10:01:59 +0900 |
parents | 15f3bcc4ae3f |
children | 5dacaf73eba8 |
files | src/zorn.agda |
diffstat | 1 files changed, 19 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/zorn.agda Tue Jul 19 09:36:02 2022 +0900 +++ b/src/zorn.agda Tue Jul 19 10:01:59 2022 +0900 @@ -435,21 +435,23 @@ SZ1 :( A : HOD ) ( f : Ordinal → Ordinal ) (mf : ≤-monotonic-f A f) {init : Ordinal} (ay : odef A init) (zc : ZChain A f mf ay (& A)) (x : Ordinal) → ZChain1 A f mf ay zc x SZ1 A f mf {y} ay zc x = TransFinite { λ x → ZChain1 A f mf ay zc x } zc1 x where + chain-mono2 : (x : Ordinal) {a b c : Ordinal} → a o≤ b → b o≤ x → + odef (UnionCF A f mf ay (ZChain.supf zc) a) c → odef (UnionCF A f mf ay (ZChain.supf zc) b) c + chain-mono2 x {a} {b} {c} a≤b b≤x ⟪ ua , record { u = _ ; u<x = u<x ; uchain = ch-init .c fc } ⟫ = + ⟪ ua , record { u = _ ; u<x = case2 refl ; uchain = ch-init c fc } ⟫ + chain-mono2 x {a} {b} {c} a≤b b≤x ⟪ ua , record { u = u ; u<x = case1 u<x ; uchain = ch-is-sup is-sup fc } ⟫ = + ⟪ ua , record { u = u ; u<x = case1 (ordtrans<-≤ u<x a≤b) ; uchain = ch-is-sup is-sup 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 } where + ... | yes op = record { is-max = is-max ; chain-mono2 = chain-mono2 x } where px = Oprev.oprev op - chain-mono2 : {a b c : Ordinal} → a o≤ b → b o≤ x → - odef (UnionCF A f mf ay (ZChain.supf zc) a) c → odef (UnionCF A f mf ay (ZChain.supf zc) b) c - chain-mono2 {a} {b} {c} a≤b b≤x ⟪ ua , record { u = _ ; u<x = u<x ; uchain = ch-init .c x } ⟫ = - ⟪ ua , record { u = _ ; u<x = case2 refl ; uchain = ch-init c x } ⟫ - chain-mono2 {a} {b} {c} a≤b b≤x ⟪ ua , record { u = u ; u<x = case1 u<x ; uchain = ch-is-sup is-sup fc } ⟫ = - ⟪ ua , record { u = u ; u<x = case1 (ordtrans<-≤ u<x a≤b) ; uchain = ch-is-sup is-sup fc } ⟫ is-max : {a : Ordinal} {b : Ordinal} → odef (UnionCF A f mf ay (ZChain.supf zc) x) a → b o< x → (ab : odef A b) → HasPrev A (UnionCF A f mf ay (ZChain.supf zc) x) ab f ∨ IsSup A (UnionCF A f mf ay (ZChain.supf zc) x) ab → * a < * b → odef (UnionCF A f mf ay (ZChain.supf zc) x) b - is-max {a} {b} ua b<x ab (case1 has-prev) a<b = {!!} + is-max {a} {b} ua b<x ab (case1 has-prev) a<b = m04 where + m04 : odef (UnionCF A f mf ay (ZChain.supf zc) x) b + m04 = ? is-max {a} {b} ua b<x ab (case2 is-sup) a<b with ODC.p∨¬p O ( HasPrev A (UnionCF A f mf ay (ZChain.supf zc) x) ab f ) ... | case1 has-prev = m04 where m04 : odef (UnionCF A f mf ay (ZChain.supf zc) x) b @@ -463,7 +465,7 @@ ... | record { u = _ ; u<x = u<x ; uchain = ch-init .(HasPrev.y has-prev) fc } = ch-init (f (HasPrev.y has-prev)) (fsuc _ fc) ... | record { u = u ; u<x = u<x ; uchain = ch-is-sup is-sup fc } = ch-is-sup ? (fsuc _ fc) - ... | case2 ¬fy<x = {!!} where + ... | case2 ¬fy<x = m01 where m01 : odef (UnionCF A f mf ay (ZChain.supf zc) x) b m01 with trio< px b ... | tri< a ¬b ¬c = ZChain1.chain-mono2 (prev px {!!}) {!!} {!!} m04 where @@ -471,7 +473,14 @@ m04 = ZChain1.is-max (prev px {!!}) {!!} {!!} ab {!!} a<b ... | tri≈ ¬a b ¬c = {!!} ... | tri> ¬a ¬b c = {!!} - ... | no lim = record { is-max = {!!} ; chain-mono2 = {!!} ; chain≤x = {!!} } + ... | no lim = record { is-max = {!!} ; chain-mono2 = chain-mono2 x } where + is-max : {a : Ordinal} {b : Ordinal} → odef (UnionCF A f mf ay (ZChain.supf zc) x) a → + b o< x → (ab : odef A b) → + HasPrev A (UnionCF A f mf ay (ZChain.supf zc) x) ab f ∨ IsSup A (UnionCF A f mf ay (ZChain.supf zc) x) ab → + * a < * b → odef (UnionCF A f mf ay (ZChain.supf zc) x) b + is-max {a} {b} ua b<x ab (case1 has-prev) a<b = ? + is-max {a} {b} ua b<x ab (case2 is-sup) a<b = ? + --- with ODC.p∨¬p O ( HasPrev A (UnionCF A f mf ay (ZChain.supf zc) x) ab f ) --- m04 : odef (UnionCF A f mf ay (ZChain.supf zc) (osuc b)) b --- m04 = ZChain1.is-max (prev (osuc b) {!!} ) {!!} <-osuc ab {!!} a<b