Lemma 3.23: substitution homomorphism as family substitution
ProvedMSKleene.subst_familySubstitution homomorphism as family substitution (Lemma 3.23).
Let , , , . Then . Consequently, for every , .
import Definitions.Def_MSKleene_Subst import Definitions.Def_MSKleene_SubstFam
import Definitions.Def_MSKleene_Subst
import Definitions.Def_MSKleene_SubstFam
namespace MSKleene
/-- **The substitution homomorphism as family substitution** (Lemma 3.23).
For `z ∈ X_u`, a language `L ⊆ T_Σ(X)_u`, and a term `P ∈ T_Σ(X)_s`,
`⟨z/L⟩^♯_s(P)` is the set of all `⟨z/qs⟩(P)` where `qs` ranges over families of
terms of `L` indexed by the occurrences of `z` in `P`. Consequently, its
completely additive extension on a language `K` is the union of these values
over the terms in `K`. -/
theorem subst_family {S : Type} (sig : Signature S) (X : SSet S) {u s : S}
(z : X u) (L : Set (Term sig X u)) (P : Term sig X s) :
((substHom z L).toFun s P
= { R | ∃ qs : Fin (Term.occ z P) → Term sig X u,
(∀ α, qs α ∈ L) ∧ R = substFam z P qs })
∧ (∀ K : Set (Term sig X s),
substP z L s K = ⋃ Q ∈ K, (substHom z L).toFun s Q) := by
sorry
end MSKleene
Read-back
What the Lean code literally says, in plain math · gpt-5
For every type of sorts, every -sorted signature (assigning a type of operation symbols to each finite input-sort list and output sort), every family of variable types, all sorts , every variable , every set , and every term , the following two assertions hold simultaneously. Let be the recursively induced set-valued evaluation of terms that sends to , sends every other variable to the singleton containing its variable term, and sends an operation application to the set of all obtained by independently choosing . First, writing for the number of occurrences of in —variables contribute exactly when they are , and operation applications sum the counts of their arguments—the theorem asserts
Second, for every set , the operator , defined by taking the union of this set-valued evaluation over the input set, satisfies
so equivalently a term belongs to this set exactly when it belongs to for some . No finiteness, decidable-equality, or nonemptiness assumptions are imposed on , , , , or beyond the displayed elements and terms existing. In particular, if has no occurrence of , the indexing type is empty and the universal membership condition is vacuous, giving the singleton on the right of the first equality even when ; if has at least one occurrence of and , that right-hand side is empty; and makes the second union empty.
Confirmed by the mission captain (proposal self-audit).