Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 807:2141154c521b
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 12 Aug 2022 15:16:50 +0900 |
parents | 473825abd767 |
children | 81018623e3c5 |
files | src/zorn.agda |
diffstat | 1 files changed, 28 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/zorn.agda Fri Aug 12 12:56:15 2022 +0900 +++ b/src/zorn.agda Fri Aug 12 15:16:50 2022 +0900 @@ -688,6 +688,10 @@ pnext1 : {a : Ordinal} → odef pchain1 a → odef pchain1 (f a) pnext1 {a} ⟪ aa , ch-init fc ⟫ = ⟪ proj2 (mf a aa) , ch-init (fsuc _ fc) ⟫ pnext1 {a} ⟪ aa , ch-is-sup u u≤x is-sup fc ⟫ = ⟪ proj2 (mf a aa) , ch-is-sup u u≤x is-sup (fsuc _ fc ) ⟫ + ptotal1 : IsTotalOrderSet pchain1 + ptotal1 {a} {b} ca cb = subst₂ (λ j k → Tri (j < k) (j ≡ k) (k < j)) *iso *iso uz01 where + uz01 : Tri (* (& a) < * (& b)) (* (& a) ≡ * (& b)) (* (& b) < * (& a) ) + uz01 = chain-total A f mf ay supf1 ( (proj2 ca)) ( (proj2 cb)) -- if previous chain satisfies maximality, we caan reuse it -- @@ -698,26 +702,40 @@ ax : odef A x not-sup : IsSup A (UnionCF A f mf ay supf0 x) ax + UnionCF⊆ : {u x : Ordinal} → (a : u o≤ x ) → UnionCF A f mf ay supf0 u ⊆' UnionCF A f mf ay supf1 x + UnionCF⊆ {u} u<x ⟪ au , ch-init fc ⟫ = ⟪ au , ch-init fc ⟫ + UnionCF⊆ {u} u<x ⟪ au , ch-is-sup u1 u1≤x u1-is-sup (init au1 refl) ⟫ = ⟪ au , ch-is-sup u1 ? ? (init ? ?) ⟫ + UnionCF⊆ {u} u<x ⟪ au , ch-is-sup u1 u1≤x u1-is-sup (fsuc xp fcu1) ⟫ with + UnionCF⊆ {u} u<x ⟪ A∋fc _ f mf fcu1 , ch-is-sup u1 u1≤x u1-is-sup fcu1 ⟫ + ... | ⟪ aa , ch-init fc ⟫ = ⟪ proj2 ( mf _ aa ) , ch-init (fsuc _ fc) ⟫ + ... | ⟪ aa , ch-is-sup u u≤x is-sup fc ⟫ = ⟪ proj2 ( mf _ aa ) , ch-is-sup u u≤x is-sup (fsuc _ fc) ⟫ + UnionCFR⊆ : {u x : Ordinal} → (a : u o≤ x ) → UnionCF A f mf ay supf1 u ⊆' UnionCF A f mf ay supf0 x + UnionCFR⊆ {u} u<x ⟪ au , ch-init fc ⟫ = ⟪ au , ch-init fc ⟫ + UnionCFR⊆ {u} u<x ⟪ au , ch-is-sup u1 u1≤x u1-is-sup (init au1 refl) ⟫ = ⟪ au , ch-is-sup u1 ? ? (init ? ?) ⟫ + UnionCFR⊆ {u} u<x ⟪ au , ch-is-sup u1 u1≤x u1-is-sup (fsuc xp fcu1) ⟫ with + UnionCFR⊆ {u} u<x ⟪ A∋fc _ f mf fcu1 , ch-is-sup u1 u1≤x u1-is-sup fcu1 ⟫ + ... | ⟪ aa , ch-init fc ⟫ = ⟪ proj2 ( mf _ aa ) , ch-init (fsuc _ fc) ⟫ + ... | ⟪ aa , ch-is-sup u u≤x is-sup fc ⟫ = ⟪ proj2 ( mf _ aa ) , ch-is-sup u u≤x is-sup (fsuc _ fc) ⟫ no-extension : ¬ xSUP → ZChain A f mf ay x no-extension ¬sp=x = record { supf = supf1 ; sup = sup - ; initial = ? ; chain∋init = ? ; sup=u = sup=u ; supf-is-sup = sis ; csupf = csupf - ; chain⊆A = λ lt → proj1 lt ; f-next = ? ; f-total = ? } where + ; initial = pinit1 ; chain∋init = pcy1 ; sup=u = sup=u ; supf-is-sup = sis ; csupf = csupf + ; chain⊆A = λ lt → proj1 lt ; f-next = pnext1 ; f-total = ? } where sup : {z : Ordinal} → z o≤ x → SUP A (UnionCF A f mf ay supf1 z) sup {z} z≤x with trio< z px - ... | tri< a ¬b ¬c = ? -- ZChain.sup zc (o<→≤ a) - ... | tri≈ ¬a b ¬c = ? -- ZChain.sup zc (subst (λ k → k o≤ px) (sym b) o≤-refl ) + ... | tri< a ¬b ¬c = SUP⊆ (UnionCFR⊆ ?) ( ZChain.sup zc (o<→≤ a) ) + ... | tri≈ ¬a b ¬c = SUP⊆ (UnionCFR⊆ ?) ( ZChain.sup zc (subst (λ k → k o≤ px) (sym b) o≤-refl )) ... | tri> ¬a ¬b c = ? sup=u : {b : Ordinal} (ab : odef A b) → b o≤ x → IsSup A (UnionCF A f mf ay supf1 (osuc b)) ab → supf1 b ≡ b sup=u {b} ab b<x is-sup with trio< b px - ... | tri< a ¬b ¬c = ? -- ZChain.sup=u zc ab (o<→≤ a) is-sup - ... | tri≈ ¬a b ¬c = ? -- ZChain.sup=u zc ab (subst (λ k → k o≤ px) (sym b) o≤-refl ) is-sup + ... | tri< a ¬b ¬c = ZChain.sup=u zc ab (o<→≤ a) ? + ... | tri≈ ¬a b ¬c = ZChain.sup=u zc ab (subst (λ k → k o≤ px) (sym b) o≤-refl ) ? ... | tri> ¬a ¬b c = ? csupf : {b : Ordinal} → b o≤ x → odef (UnionCF A f mf ay supf1 b) (supf1 b) csupf {b} b≤x with trio< b px - ... | tri< a ¬b ¬c = ? -- ZChain.csupf zc (o<→≤ a) - ... | tri≈ ¬a b ¬c = ? -- ZChain.csupf zc (subst (λ k → k o≤ px) (sym b) o≤-refl ) - ... | tri> ¬a ¬b px<b = ? where + ... | tri< a ¬b ¬c = UnionCF⊆ o≤-refl ( ZChain.csupf zc (o<→≤ a) ) + ... | tri≈ ¬a b ¬c = UnionCF⊆ o≤-refl ( ZChain.csupf zc (subst (λ k → k o≤ px) (sym b) o≤-refl )) + ... | tri> ¬a ¬b px<b = ⟪ ? , ch-is-sup b o≤-refl ? ? ⟫ where -- px< b ≤ x -- b ≡ x, supf x ≡ sp1 , ¬ x ≡ sp1 zc30 : x ≡ b @@ -740,7 +758,7 @@ supx = record { sup = * x ; as = subst (λ k → odef A k ) {!!} ax ; x<sup = {!!} } spx = & (SUP.sup supx ) x=spx : x ≡ spx - x=spx = {!!} + x=spx = sym &iso psupf1 : Ordinal → Ordinal psupf1 z with trio< z x ... | tri< a ¬b ¬c = ZChain.supf zc z