# HG changeset patch # User Shinji KONO # Date 1673650064 -32400 # Node ID 7515d1b0570b1ab82660aaa9ad4d74a33fa9a443 # Parent 4517d0721b59f000ff4c6c4727d857de96150562 ... diff -r 4517d0721b59 -r 7515d1b0570b src/filter.agda --- a/src/filter.agda Fri Jan 13 13:16:49 2023 +0900 +++ b/src/filter.agda Sat Jan 14 07:47:44 2023 +0900 @@ -77,6 +77,20 @@ q∩q⊆q : {p q : HOD } → (q ∩ p) ⊆ q q∩q⊆q lt = proj1 lt +∩→≡1 : {p q : HOD } → p ⊆ q → (q ∩ p) ≡ p +∩→≡1 {p} {q} p⊆q = ==→o≡ record { eq→ = c00 ; eq← = c01 } where + c00 : {x : Ordinal} → odef (q ∩ p) x → odef p x + c00 {x} qpx = proj2 qpx + c01 : {x : Ordinal} → odef p x → odef (q ∩ p) x + c01 {x} px = ⟪ p⊆q px , px ⟫ + +∩→≡2 : {p q : HOD } → q ⊆ p → (q ∩ p) ≡ q +∩→≡2 {p} {q} q⊆p = ==→o≡ record { eq→ = c00 ; eq← = c01 } where + c00 : {x : Ordinal} → odef (q ∩ p) x → odef q x + c00 {x} qpx = proj1 qpx + c01 : {x : Ordinal} → odef q x → odef (q ∩ p) x + c01 {x} qx = ⟪ qx , q⊆p qx ⟫ + open HOD ----- @@ -174,7 +188,7 @@ mf : Filter {L} {P} LP F⊆mf : filter F ⊆ filter mf proper : ¬ (filter mf ∋ od∅) - is-maximum : ( f : Filter {L} {P} LP ) → ¬ (filter f ∋ od∅) → ¬ ( filter mf ⊂ filter f ) + is-maximum : ( f : Filter {L} {P} LP ) → ¬ (filter f ∋ od∅) → filter F ⊆ filter f → ¬ ( filter mf ⊂ filter f ) record Fp {L P : HOD} (LP : L ⊆ Power P) (F : Filter {L} {P} LP) (mx : MaximumFilter {L} {P} LP F ) (p x : Ordinal ) : Set n where field @@ -238,11 +252,12 @@ mu31 {x} zx with ODC.decp O (odef p x) ... | yes px = px ... | no npx = ⊥-elim ( ¬x<0 (subst (λ k → odef k x) *iso (z-p⊂x ⟪ zx , (λ px → npx (subst (λ k → odef k x) *iso px) ) ⟫ ) ) ) - mu40 = (MaximumFilter.is-maximum mx) + mu41 : filter F0 ⊆ F + mu41 {x} fx = ⟪ f⊆L F0 fx , record { y = ? ; mfy = ? ; y-p⊂x = ? } ⟫ F=mf : F ≡ filter mf F=mf with osuc-≡< ( ⊆→o≤ FisGreater ) ... | case1 eq = &≡&→≡ (sym eq) - ... | case2 lt = ⊥-elim ( MaximumFilter.is-maximum mx FisFilter FisProper ⟪ lt , FisGreater ⟫ ) + ... | case2 lt = ⊥-elim ( MaximumFilter.is-maximum mx FisFilter FisProper ? ⟪ lt , FisGreater ⟫ ) open _==_ @@ -251,8 +266,8 @@ → ({p q : HOD} → L ∋ p → L ∋ q → L ∋ (p ∩ q)) → (U : Filter {L} {P} LP) → ultra-filter U → MaximumFilter LP U ultra→max {L} {P} LP NG CAP U u = record { mf = U ; F⊆mf = λ x → x ; proper = ultra-filter.proper u ; is-maximum = is-maximum } where - is-maximum : (F : Filter {L} {P} LP) → (¬ (filter F ∋ od∅)) → (U⊂F : filter U ⊂ filter F ) → ⊥ - is-maximum F Prop ⟪ U ¬a ¬b 0 ¬a ¬b 0 ¬a ¬b bq⊂bp = ? + ... | tri< bp⊂bq ¬b ¬c = subst₂ (λ j k → odef j k ) (sym *iso) refl record { owner = bq ; ao = Bbq ; ox = mf36 } where + mf36 : odef (* bq) (& ((* p) ∩ (* q))) + mf36 = IsFilter.filter2 mf30 (proj2 bp⊂bq bbp) bbq Lpq where + mf30 : IsFilter {L} {P} LP bq + mf30 = proj1 ( B⊆FX Bbq ) + ... | tri≈ ¬a bq=bp ¬c = subst₂ (λ j k → odef j k ) (sym *iso) refl record { owner = bp ; ao = Bbp ; ox = mf36 } where + mf36 : odef (* bp) (& ((* p) ∩ (* q))) + mf36 = IsFilter.filter2 mf30 bbp (subst (λ k → odef k q) (sym bq=bp) bbq) Lpq where + mf30 : IsFilter {L} {P} LP bp + mf30 = proj1 ( B⊆FX Bbp ) + ... | tri> ¬a ¬b bq⊂bp = subst₂ (λ j k → odef j k ) (sym *iso) refl record { owner = bp ; ao = Bbp ; ox = mf36 } where + mf36 : odef (* bp) (& ((* p) ∩ (* q))) + mf36 = IsFilter.filter2 mf30 bbp (proj2 bq⊂bp bbq) Lpq where + mf30 : IsFilter {L} {P} LP bp + mf30 = proj1 ( B⊆FX Bbp ) mf32 : ¬ odef (Union B) o∅ mf32 record { owner = owner ; ao = bo ; ox = o0 } with proj1 ( B⊆FX bo ) ... | record { f⊆L = f⊆L ; filter1 = filter1 ; filter2 = filter2 ; proper = proper } = ⊥-elim ( proper o0 ) @@ -372,6 +407,13 @@ mf22 Fx = subst (λ k → odef k x) *iso ( proj2 (B⊆FX mf18) Fx ) mf13 : odef FX (& (Union B)) mf13 = ⟪ mf14 , subst (λ k → filter F ⊆ k ) (sym *iso) mf15 ⟫ + mf42 : {z : Ordinal} → odef B z → * z ⊆ Union B + mf42 {z} Bz {x} zx = record { owner = _ ; ao = Bz ; ox = zx } + mf40 : {z : Ordinal} → odef B z → (z ≡ & (Union B)) ∨ ( * z ⊂ * (& (Union B)) ) + mf40 {z} Bz with B⊆FX Bz + ... | ⟪ filterz , F⊆z ⟫ with osuc-≡< ( ⊆→o≤ {* z} {Union B} (mf42 Bz) ) + ... | case1 eq = case1 (trans (sym &iso) eq ) + ... | case2 lt = case2 ⟪ subst₂ (λ j k → j o< & k ) refl (sym *iso) lt , subst (λ k → * z ⊆ k) (sym *iso) (mf42 Bz) ⟫ mx : Maximal FX mx = Zorn-lemma (∈∅< FX∋F) SUP⊆ imf : IsFilter {L} {P} LP (& (Maximal.maximal mx)) @@ -389,7 +431,10 @@ mf = record { filter = * (& (Maximal.maximal mx)) ; f⊆L = mf00 ; filter1 = mf01 ; filter2 = mf02 } - + mf50 : (f : Filter LP) → ¬ (filter f ∋ od∅) → filter F ⊆ filter f → ¬ (* (& (zorn.Maximal.maximal mx)) ⊂ filter f) + mf50 f proper F⊆f = subst (λ k → ¬ ( k ⊂ filter f )) (sym *iso) (Maximal.¬maximal