Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 683:6814fc4e7998
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 10 Jul 2022 06:34:54 +0900 |
parents | 663b34227faf |
children | 822fce8af579 |
files | src/OrdUtil.agda src/zorn.agda |
diffstat | 2 files changed, 51 insertions(+), 18 deletions(-) [+] |
line wrap: on
line diff
--- a/src/OrdUtil.agda Sat Jul 09 21:51:39 2022 +0900 +++ b/src/OrdUtil.agda Sun Jul 10 06:34:54 2022 +0900 @@ -173,6 +173,12 @@ ... | tri≈ ¬a b ¬c = yes (o≤-refl0 b) ... | tri> ¬a ¬b c = no (λ n → osuc-< n c ) +o¬≤→< : {x z : Ordinal} → ¬ (x o< osuc z) → z o< x +o¬≤→< {x} {z} not with trio< z x +... | tri< a ¬b ¬c = a +... | tri≈ ¬a b ¬c = ⊥-elim (not (o≤-refl0 (sym b))) +... | tri> ¬a ¬b c = ⊥-elim (not (o<→≤ c )) + OrdTrans : Transitive _o≤_ OrdTrans a≤b b≤c with osuc-≡< a≤b | osuc-≡< b≤c OrdTrans a≤b b≤c | case1 refl | case1 refl = <-osuc
--- a/src/zorn.agda Sat Jul 09 21:51:39 2022 +0900 +++ b/src/zorn.agda Sun Jul 10 06:34:54 2022 +0900 @@ -430,37 +430,62 @@ pchain : HOD pchain = chainf sc px - no-ext : ZChain1 A f mf ay x - no-ext = record { psup = ZChain1.psup sc ; p≤z = ZChain1.p≤z sc ; chainf = ZChain1.chainf sc - ; is-chain = ZChain1.is-chain sc ; psup-mono = sc0 } where - sc0 : (z : Ordinal) → z o≤ x → chainf sc z ⊆' chainf sc x - sc0 = ? + no-ext : ZChain1 A f mf ay x + no-ext = record { psup = psup1 ; p≤z = p≤z1 ; chainf = chainf1 ; is-chain = is-chain1 ; psup-mono = sc0 } where + psup1 : Ordinal → Ordinal + psup1 z with o≤? z x + ... | yes _ = ZChain1.psup sc z + ... | no _ = ZChain1.psup sc x + p≤z1 : (z : Ordinal ) → odef A (psup1 z) + p≤z1 z with o≤? z x + ... | yes _ = ZChain1.p≤z sc z + ... | no _ = ZChain1.p≤z sc x + chainf1 : (z : Ordinal ) → HOD + chainf1 z with o≤? z x + ... | yes _ = ZChain1.chainf sc z + ... | no _ = ZChain1.chainf sc x + sc0 : (z : Ordinal) → z o≤ x → chainf1 z ⊆' chainf1 x + sc0 z = ? + is-chain1 : ? + is-chain1 = ? sc4 : ZChain1 A f mf ay x sc4 with ODC.∋-p O A (* x) - ... | no noax = record { psup = ZChain1.psup sc ; p≤z = ? ; chainf = ? ; is-chain = ? ; psup-mono = ? } + ... | no noax = no-ext ... | yes ax with ODC.p∨¬p O ( HasPrev A pchain ax f ) - ... | case1 pr = record { psup = ZChain1.psup sc ; p≤z = ? ; chainf = ? ; is-chain = ? ; psup-mono = ? } + ... | case1 pr = no-ext ... | case2 ¬fy<x with ODC.p∨¬p O (IsSup A pchain ax ) ... | case1 is-sup = record { psup = ? ; p≤z = ? ; chainf = ? ; is-chain = ? ; psup-mono = ? } where schain : HOD schain = ? -- record { od = record { def = λ z → odef A z ∧ ( odef (ZChain1.chain sc ) z ∨ (FClosure A f x z)) } -- ; odmax = & A ; <odmax = λ {y} sy → ∈∧P→o< sy } - ... | case2 ¬x=sup = record { psup = ZChain1.psup sc ; p≤z = ? ; chainf = ? ; is-chain = ? ; psup-mono = ? } + ... | case2 ¬x=sup = no-ext ... | no ¬ox = sc4 where pchainf : (z : Ordinal) → z o< x → HOD pchainf z z<x = ZChain1.chainf (prev z z<x) z + pzc : (z : Ordinal) → z o< x → ZChain1 A f mf ay z + pzc z z<x = prev z z<x UZ : HOD UZ = UnionCF A x pchainf - sc4 : ZChain1 A f mf ay x - sc4 with o≤? x o∅ - ... | yes x=0 = record { psup = ? ; p≤z = ? ; chainf = ? ; is-chain = ? ; psup-mono = ? } - ... | no 0<x with ODC.∋-p O A (* x) - ... | no noax = record { psup = ? ; p≤z = ? ; chainf = ? ; is-chain = ? ; psup-mono = ? } - ... | yes ax with ODC.p∨¬p O ( HasPrev A (UnionCF A x pchainf) ax f ) - ... | case1 pr = record { psup = ? ; p≤z = ? ; chainf = ? ; is-chain = ? ; psup-mono = ? } - ... | case2 ¬fy<x with ODC.p∨¬p O (IsSup A (UnionCF A x pchainf) ax ) - ... | case1 is-sup = ? - ... | case2 ¬x=sup = ? + usup : SUP A UZ + usup = supP UZ ? ? + sc4 : ZChain1 A f mf ay x + sc4 = record { psup = psup1 ; p≤z = p≤z1 ; chainf = chainf1 ; is-chain = is-chain1 ; psup-mono = sc0 } where + psup1 : Ordinal → Ordinal + psup1 z with o≤? x z + ... | yes _ = ? + ... | no z<x = ZChain1.psup (pzc z (o¬≤→< z<x)) z + p≤z1 : (z : Ordinal ) → odef A (psup1 z) + p≤z1 z with o≤? x z + ... | yes _ = ? + ... | no z<x = ZChain1.p≤z (pzc z (o¬≤→< z<x)) z + chainf1 : (z : Ordinal ) → HOD + chainf1 z with o≤? x z + ... | yes _ = UZ + ... | no z<x = ZChain1.chainf (pzc z (o¬≤→< z<x)) z + sc0 : (z : Ordinal) → z o≤ x → chainf1 z ⊆' chainf1 x + sc0 z = ? + is-chain1 : ? + is-chain1 = ? ind : ( f : Ordinal → Ordinal ) → (mf : ≤-monotonic-f A f ) {y : Ordinal} (ay : odef A y) → (x : Ordinal) → (zc0 : (x : Ordinal) → ZChain1 A f mf ay x) @@ -623,6 +648,8 @@ uzc {z} u = prev (UChain.u u) (UChain.u<x u) Uz : HOD Uz = record { od = record { def = λ z → odef A z ∧ ( UChain x supf z ∨ FClosure A f y z ) } ; odmax = & A ; <odmax = {!!} } + Uzchain : ¬ (odef (ZChain1.chainf (zc0 (& A) ) x) x) → ZChain A f mf ay zc0 x + Uzchain nz = record { chain-mono = ? ; chain⊆A = ? ; chain∋init = ? ; initial = ? ; f-next = ? ; f-total = ? ; is-max = ? } zc5 : ZChain A f mf ay zc0 x zc5 with o≤? x o∅ ... | yes x=0 = ?