Morita extensions preserve sentence-isolated models
ProvedMoritaEquiv.MoritaData.exists_isolated_model_iffLet (over ) be a Morita extension of the -theory . Say a theory has an isolated model if there are a model and a sentence with such that every model of the theory admits an elementary embedding .
Statement. has an isolated model if and only if has an isolated model.
() Take the expansion of to a model of and the same sentence read in . Elementary embeddings between reducts lift because the reduct functor is full. () Translate the -sentence into a -equivalent -sentence, and use that every model of expands to a model of . So the property is an invariant of Morita equivalence. Barrett–Halvorson's Theorem 5.2 uses it to separate Morita equivalence from categorical equivalence.
Formalization Note Sentences are formulas in an empty context Γ : Fin 0 → Srt. Arrows N ⟶ M are morphisms of the category of models, i.e. elementary embeddings.
import Mathlib import Definitions.Def_MoritaEquiv_defs open CategoryTheory
namespace MoritaEquiv
/-- Morita extensions preserve the existence of a sentence-isolated model: `T` has a model `M` and a
sentence `φ` true in `M` such that every model of `T` satisfying `φ` elementarily embeds into `M`
if and only if the Morita extension `T⁺` has such a model and sentence. -/
theorem MoritaData.exists_isolated_model_iff {L : Sig} {T : Theory L} (D : MoritaData L T) :
(∃ (M : Model T) (Γ : Fin 0 → L.Srt) (φ : Formula L Γ), (∀ v, φ.Realize M.str v) ∧
∀ N : Model T, (∀ v, φ.Realize N.str v) → Nonempty (N ⟶ M)) ↔
(∃ (M : Model D.ext) (Γ : Fin 0 → D.sig.Srt) (φ : Formula D.sig Γ), (∀ v, φ.Realize M.str v) ∧
∀ N : Model D.ext, (∀ v, φ.Realize N.str v) → Nonempty (N ⟶ M)) := by sorry
end MoritaEquiv