Translation of Σ⁺-formulas with old-sorted free variables
ProvedMoritaEquiv.translationThroughout: 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. Every -formula whose context consists of old sorts is -equivalent to (the image of) some -formula in the same context.
import Mathlib import Definitions.Def_MoritaEquiv_defs open CategoryTheory
namespace MoritaEquiv
/-- Barrett–Halvorson, Theorem 4.3 / Corollary 4.1 (case of free variables of old sorts):
if `T⁺` is a Morita extension of `T`, every `Σ⁺`-formula `φ` whose free variables all have sorts
in `Σ` is `T⁺`-equivalent to (the image of) a `Σ`-formula `ψ` in the same variables. -/
theorem translation {L : Sig} {T : Theory L} (D : MoritaData L T) {n : ℕ} (Γ : Fin n → L.Srt)
(φ : Formula D.sig (D.incl.onSrt ∘ Γ)) :
∃ ψ : Formula L Γ, ∀ (N : Model D.ext) (v : (i : Fin n) → N.str.carrier (D.incl.onSrt (Γ i))),
φ.Realize N.str v ↔ (ψ.onFormula D.incl).Realize N.str v := 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 context of old sorts and every -formula in context , there is a -formula in context such that for every model of and every assignment of in : (with read in via the inclusion).
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.