Substitution (logic)
Substitution is a fundamental concept in logic. A substitution is a syntactic transformation on formal expressions. To apply a substitution to an expression means to consistently replace its variable, or placeholder, symbols by other expressions. The result expression is called a substitution instance of the original expression.
Contents

Propositional logic 1
 Definition 1.1
 Tautologies 1.2
 Firstorder logic 2
 See also 3
 Notes 4
 References 5
Propositional logic
Definition
Where Ψ and Φ represent formulas of propositional logic, Ψ is a substitution instance of Φ if and only if Ψ may be obtained from Φ by substituting formulas for symbols in Φ, always replacing an occurrence of the same symbol by an occurrence of the same formula. For example:

 (R → S) & (T → S)
is a substitution instance of:

 P & Q
and

 (A ↔ A) ↔ (A ↔ A)
is a substitution instance of:

 (A ↔ A)
In some deduction systems for propositional logic, a new expression (a proposition) may be entered on a line of a derivation if it is a substitution instance of a previous line of the derivation (Hunter 1971, p. 118). This is how new lines are introduced in some axiomatic systems. In systems that use rules of transformation, a rule may include the use of a substitution instance for the purpose of introducing certain variables into a derivation.
In firstorder logic, every closed propositional formula that can be derived from an open propositional formula a by substitution is said to be a substitution instance of a. If a is a closed propositional formula we count a itself as its only substitution instance.
Tautologies
A propositional formula is a tautology if it is true under every valuation (or interpretation) of its predicate symbols. If Φ is a tautology, and Θ is a substitution instance of Φ, then Θ is again a tautology. This fact implies the soundness of the deduction rule described in the previous section.
Firstorder logic
In firstorder logic, a substitution is a total mapping σ: V → T from variables to terms; the notation { x_{1} ↦ t_{1}, ..., x_{k} ↦ t_{k} } ^{[note 1]} refers to a substitution mapping each variable x_{i} to the corresponding term t_{i}, for i=1,...,k, and every other variable to itself; the x_{i} must be pairwise distinct. Applying that substitution to a term t is written in postfix notation as t { x_{1} ↦ t_{1}, ..., x_{k} ↦ t_{k} }; it means to (simultaneously) replace every occurrence of each x_{i} in t by t_{i}. ^{[note 2]} The result tσ of applying a substitution σ to a term t is called an instance of that term t.
For example, applying the substitution { x ↦ z, z ↦ h(a,y) } to the termf(  z  , a,g(  x  ),y)  yields 
f(  h(a,y)  , a,g(  z  ),y)  . 
The domain dom(σ) of a substitution σ is commonly defined as the set of variables actually replaced, i.e. dom(σ) = { x ∈ V  xσ ≠ x }. A substitution is called a ground substitution if it maps all variables of its domain to ground, i.e. variablefree, terms. The substitution instance tσ of a ground substitution is a ground term if all of t's variables are in σ's domain, i.e. if vars(t) ⊆ dom(σ). A substitution σ is called a linear substitution if tσ is a linear term for some (and hence every) term t containing just the variables of σ's domain, i.e. with vars(t) = dom(σ). A substitution σ is called a flat substitution if xσ is a variable for every variable x. A substitution σ is called a renaming substitution, if it is a permutation on the set of all variables. Like every permutation, a renaming substitution σ always has an inverse substitution σ^{−1}, such that tσσ^{−1} = t = tσ^{−1}σ for every term t. However, it is not possible to define an inverse for an arbitrary substitution.
For example, { x ↦ 2, y ↦ 3+4 } is a ground substitution, { x ↦ x_{1}, y ↦ y_{2}+4 } is nonground and nonflat, but linear, { x ↦ y_{2}, y ↦ y_{2}+4 } is nonlinear and nonflat, { x ↦ y_{2}, y ↦ y_{2} } is flat, but nonlinear, { x ↦ x_{1}, y ↦ y_{2} } is both linear and flat, but not a renaming, since is maps both y and y_{2} to y_{2}; each of these substitutions has the set {x,y} as its domain. An example for a renaming substitution is { x ↦ x_{1}, x_{1} ↦ y, y ↦ y_{2}, y_{2} ↦ x }, it has the inverse { x ↦ y_{2}, y_{2} ↦ y, y ↦ x_{1}, x_{1} ↦ x }. The flat substitution { x ↦ z, y ↦ z } cannot have an inverse, since e.g. (x+y) { x ↦ z, y ↦ z } = z+z, and the latter term cannot be transformed back to x+y, as the information about the origin a z stems from is lost. The ground substitution { x ↦ 2 } cannot have an inverse due to a similar loss of origin information e.g. in (x+2) { x ↦ 2 } = 2+2, even if replacing constants by variables was allowed by some fictitious kind of "generalized substitutions".
Two substitutions are considered equal if they map each variable to structurally equal result terms, formally: σ = τ if xσ = xτ for each variable x ∈ V. The composition of two substitutions σ = { x_{1} ↦ t_{1}, ..., x_{k} ↦ t_{k} } and τ = { y_{1} ↦ u_{1}, ..., y_{l} ↦ u_{l} } is obtained by removing from the substitution { x_{1} ↦ t_{1}τ, ..., x_{k} ↦ t_{k}τ, y_{1} ↦ u_{1}, ..., y_{l} ↦ u_{l} } those pairs y_{i} ↦ u_{i} for which y_{i} ∈ { x_{1}, ..., x_{k} }. The composition of σ and τ is denoted by στ. Composition is an associative operation, and is compatible with substitution application, i.e. (ρσ)τ = ρ(στ), and (tσ)τ = t(στ), respectively, for every substitutions ρ, σ, τ, and every term t. The identity substitution, which maps every variable to itself, is the neutral element of substitution composition. A substitution σ is called idempotent if σσ = σ, and hence tσσ = tσ for every term t. The substitution { x_{1} ↦ t_{1}, ..., x_{k} ↦ t_{k} } is idempotent if and only if none of the variables x_{i} occurs in any t_{i}. Substitution composition is not commutative, that is, στ may be different from τσ, even if σ and τ are idempotent.^{[1]}^{[2]}
For example, { x ↦ 2, y ↦ 3+4 } is equal to { y ↦ 3+4, x ↦ 2 }, but different from { x ↦ 2, y ↦ 7 }. The substitution { x ↦ y+y } is idempotent, e.g. ((x+y) {x↦y+y}) {x↦y+y} = ((y+y)+y) {x↦y+y} = (y+y)+y, while the substitution { x ↦ x+y } is nonidempotent, e.g. ((x+y) {x↦x+y}) {x↦x+y} = ((x+y)+y) {x↦x+y} = ((x+y)+y)+y. An example for noncommuting substitutions is { x ↦ y } { y ↦ z } = { x ↦ z, y ↦ z }, but { y ↦ z} { x ↦ y} = { x ↦ y, y ↦ z }.
See also
 Substitution property in Equality (mathematics)#Some basic logical properties of equality
 Firstorder logic#Rules of inference
 Rule of universal substitution
 Lambda calculus#Substitution
 Truthvalue semantics
 Unification (computer science)
 Metavariable
 Mutatis mutandis
 Rule of replacement
Notes
 ^ some authors use [ t_{1}/x_{1}, ..., t_{k}/x_{k} ] to denote that substitution, e.g. M. Wirsing (1990). Jan van Leeuwen, ed. Algebraic Specification. Handbook of Theoretical Computer Science B. Elsevier. pp. 675–788., here: p.682;
 ^ From a term algebra point of view, the set T of terms is the free term algebra over the set V of variables, hence for each substitution mapping σ: V → T there is a unique homomorphism σ: T → T that agrees with σ on V ⊆ T; the abovedefined application of σ to a term t is then viewed as applying the function σ to the argument t.
References
 Hunter, G. (1971). Metalogic: An Introduction to the Metatheory of Standard First Order Logic. University of California Press. ISBN 0520018222
 Kleene, S. C. (1967). Mathematical Logic. Reprinted 2002, Dover. ISBN 0486425339
 ^ David A. Duffy (1991). Principles of Automated Theorem Proving. Wiley.; here: p.7374
 ^ ; here: p.445446