Mercurial > hg > Members > kono > Proof > ZF-in-agda
changeset 643:a7e538a7c87f
...
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 26 Jun 2022 22:27:17 +0900 |
parents | b46a0a2b32e5 |
children | 83f93d35b09a |
files | src/OrdUtil.agda src/zorn.agda |
diffstat | 2 files changed, 14 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/src/OrdUtil.agda Sun Jun 26 20:11:28 2022 +0900 +++ b/src/OrdUtil.agda Sun Jun 26 22:27:17 2022 +0900 @@ -41,9 +41,6 @@ osuc-< {x} {y} y<ox x<y | case2 y<x = o<> x<y y<x osucc : {ox oy : Ordinal } → oy o< ox → osuc oy o< osuc ox ----- y < osuc y < x < osuc x ----- y < osuc y = x < osuc x ----- y < osuc y > x < osuc x -> y = x ∨ x < y → ⊥ osucc {ox} {oy} oy<ox with trio< (osuc oy) ox osucc {ox} {oy} oy<ox | tri< a ¬b ¬c = ordtrans a <-osuc osucc {ox} {oy} oy<ox | tri≈ ¬a refl ¬c = <-osuc @@ -57,6 +54,11 @@ osucprev {ox} {oy} oy<ox | tri≈ ¬a b ¬c = ⊥-elim (o<¬≡ (cong (λ k → osuc k) b) oy<ox ) osucprev {ox} {oy} oy<ox | tri> ¬a ¬b c = ⊥-elim (o<> (osucc c) oy<ox ) +ordtrans≤-< : {ox oy oz : Ordinal } → ox o< osuc oy → oy o< oz → ox o< oz +ordtrans≤-< {ox} {oy} {oz} x≤y y<z with osuc-≡< x≤y +... | case1 x=y = subst ( λ k → k o< oz ) (sym x=y) y<z +... | case2 x<y = ordtrans x<y y<z + open _∧_ osuc2 : ( x y : Ordinal ) → ( osuc x o< osuc (osuc y )) ⇔ (x o< osuc y)
--- a/src/zorn.agda Sun Jun 26 20:11:28 2022 +0900 +++ b/src/zorn.agda Sun Jun 26 22:27:17 2022 +0900 @@ -594,17 +594,16 @@ → ∀ (x : Ordinal) → ind x (λ y _ → TransFinite ind y ) ≡ TransFinite ind x record ZChain1 ( f : Ordinal → Ordinal ) ( y z : Ordinal ) : Set (Level.suc n) where + inductive field zc : { x : Ordinal } → x o< z → ZChain A y f x - chain-mono : {x y : Ordinal} → (x≤y : x o≤ y) → (y<z : y o< z ) → ZChain.chain (zc ?) ⊆' ZChain.chain (zc y<z ) + chain-mono : {x y : Ordinal} → (x≤y : x o≤ y) → (y<z : y o< z ) → ZChain.chain (zc {x} (ordtrans≤-< x≤y y<z)) ⊆' ZChain.chain (zc y<z ) f-total : {x : Ordinal} → (x<z : x o< z ) → IsTotalOrderSet (ZChain.chain (zc x<z ) ) SZ1 : ( f : Ordinal → Ordinal ) → (mf : ≤-monotonic-f A f ) → {y : Ordinal} → (ay : odef A y) → (z : Ordinal) → ZChain1 f y z - SZ1 f mf {y} ay z = TransFinite {λ w → {!!} w} {!!} z where - indp : (x : Ordinal) → - ((y₁ : Ordinal) → y₁ o< x → ZChain1 f y y₁) → - ZChain1 f y x + SZ1 f mf {y} ay z = TransFinite {λ w → ZChain1 f y w } indp z where + indp : (x : Ordinal) → ((y₁ : Ordinal) → y₁ o< x → ZChain1 f y y₁) → ZChain1 f y x indp x prev with Oprev-p x ... | yes op = sz02 where sz02 : ZChain1 f y ? @@ -616,13 +615,6 @@ ... | tri≈ ¬a b ¬c = {!!} ... | tri> ¬a ¬b y<x = {!!} - T⊆ : ( ind : (x : Ordinal) → ( (y : Ordinal ) → y o< x → HOD ) → HOD ) - → ( (x : Ordinal) → ( prev : (y : Ordinal ) → y o< x → HOD ) → {y : Ordinal } → (y<x : y o< x) → prev y y<x ⊆' ind x prev ) - → {x z : Ordinal} → z o≤ x → TransFinite ind z ⊆' TransFinite ind x - T⊆ = ? where -- {ψ} ind p⊆ {x} {z} z≤x = ? where -- TransFinite0 (λ x prev → indt x prev ) x {z} z≤x where - -- indt : (x : Ordinal) → ( (y : Ordinal) → y o< x → {z : Ordinal} → z o≤ y → ψ z ⊆' ψ y ) → {z : Ordinal} → z o≤ x → ψ z ⊆' ψ x - -- indt x prev {z} z≤x {i} zi = prev {!!} {!!} {z} z≤x zi - zorn00 : Maximal A zorn00 with is-o∅ ( & HasMaximal ) -- we have no Level (suc n) LEM ... | no not = record { maximal = ODC.minimal O HasMaximal (λ eq → not (=od∅→≡o∅ eq)) ; A∋maximal = zorn01 ; ¬maximal<x = zorn02 } where @@ -633,18 +625,18 @@ zorn01 = proj1 zorn03 zorn02 : {x : HOD} → A ∋ x → ¬ (ODC.minimal O HasMaximal (λ eq → not (=od∅→≡o∅ eq)) < x) zorn02 {x} ax m<x = proj2 zorn03 (& x) ax (subst₂ (λ j k → j < k) (sym *iso) (sym *iso) m<x ) - ... | yes ¬Maximal = ⊥-elim ( z04 nmx zorn04 zc1 ) where + ... | yes ¬Maximal = ⊥-elim ( z04 nmx (ZChain1.zc zc0 <-osuc ) (ZChain1.f-total zc0 <-osuc) ) where -- if we have no maximal, make ZChain, which contradict SUP condition nmx : ¬ Maximal A nmx mx = ∅< {HasMaximal} zc5 ( ≡o∅→=od∅ ¬Maximal ) where zc5 : odef A (& (Maximal.maximal mx)) ∧ (( y : Ordinal ) → odef A y → ¬ (* (& (Maximal.maximal mx)) < * y)) zc5 = ⟪ Maximal.A∋maximal mx , (λ y ay mx<y → Maximal.¬maximal<x mx (subst (λ k → odef A k ) (sym &iso) ay) (subst (λ k → k < * y) *iso mx<y) ) ⟫ - zorn04 : ZChain A (& s) (cf nmx) (& A) - zorn04 = SZ (cf nmx) (cf-is-≤-monotonic nmx) (subst (λ k → odef A k ) &iso as ) + -- zorn04 : ZChain A (& s) (cf nmx) (& A) + -- zorn04 = SZ (cf nmx) (cf-is-≤-monotonic nmx) (subst (λ k → odef A k ) &iso as ) zc0 : ZChain1 (cf nmx) (& s) (osuc (& A)) zc0 = SZ1 (cf nmx) (cf-is-≤-monotonic nmx) (subst (λ k → odef A k ) &iso as) (osuc (& A)) - zc1 : IsTotalOrderSet ( ZChain.chain (ZChain1.zc zc0 <-osuc ) ) - zc1 = ZChain1.f-total zc0 <-osuc + -- zc1 : IsTotalOrderSet ( ZChain.chain (ZChain1.zc zc0 <-osuc ) ) + -- zc1 = ZChain1.f-total zc0 <-osuc -- usage (see filter.agda ) --