Every model of T expands uniquely to a model of T⁺
ProvedMoritaEquiv.expansion_exists_uniqueThroughout: many-sorted first-order logic with nonempty sorts; has the models of as objects and elementary embeddings as arrows; is a Morita extension of the -theory (new product, coproduct, subsort and quotient sorts and explicitly defined symbols, with admissibility in every model of ), the extended theory and the reduct functor. For every there is with , and any two with are isomorphic in .
import Mathlib import Definitions.Def_MoritaEquiv_defs open CategoryTheory
namespace MoritaEquiv
/-- Barrett–Halvorson, Theorem 4.1 (with Proposition 5.1): if `T⁺` is a Morita extension of `T`,
every model `M` of `T` has an expansion that is a model of `T⁺` (a model `N` of `T⁺` whose reduct
`Π N = N|Σ` is isomorphic to `M`), and this expansion is unique up to isomorphism. -/
theorem expansion_exists_unique {L : Sig} {T : Theory L} (D : MoritaData L T) (M : Model T) :
(∃ N : Model D.ext, Nonempty (D.proj.obj N ≅ M)) ∧
∀ N N' : Model D.ext, (D.proj.obj N ≅ M) → (D.proj.obj N' ≅ M) → Nonempty (N ≅ N') := by sorry
end MoritaEquivRead-back
What the Lean code literally says, in plain math · claude-opus-5-5
Let be a signature, a -theory, a Morita extension datum over with extended signature , extended theory and reduct functor (sorts nonempty; arrows are elementary embeddings). For every model of : (a) there is a model of with an isomorphism in ; (b) for all models of , if and then in .
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.