# HG changeset patch # User Shinji KONO # Date 1678589935 -32400 # Node ID 5223f0b40d91be87b0daf1fde779599c3d6cbe7b # Parent 01fe64d3a17a4756d16e908ad09cd0aad5fd207b ... diff -r 01fe64d3a17a -r 5223f0b40d91 src/Tychonoff.agda --- a/src/Tychonoff.agda Thu Mar 09 12:31:32 2023 +0900 +++ b/src/Tychonoff.agda Sun Mar 12 11:58:55 2023 +0900 @@ -172,7 +172,7 @@ fp00 b _ b ¬a ¬b c = ⊥-elim ( nat-≤> n≤m c ) +record Dense {L P : HOD } (LP : L ⊆ Power P) : Set (suc n) where + field + dense : HOD + d⊆P : dense ⊆ L + dense-f : {p : HOD} → L ∋ p → HOD + dense-d : { p : HOD} → (lt : L ∋ p) → dense ∋ dense-f lt + dense-p : { p : HOD} → (lt : L ∋ p) → (dense-f lt) ⊆ p + +record GenericFilter {L P : HOD} (LP : L ⊆ Power P) (M : HOD) : Set (suc n) where + field + genf : Filter {L} {P} LP + generic : (D : Dense {L} {P} LP ) → M ∋ Dense.dense D → ¬ ( (Dense.dense D ∩ Replace (Filter.filter genf) (λ x → P \ x )) ≡ od∅ ) + rgen : HOD + rgen = Replace (Filter.filter genf) (λ x → P \ x ) + P-GenericFilter : (P L p0 : HOD ) → (LP : L ⊆ Power P) → L ∋ p0 → (C : CountableModel ) → GenericFilter {L} {P} LP ( ctl-M C ) P-GenericFilter P L p0 L⊆PP Lp0 C = record { - genf = record { filter = PDHOD L p0 C ; f⊆L = f⊆PL ; filter1 = λ L∋q PD∋p p⊆q → f1 L∋q PD∋p p⊆q ; filter2 = f2 } - ; generic = fdense + genf = record { filter = Replace (PDHOD L p0 C) (λ x → P \ x) ; f⊆L = ? ; filter1 = ? ; filter2 = ? } + ; generic = ? } where f⊆PL : PDHOD L p0 C ⊆ L f⊆PL lt = x∈PP lt f1 : {p q : HOD} → L ∋ q → PDHOD L p0 C ∋ p → p ⊆ q → PDHOD L p0 C ∋ q - f1 {p} {q} L∋q PD∋p p⊆q = record { gr = gr PD∋p ; pn ¬a ¬b c = record { gr = gr PD∋q ; pn ¬a ¬b c = ? + gf : HOD + gf = Replace (Replace (PDHOD L p0 C) (λ x → P \ x)) (_\_ P) + fdense : (D : Dense {L} {P} L⊆PP ) → (ctl-M C ) ∋ Dense.dense D → ¬ (Dense.dense D ∩ gf ) ≡ od∅ + fdense D MD eq0 = ? where open Dense - fd09 : (i : Nat ) → odef L (find-p L C i (& p0)) - fd09 Zero = Lp0 - fd09 (Suc i) with is-o∅ ( & ( PGHOD i L C (find-p L C i (& p0))) ) - ... | yes _ = fd09 i - ... | no not = fd17 where - fd19 = ODC.minimal O ( PGHOD i L C (find-p L C i (& p0))) (λ eq → not (=od∅→≡o∅ eq)) - fd18 : PGHOD i L C (find-p L C i (& p0)) ∋ fd19 - fd18 = ODC.x∋minimal O (PGHOD i L C (find-p L C i (& p0))) (λ eq → not (=od∅→≡o∅ eq)) - fd17 : odef L ( & (ODC.minimal O ( PGHOD i L C (find-p L C i (& p0))) (λ eq → not (=od∅→≡o∅ eq))) ) - fd17 = proj1 fd18 - an : Nat - an = ctl← C (& (dense D)) MD - pn : Ordinal - pn = find-p L C an (& p0) - pn+1 : Ordinal - pn+1 = find-p L C (Suc an) (& p0) - d=an : dense D ≡ * (ctl→ C an) - d=an = begin dense D ≡⟨ sym *iso ⟩ - * ( & (dense D)) ≡⟨ cong (*) (sym (ctl-iso→ C MD )) ⟩ - * (ctl→ C an) ∎ where open ≡-Reasoning - fd07 : odef (dense D) pn+1 - fd07 with is-o∅ ( & ( PGHOD an L C (find-p L C an (& p0))) ) - ... | yes y = ⊥-elim ( ¬x<0 ( _==_.eq→ fd10 ⟪ fd13 , ⟪ fd14 , fd15 ⟫ ⟫ ) ) where - fd12 : L ∋ * (find-p L C an (& p0)) - fd12 = subst (λ k → odef L k) (sym &iso) (fd09 an ) - fd11 : Ordinal - fd11 = & ( dense-f D fd12 ) - fd13 : L ∋ ( dense-f D fd12 ) - fd13 = (d⊆P D) ( dense-d D fd12 ) - fd14 : (* (ctl→ C an)) ∋ ( dense-f D fd12 ) - fd14 = subst (λ k → odef k (& ( dense-f D fd12 ) )) d=an ( dense-d D fd12 ) - fd15 : (y : Ordinal) → odef (* (& (dense-f D fd12))) y → odef (* (find-p L C an (& p0))) y - fd15 y lt = subst (λ k → odef (* (find-p L C an (& p0))) k ) &iso ( (dense-p D fd12 ) fd16 ) where - fd16 : odef (dense-f D fd12) (& ( * y)) - fd16 = subst₂ (λ j k → odef j k ) (*iso) (sym &iso) lt - fd10 : PGHOD an L C (find-p L C an (& p0)) =h= od∅ - fd10 = ≡o∅→=od∅ y - ... | no not = fd27 where - fd29 = ODC.minimal O ( PGHOD an L C (find-p L C an (& p0))) (λ eq → not (=od∅→≡o∅ eq)) - fd28 : PGHOD an L C (find-p L C an (& p0)) ∋ fd29 - fd28 = ODC.x∋minimal O (PGHOD an L C (find-p L C an (& p0))) (λ eq → not (=od∅→≡o∅ eq)) - fd27 : odef (dense D) (& fd29) - fd27 = subst (λ k → odef k (& fd29)) (sym d=an) (proj1 (proj2 fd28)) - fd03 : odef (PDHOD L p0 C) pn+1 - fd03 = record { gr = Suc an ; pn