File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -95,6 +95,27 @@ instance : CompactSpace (T.CompleteType α) := by
9595 obtain ⟨_, rfl⟩ := h.2
9696 exact h.1
9797
98- instance : BaireSpace (T.CompleteType α) := BaireSpace.of_t2Space_locallyCompactSpace
98+ /--
99+ Stone Duality:
100+ Every clopen set in the Stone space of types corresponds to the set of types
101+ consistent with some sentence φ.
102+ -/
103+ theorem exists_sentence_of_isClopen (U : Set (CompleteType T α)) :
104+ IsClopen U → ∃ (φ : L[[α]].Sentence), U = typesWith (T := T) φ := by
105+ intro hU
106+ obtain ⟨ι,S,hUS,hS⟩ := IsTopologicalBasis.open_eq_iUnion typesWith_basis hU.2
107+ obtain ⟨F,hF⟩ := IsCompact.elim_finite_subcover hU.1 .isCompact S
108+ (fun i => IsTopologicalBasis.isOpen typesWith_basis (hS i))
109+ (hUS.subset)
110+ replace hF : U = ⋃ i ∈ F, S i := Subset.antisymm hF (by
111+ rw [hUS]
112+ exact iUnion₂_subset_iUnion (Membership.mem F) S
113+ )
114+ choose φs hφs using hS
115+ exists Formula.iSup (fun (x : F) => φs x.1 )
116+ simp [typesWith_iSup, hF, hφs]
117+ exact Eq.symm (iUnion_subtype (Membership.mem F) fun x ↦ S ↑x)
118+
119+ instance {n : ℕ} : BaireSpace (T.CompleteType (Fin n)) := BaireSpace.of_t2Space_locallyCompactSpace
99120
100121end CompleteType
Original file line number Diff line number Diff line change @@ -193,6 +193,17 @@ lemma typesWith_inf (φ ψ : L[[α]].Sentence)
193193 simp only [p.isMaximal.mem_iff_models, ModelsBoundedFormula, ←forall_and]
194194 exact forall ₃_congr fun _ _ _ ↦ BoundedFormula.realize_inf
195195
196+ lemma typesWith_iSup {β : Type *} [Finite β] (f : β → L[[α]].Sentence) :
197+ typesWith (T := T) (Formula.iSup f) = ⋃ (i : β), typesWith (f i) := by
198+ ext p
199+ simp only [typesWith, Set.mem_setOf_eq, Set.mem_iUnion]
200+ obtain ⟨M⟩ := p.isMaximal'.1
201+ have : ∀ φ, φ ∈ ↑p ↔ φ.Realize M.Carrier := by
202+ intro φ
203+ simp [←SetLike.mem_coe, p.isMaximal.mem_iff_models]
204+ exact (p.isMaximal.isComplete.realize_sentence_iff φ M).symm
205+ simp only [this, Sentence.Realize, Formula.realize_iSup]
206+
196207lemma typesWith_mem {φ} (hφ : φ ∈ (L.lhomWithConstants α).onTheory T)
197208 : typesWith (T := T) φ = Set.univ
198209 := univ_subset_iff.mp fun p _ ↦ p.subset hφ
You can’t perform that action at this time.
0 commit comments