# HG changeset patch # User Shinji KONO # Date 1685613120 -32400 # Node ID 255b9708a308e236b1dde4023c08ef6d642e7c16 # Parent 8bf6db0b82df7593a33f5de4edb4e1f7481fbaca it is a bad idea to use & ( * x , * x ) = osuc x go back to original ho< restriction diff -r 8bf6db0b82df -r 255b9708a308 src/OD.agda --- a/src/OD.agda Mon May 29 15:50:25 2023 +0900 +++ b/src/OD.agda Thu Jun 01 18:52:00 2023 +0900 @@ -454,7 +454,11 @@ -- {_} : ZFSet → ZFSet -- { x } = ( x , x ) -- better to use (x , x) directly - +-- (x , y ) ∋ z x ≡ z ∨ y ≡ z +-- (x , x ) x ≡ z ∨ x ≡ z --- {x} a set which contains x only +-- od∅ {od∅} {od∅,{od∅}} ..... +-- Ordinal o∅ osuc o∅ osuc (osuc o∅) .... o< ω = next o∅ +-- (* x , * y ) ≡ omax x y data infinite-d : ( x : Ordinal ) → Set n where iφ : infinite-d o∅ @@ -472,14 +476,8 @@ infinite-od : OD infinite-od = record { def = λ x → infinite-d x } -ux=osucx : {x : Ordinal} → infinite-d x → Union (* x , (* x , * x )) ≡ (* x , * x) -- looks like wrong -ux=osucx {.(Ordinals.o∅ O)} iφ = ? -ux=osucx {.(& (Union (* x , (* x , * x))))} (isuc {x} ix) = ==→o≡ record { eq→ = ? ; eq← = ? } where - lemma10 : Union (* x , (* x , * x )) ≡ (* x , * x) - lemma10 = ux=osucx ix - -nat=Ord : {x : Ordinal} → infinite-d x → (Union (* x , (* x , * x ))) ≡ Ord (osuc x) -nat=Ord {.(Ordinals.o∅ O)} iφ = ==→o≡ record { eq→ = lemma10 ; eq← = lemma11 } where +nat⊆Ord : {x : Ordinal} → infinite-d x → (Union (* x , (* x , * x ))) ⊆ Ord (osuc x) +nat⊆Ord {.(Ordinals.o∅ O)} iφ = lemma10 where lemma10 : {x : Ordinal} → Own (* o∅ , (* o∅ , * o∅)) x → x o< osuc o∅ lemma10 {x} record { owner = owner ; ao = (case1 eq) ; ox = ox } = ⊥-elim (o<¬≡ (sym &iso) (∈∅< lemma4)) where lemma4 : odef (* o∅) x @@ -491,7 +489,7 @@ lemma11 {x} lt with osuc-≡< lt ... | case1 eq = record { owner = _ ; ao = case2 refl ; ox = subst (λ k → odef k x) (sym *iso) (case1 (trans eq (sym &iso))) } ... | case2 x<0 = ⊥-elim (¬x<0 x<0) -nat=Ord {.(& (Union (* x , (* x , * x))))} (isuc {x} it) = ==→o≡ record { eq→ = lemma12 ; eq← = lemma14 } where +nat⊆Ord {.(& (Union (* x , (* x , * x))))} (isuc {x} it) = lemma12 where lemma12 : {z : Ordinal} → Own (* (& (Union (* x , (* x , * x)))) , (* (& (Union (* x , (* x , * x)))) , * (& (Union (* x , (* x , * x)))))) z → z o< osuc (& (Union (* x , (* x , * x)))) @@ -503,41 +501,41 @@ lemma12 {z} record { owner = owner ; ao = (case2 eq) ; ox = ox } with (subst (λ k → odef k z) (trans (cong (*) eq) *iso ) ox) ... | case1 eq1 = o≤-refl0 (trans eq1 &iso ) ... | case2 eq1 = o≤-refl0 (trans eq1 &iso ) - lemma14 : {z : Ordinal} → - z o< osuc (& (Union (* x , (* x , * x)))) → - Own (* (& (Union (* x , (* x , * x)))) , (* (& (Union (* x , (* x , * x)))) , * (& (Union (* x , (* x , * x)))))) z - lemma14 {z} lt with osuc-≡< lt - ... | case1 eq = record { owner = _ ; ao = case2 refl ; ox = subst (λ k → odef k z) (sym *iso) ( case2 (trans eq (sym &iso) )) } - ... | case2 z