# HG changeset patch # User Shinji KONO # Date 1685865519 -32400 # Node ID 47d3cc596d682279f2f7a076019ebb215bde72bc # Parent 054c2b0925c4a0734454020180c7e6850d82b459 remove next diff -r 054c2b0925c4 -r 47d3cc596d68 src/BAlgebra.agda --- a/src/BAlgebra.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/BAlgebra.agda Sun Jun 04 16:58:39 2023 +0900 @@ -22,7 +22,7 @@ open inOrdinal O open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O open ODUtil O diff -r 054c2b0925c4 -r 47d3cc596d68 src/LEMC.agda --- a/src/LEMC.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/LEMC.agda Sun Jun 04 16:58:39 2023 +0900 @@ -23,7 +23,7 @@ import ODUtil open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O open ODUtil O diff -r 054c2b0925c4 -r 47d3cc596d68 src/OD.agda --- a/src/OD.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/OD.agda Sun Jun 04 16:58:39 2023 +0900 @@ -18,7 +18,7 @@ open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O -- Ordinal Definable Set @@ -54,7 +54,6 @@ eq→ ( ⇔→== {x} {y} eq ) {z} m = proj1 eq m eq← ( ⇔→== {x} {y} eq ) {z} m = proj2 eq m --- next assumptions are our axiom -- -- OD is an equation on Ordinals, so it contains Ordinals. If these Ordinals have one-to-one -- correspondence to the OD then the OD looks like a ZF Set. @@ -106,7 +105,7 @@ postulate odAxiom : ODAxiom open ODAxiom odAxiom --- possible order restriction (required in the axiom of infinite ) +-- possible order restriction (required in the axiom of Omega ) -- postulate odAxiom-ho< : ODAxiom-ho< -- open ODAxiom-ho< odAxiom-ho< @@ -443,41 +442,83 @@ Intersection : (X : HOD ) → HOD -- ∩ X Intersection X = record { od = record { def = λ x → (x o≤ & X ) ∧ ( {y : Ordinal} → odef X y → odef (* y) x )} ; odmax = osuc (& X) ; ¬a ¬b c = ⊥-elim (¬x<0 c) -infinite-od : OD -infinite-od = record { def = λ x → infinite-d x } +¬0=ux : {x : HOD} → ¬ o∅ ≡ & (Union ( x , ( x , x))) +¬0=ux {x} eq = ⊥-elim ( o<¬≡ eq (ordtrans≤-< o∅ ¬a ¬b c | record { eq = eq1 } = next< (subst (λ k → k o< next o ) (sym eq1) (osuc ¬a ¬b c = ⊥-elim ( ¬x<0 c ) +-- nexto∅ : {x : Ordinal} → o∅ o< next x +-- nexto∅ {x} with trio< o∅ x +-- nexto∅ {x} | tri< a ¬b ¬c = ordtrans a x ¬a ¬b c = ⊥-elim ( ¬x<0 c ) -- next< : {x y z : Ordinal} → x o< next z → y o< next x → y o< next z -- next< {x} {y} {z} x ¬a ¬b c = ⊥-elim (¬nx ¬a ¬b c = subst (λ k → osuc x o< k ) nexto≡ (osuc ¬a ¬b c = osuc ¬a ¬b c = osuc) , * x ))) - h1 : {i : Nat} {x : Ordinal } → Hω2 i x → - Hω2 (Suc i) (& (Union ((< nat→ω i , nat→ω 1 >) , * x ))) + Hω2 (Suc i) (& (Union ((nat→ω i , nat→ω i) , * x ))) he : {i : Nat} {x : Ordinal } → Hω2 i x → Hω2 (Suc i) x @@ -69,42 +67,61 @@ open Hω2r +hw⊆POmega : {y : Ordinal} → Hω2r y → odef (Power Omega) y +hw⊆POmega {y} r = odmax1 (Hω2r.count r) (Hω2r.hω2 r) where + odmax1 : {y : Ordinal} (i : Nat) → Hω2 i y → odef (Power Omega) y + odmax1 0 hφ z xz = ⊥-elim ( ¬x<0 (subst (λ k → odef k z) o∅≡od∅ xz )) + odmax1 (Suc i) (h0 {_} {y} hw) = pf01 where + pf00 : odef ( Power Omega) y + pf00 = odmax1 i hw + pf01 : odef (Power Omega) (& (Union ((nat→ω i , nat→ω i ) , * y))) + pf01 z xz with subst (λ k → odef k z ) *iso xz + ... | record { owner = owner ; ao = case1 refl ; ox = ox } = pf02 where + pf02 : Omega-d z + pf02 with subst (λ k → odef k z) *iso ox + ... | case1 refl = ω∋nat→ω {i} + ... | case2 refl = ω∋nat→ω {i} + ... | record { owner = owner ; ao = case2 refl ; ox = ox } = pf00 _ (subst (λ k → odef k z) *iso ox) + odmax1 (Suc i) (he {_} {y} hw) = pf00 where + pf00 : odef ( Power Omega) y + pf00 = odmax1 i hw + +-- +-- Set of limited partial function of Omega +-- HODω2 : HOD -HODω2 = record { od = record { def = λ x → Hω2r x } ; odmax = next o∅ ; , ( list→hod t (Suc i) )) - list→hod (just i1 ∷ t) i = Union (< nat→ω i , nat→ω 1 > , ( list→hod t (Suc i) )) - list→hod (nothing ∷ t) i = list→hod t (Suc i ) +3→Hω2 : List Two → HOD +3→Hω2 t = * (HwStep.x (list→hod t)) where + list→hod : List Two → HwStep + list→hod [] = record { x = o∅ ; i = 0 ; isHw = hφ } + list→hod (i0 ∷ t) = record { x = & (Union ( (nat→ω (HwStep.i pf01) , nat→ω (HwStep.i pf01)) , * x )) + ; i = Suc (HwStep.i pf01) ; isHw = h0 (HwStep.isHw pf01) } where + pf01 : HwStep + pf01 = list→hod t + x = HwStep.x pf01 + list→hod (i1 ∷ t) = list→hod t -Hω2→3 : (x : HOD) → HODω2 ∋ x → List (Maybe Two) +Hω2→3 : (x : HOD) → HODω2 ∋ x → List Two Hω2→3 x = lemma where - lemma : { y : Ordinal } → Hω2r y → List (Maybe Two) + lemma : { y : Ordinal } → Hω2r y → List Two lemma record { count = 0 ; hω2 = hφ } = [] - lemma record { count = (Suc i) ; hω2 = (h0 hω3) } = just i0 ∷ lemma record { count = i ; hω2 = hω3 } - lemma record { count = (Suc i) ; hω2 = (h1 hω3) } = just i1 ∷ lemma record { count = i ; hω2 = hω3 } - lemma record { count = (Suc i) ; hω2 = (he hω3) } = nothing ∷ lemma record { count = i ; hω2 = hω3 } + lemma record { count = (Suc i) ; hω2 = (h0 hω3) } = i0 ∷ lemma record { count = i ; hω2 = hω3 } + lemma record { count = (Suc i) ; hω2 = (he hω3) } = i1 ∷ lemma record { count = i ; hω2 = hω3 } ω→2 : HOD -ω→2 = Power infinite +ω→2 = Power Omega ω2→f : (x : HOD) → ω→2 ∋ x → Nat → Two ω2→f x lt n with ODC.∋-p O x (nat→ω n) @@ -112,10 +129,10 @@ ω2→f x lt n | no ¬p = i0 fω→2-sel : ( f : Nat → Two ) (x : HOD) → Set n -fω→2-sel f x = (infinite ∋ x) ∧ ( (lt : odef infinite (& x) ) → f (ω→nat x lt) ≡ i1 ) +fω→2-sel f x = (Omega ∋ x) ∧ ( (lt : odef Omega (& x) ) → f (ω→nat x lt) ≡ i1 ) fω→2 : (Nat → Two) → HOD -fω→2 f = Select infinite (fω→2-sel f) +fω→2 f = Select Omega (fω→2-sel f) open _==_ @@ -123,9 +140,9 @@ postulate f-extensionality : { n m : Level} → Axiom.Extensionality.Propositional.Extensionality n m ω2∋f : (f : Nat → Two) → ω→2 ∋ fω→2 f -ω2∋f f = power← infinite (fω→2 f) (λ {x} lt → proj1 ((proj2 (selection {fω→2-sel f} {infinite} )) lt)) +ω2∋f f = power← Omega (fω→2 f) (λ {x} lt → proj1 ((proj2 (selection {fω→2-sel f} {Omega} )) lt)) -ω→2f≡i1 : (X i : HOD) → (iω : infinite ∋ i) → (lt : ω→2 ∋ X ) → ω2→f X lt (ω→nat i iω) ≡ i1 → X ∋ i +ω→2f≡i1 : (X i : HOD) → (iω : Omega ∋ i) → (lt : ω→2 ∋ X ) → ω2→f X lt (ω→nat i iω) ≡ i1 → X ∋ i ω→2f≡i1 X i iω lt eq with ODC.∋-p O X (nat→ω (ω→nat i iω)) ω→2f≡i1 X i iω lt eq | yes p = subst (λ k → X ∋ k ) (nat→ω-iso iω) p @@ -133,10 +150,10 @@ eq→ (ω2→f-iso X lt) {x} ⟪ ωx , ⟪ ωx1 , iso ⟫ ⟫ = le00 where le00 : odef X x le00 = subst (λ k → odef X k) &iso ( ω→2f≡i1 _ _ ωx1 lt (iso ωx1) ) -eq← (ω2→f-iso X lt) {x} Xx = ⟪ subst (λ k → odef infinite k) &iso le02 , ⟪ le02 , le01 ⟫ ⟫ where - le02 : infinite ∋ * x - le02 = power→ infinite _ lt (subst (λ k → odef X k) (sym &iso) Xx) - le01 : (wx : odef infinite (& (* x))) → ω2→f X lt (ω→nat (* x) wx) ≡ i1 +eq← (ω2→f-iso X lt) {x} Xx = ⟪ subst (λ k → odef Omega k) &iso le02 , ⟪ le02 , le01 ⟫ ⟫ where + le02 : Omega ∋ * x + le02 = power→ Omega _ lt (subst (λ k → odef X k) (sym &iso) Xx) + le01 : (wx : odef Omega (& (* x))) → ω2→f X lt (ω→nat (* x) wx) ≡ i1 le01 wx with ODC.∋-p O X (nat→ω (ω→nat _ wx) ) ... | yes p = refl ... | no ¬p = ⊥-elim ( ¬p (subst (λ k → odef X k ) le03 Xx )) where @@ -148,11 +165,11 @@ le01 : (x : Nat) → ω2→f (fω→2 f) (ω2∋f f) x ≡ f x le01 x with ODC.∋-p O (fω→2 f) (nat→ω x) le01 x | yes p = subst (λ k → i1 ≡ f k ) (ω→nat-iso0 x (proj1 (proj2 p)) (trans *iso *iso)) (sym ((proj2 (proj2 p)) le02)) where - le02 : infinite-d (& (* (& (nat→ω x)))) + le02 : Omega-d (& (* (& (nat→ω x)))) le02 = proj1 (proj2 p ) le01 x | no ¬p = sym ( ¬i1→i0 le04 ) where le04 : ¬ f x ≡ i1 - le04 fx=1 = ¬p ⟪ ω∋nat→ω {x} , ⟪ subst (λ k → infinite-d k) (sym &iso) (ω∋nat→ω {x}) , le05 ⟫ ⟫ where - le05 : (lt : infinite-d (& (* (& (nat→ω x))))) → f (ω→nato lt) ≡ i1 + le04 fx=1 = ¬p ⟪ ω∋nat→ω {x} , ⟪ subst (λ k → Omega-d k) (sym &iso) (ω∋nat→ω {x}) , le05 ⟫ ⟫ where + le05 : (lt : Omega-d (& (* (& (nat→ω x))))) → f (ω→nato lt) ≡ i1 le05 lt = trans (cong f (ω→nat-iso0 x lt (trans *iso *iso))) fx=1 diff -r 054c2b0925c4 -r 47d3cc596d68 src/Topology.agda --- a/src/Topology.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/Topology.agda Sun Jun 04 16:58:39 2023 +0900 @@ -25,7 +25,7 @@ import ODUtil open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O open ODUtil O diff -r 054c2b0925c4 -r 47d3cc596d68 src/Tychonoff.agda --- a/src/Tychonoff.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/Tychonoff.agda Sun Jun 04 16:58:39 2023 +0900 @@ -24,7 +24,7 @@ import ODUtil open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O open ODUtil O diff -r 054c2b0925c4 -r 47d3cc596d68 src/VL.agda --- a/src/VL.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/VL.agda Sun Jun 04 16:58:39 2023 +0900 @@ -18,7 +18,7 @@ import ODUtil open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O open ODUtil O diff -r 054c2b0925c4 -r 47d3cc596d68 src/ZProduct.agda --- a/src/ZProduct.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/ZProduct.agda Sun Jun 04 16:58:39 2023 +0900 @@ -24,7 +24,7 @@ open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O open ODUtil O @@ -352,6 +352,12 @@ lemma4 : ZFProduct A B (& < * z , * (Func.func F (subst (λ k → odef A k) (sym &iso) az)) > ) lemma4 = ab-pair az (Func.is-func F (subst (λ k → odef A k) (sym &iso) az)) +TwoHOD : HOD +TwoHOD = ( od∅ , ( od∅ , od∅ )) + +Aleph1 : HOD +Aleph1 = Funcs Omega TwoHOD + record Injection (A B : Ordinal ) : Set n where field i→ : (x : Ordinal ) → odef (* A) x → Ordinal diff -r 054c2b0925c4 -r 47d3cc596d68 src/cardinal.agda --- a/src/cardinal.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/cardinal.agda Sun Jun 04 16:58:39 2023 +0900 @@ -27,7 +27,7 @@ import ODUtil open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O open ODUtil O diff -r 054c2b0925c4 -r 47d3cc596d68 src/filter-util.agda --- a/src/filter-util.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/filter-util.agda Sun Jun 04 16:58:39 2023 +0900 @@ -24,7 +24,7 @@ import ODUtil open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O open ODUtil O diff -r 054c2b0925c4 -r 47d3cc596d68 src/filter.agda --- a/src/filter.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/filter.agda Sun Jun 04 16:58:39 2023 +0900 @@ -24,7 +24,7 @@ import ODUtil open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O open ODUtil O diff -r 054c2b0925c4 -r 47d3cc596d68 src/generic-filter.agda --- a/src/generic-filter.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/generic-filter.agda Sun Jun 04 16:58:39 2023 +0900 @@ -25,7 +25,7 @@ import ODUtil open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O open ODUtil O diff -r 054c2b0925c4 -r 47d3cc596d68 src/maximum-filter.agda --- a/src/maximum-filter.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/maximum-filter.agda Sun Jun 04 16:58:39 2023 +0900 @@ -24,7 +24,7 @@ import ODUtil open Ordinals.Ordinals O open Ordinals.IsOrdinals isOrdinal -open Ordinals.IsNext isNext +-- open Ordinals.IsNext isNext open OrdUtil O open ODUtil O diff -r 054c2b0925c4 -r 47d3cc596d68 src/ordinal.agda --- a/src/ordinal.agda Sat Jun 03 17:31:28 2023 +0900 +++ b/src/ordinal.agda Sun Jun 04 16:58:39 2023 +0900 @@ -236,7 +236,6 @@ ; o∅ = o∅ ; osuc = osuc ; _o<_ = _o<_ - ; next = next ; isOrdinal = record { ordtrans = ordtrans ; trio< = trio< @@ -246,12 +245,12 @@ ; TransFinite = TransFinite2 ; o<-irr = OrdIrr ; Oprev-p = Oprev-p - } ; - isNext = record { - x