# HG changeset patch # User Shinji KONO # Date 1593935781 -32400 # Node ID 12071f79f3cf40f788031e4f5ba83f6dcdbc91a0 # Parent 0faa7120e4b53628ceac48f66bfdddc959184ada HOD done diff -r 0faa7120e4b5 -r 12071f79f3cf BAlgbra.agda --- a/BAlgbra.agda Sun Jul 05 15:49:00 2020 +0900 +++ b/BAlgbra.agda Sun Jul 05 16:56:21 2020 +0900 @@ -19,60 +19,66 @@ open OD O open OD.OD open ODAxiom odAxiom +open HOD open _∧_ open _∨_ open Bool _∩_ : ( A B : HOD ) → HOD -A ∩ B = record { def = λ x → def A x ∧ def B x } +A ∩ B = record { od = record { def = λ x → odef A x ∧ odef B x } ; + odmax = omin (odmax A) (odmax B) ; ) -record Func←cd { dom cod : OD } {f : Ordinal } : Set n where +record Func←cd { dom cod : HOD } {f : Ordinal } : Set n where field func-1 : Ordinal → Ordinal func→od∈Func-1 : Func dom cod ∋ func→od func-1 dom -od→func : { dom cod : OD } → {f : Ordinal } → def (Func dom cod ) f → Func←cd {dom} {cod} {f} -od→func {dom} {cod} {f} lt = record { func-1 = λ x → sup-o ( λ y → lemma x {!!} ) ; func→od∈Func-1 = record { proj1 = {!!} ; proj2 = {!!} } } where +od→func : { dom cod : HOD } → {f : Ordinal } → odef (Func dom cod ) f → Func←cd {dom} {cod} {f} +od→func {dom} {cod} {f} lt = record { func-1 = λ x → sup-o {!!} ( λ y lt → lemma x {!!} ) ; func→od∈Func-1 = record { proj1 = {!!} ; proj2 = {!!} } } where lemma : Ordinal → Ordinal → Ordinal - lemma x y with IsZF.power→ isZF (dom ⊗ cod) (ord→od f) (subst (λ k → def (Power (dom ⊗ cod)) k ) (sym diso) lt ) | ∋-p (ord→od f) (ord→od y) + lemma x y with IsZF.power→ isZF (dom ⊗ cod) (ord→od f) (subst (λ k → odef (Power (dom ⊗ cod)) k ) (sym diso) lt ) | ∋-p (ord→od f) (ord→od y) lemma x y | p | no n = o∅ lemma x y | p | yes f∋y = lemma2 (proj1 (ODC.double-neg-eilm O ( p {ord→od y} f∋y ))) where -- p : {y : OD} → f ∋ y → ¬ ¬ (dom ⊗ cod ∋ y) lemma2 : {p : Ordinal} → ord-pair p → Ordinal lemma2 (pair x1 y1) with ODC.decp O ( x1 ≡ x) lemma2 (pair x1 y1) | yes p = y1 lemma2 (pair x1 y1) | no ¬p = o∅ - fod : OD - fod = Replace dom ( λ x → < x , ord→od (sup-o ( λ y → lemma (od→ord x) {!!} )) > ) + fod : HOD + fod = Replace dom ( λ x → < x , ord→od (sup-o {!!} ( λ y lt → lemma (od→ord x) {!!} )) > ) open Func←cd @@ -91,18 +90,18 @@ -- X ---------------------------> Y -- ymap <- def Y y -- -record Onto (X Y : OD ) : Set n where +record Onto (X Y : HOD ) : Set n where field xmap : Ordinal ymap : Ordinal - xfunc : def (Func X Y) xmap - yfunc : def (Func Y X) ymap - onto-iso : {y : Ordinal } → (lty : def Y y ) → + xfunc : odef (Func X Y) xmap + yfunc : odef (Func Y X) ymap + onto-iso : {y : Ordinal } → (lty : odef Y y ) → func-1 ( od→func {X} {Y} {xmap} xfunc ) ( func-1 (od→func yfunc) y ) ≡ y open Onto -onto-restrict : {X Y Z : OD} → Onto X Y → Z ⊆ Y → Onto X Z +onto-restrict : {X Y Z : HOD} → Onto X Y → Z ⊆ Y → Onto X Z onto-restrict {X} {Y} {Z} onto Z⊆Y = record { xmap = xmap1 ; ymap = zmap @@ -114,23 +113,23 @@ xmap1 = od→ord (Select (ord→od (xmap onto)) {!!} ) zmap : Ordinal zmap = {!!} - xfunc1 : def (Func X Z) xmap1 + xfunc1 : odef (Func X Z) xmap1 xfunc1 = {!!} - zfunc : def (Func Z X) zmap + zfunc : odef (Func Z X) zmap zfunc = {!!} - onto-iso1 : {z : Ordinal } → (ltz : def Z z ) → func-1 (od→func xfunc1 ) (func-1 (od→func zfunc ) z ) ≡ z + onto-iso1 : {z : Ordinal } → (ltz : odef Z z ) → func-1 (od→func xfunc1 ) (func-1 (od→func zfunc ) z ) ≡ z onto-iso1 = {!!} -record Cardinal (X : OD ) : Set n where +record Cardinal (X : HOD ) : Set n where field cardinal : Ordinal conto : Onto X (Ord cardinal) cmax : ( y : Ordinal ) → cardinal o< y → ¬ Onto X (Ord y) -cardinal : (X : OD ) → Cardinal X +cardinal : (X : HOD ) → Cardinal X cardinal X = record { - cardinal = sup-o ( λ x → proj1 ( cardinal-p {!!}) ) + cardinal = sup-o {!!} ( λ x lt → proj1 ( cardinal-p {!!}) ) ; conto = onto ; cmax = cmax } where @@ -138,24 +137,24 @@ cardinal-p x with ODC.p∨¬p O ( Onto X (Ord x) ) cardinal-p x | case1 True = record { proj1 = x ; proj2 = yes True } cardinal-p x | case2 False = record { proj1 = o∅ ; proj2 = no False } - S = sup-o (λ x → proj1 (cardinal-p {!!})) - lemma1 : (x : Ordinal) → ((y : Ordinal) → y o< x → Lift (suc n) (y o< (osuc S) → Onto X (Ord y))) → - Lift (suc n) (x o< (osuc S) → Onto X (Ord x) ) + S = sup-o {!!} (λ x lt → proj1 (cardinal-p {!!})) + lemma1 : (x : Ordinal) → ((y : Ordinal) → y o< x → (y o< (osuc S) → Onto X (Ord y))) → + (x o< (osuc S) → Onto X (Ord x) ) lemma1 x prev with trio< x (osuc S) lemma1 x prev | tri< a ¬b ¬c with osuc-≡< a - lemma1 x prev | tri< a ¬b ¬c | case1 x=S = lift ( λ lt → {!!} ) - lemma1 x prev | tri< a ¬b ¬c | case2 x ¬a ¬b c = lift ( λ lt → ⊥-elim ( o<> c lt )) + ... | t = {!!} + lemma1 x prev | tri≈ ¬a b ¬c = ( λ lt → ⊥-elim ( o<¬≡ b lt )) + lemma1 x prev | tri> ¬a ¬b c = ( λ lt → ⊥-elim ( o<> c lt )) onto : Onto X (Ord S) - onto with TransFinite {λ x → Lift (suc n) ( x o< osuc S → Onto X (Ord x) ) } lemma1 S - ... | lift t = t <-osuc + onto with TransFinite {λ x → ( x o< osuc S → Onto X (Ord x) ) } lemma1 S + ... | t = t <-osuc cmax : (y : Ordinal) → S o< y → ¬ Onto X (Ord y) - cmax y lt ontoy = o<> lt (o<-subst {_} {_} {y} {S} - (sup-o< {λ x → proj1 ( cardinal-p {!!})}{{!!}} ) lemma refl ) where + cmax y lt ontoy = o<> lt (o<-subst {_} {_} {y} {S} {!!} lemma refl ) where + -- (sup-o< ? {λ x lt → proj1 ( cardinal-p {!!})}{{!!}} ) lemma refl ) where lemma : proj1 (cardinal-p y) ≡ y lemma with ODC.p∨¬p O ( Onto X (Ord y) ) lemma | case1 x = refl diff -r 0faa7120e4b5 -r 12071f79f3cf filter.agda --- a/filter.agda Sun Jul 05 15:49:00 2020 +0900 +++ b/filter.agda Sun Jul 05 16:56:21 2020 +0900 @@ -54,7 +54,7 @@ trans-⊆ A⊆B B⊆C = record { incl = λ x → incl B⊆C (incl A⊆B x) } power→⊆ : ( A t : HOD) → Power A ∋ t → t ⊆ A -power→⊆ A t PA∋t = record { incl = λ {x} t∋x → HODC.double-neg-eilm O (t1 t∋x) } where +power→⊆ A t PA∋t = record { incl = λ {x} t∋x → ODC.double-neg-eilm O (t1 t∋x) } where t1 : {x : HOD } → t ∋ x → ¬ ¬ (A ∋ x) t1 = zf.IsZF.power→ isZF A t PA∋t @@ -70,6 +70,10 @@ q∩q⊆q : {p q : HOD } → (q ∩ p) ⊆ q q∩q⊆q = record { incl = λ lt → proj1 lt } +open HOD +_=h=_ : (x y : HOD) → Set n +x =h= y = od x == od y + ----- -- -- ultra filter is prime @@ -84,11 +88,11 @@ lemma3 {p} {q} lt with ultra-filter.ultra u (∪-lemma1 (∈-filter P lt) ) ... | case1 p∈P = case1 p∈P ... | case2 ¬p∈P = case2 (filter1 P {q ∩ (L \ p)} (∪-lemma2 (∈-filter P lt)) lemma7 lemma8) where - lemma5 : ((p ∪ q ) ∩ (L \ p)) == (q ∩ (L \ p)) + lemma5 : ((p ∪ q ) ∩ (L \ p)) =h= (q ∩ (L \ p)) lemma5 = record { eq→ = λ {x} lt → record { proj1 = lemma4 x lt ; proj2 = proj2 lt } ; eq← = λ {x} lt → record { proj1 = case2 (proj1 lt) ; proj2 = proj2 lt } } where - lemma4 : (x : Ordinal ) → def ((p ∪ q) ∩ (L \ p)) x → def q x + lemma4 : (x : Ordinal ) → odef ((p ∪ q) ∩ (L \ p)) x → odef q x lemma4 x lt with proj1 lt lemma4 x lt | case1 px = ⊥-elim ( proj2 (proj2 lt) px ) lemma4 x lt | case2 qx = qx @@ -110,11 +114,11 @@ ; ultra = λ {p} p⊆L → prime-filter.prime prime (lemma p p⊆L) } where open _==_ - p+1-p=1 : {p : HOD} → p ⊆ L → L == (p ∪ (L \ p)) - eq→ (p+1-p=1 {p} p⊆L) {x} lt with HODC.decp O (def p x) + p+1-p=1 : {p : HOD} → p ⊆ L → L =h= (p ∪ (L \ p)) + eq→ (p+1-p=1 {p} p⊆L) {x} lt with ODC.decp O (odef p x) eq→ (p+1-p=1 {p} p⊆L) {x} lt | yes p∋x = case1 p∋x eq→ (p+1-p=1 {p} p⊆L) {x} lt | no ¬p = case2 (record { proj1 = lt ; proj2 = ¬p }) - eq← (p+1-p=1 {p} p⊆L) {x} ( case1 p∋x ) = subst (λ k → def L k ) diso (incl p⊆L ( subst (λ k → def p k) (sym diso) p∋x )) + eq← (p+1-p=1 {p} p⊆L) {x} ( case1 p∋x ) = subst (λ k → odef L k ) diso (incl p⊆L ( subst (λ k → odef p k) (sym diso) p∋x )) eq← (p+1-p=1 {p} p⊆L) {x} ( case2 ¬p ) = proj1 ¬p lemma : (p : HOD) → p ⊆ L → filter P ∋ (p ∪ (L \ p)) lemma p p⊆L = subst (λ k → filter P ∋ k ) (==→o≡ (p+1-p=1 p⊆L)) f∋L