Predicate substitution is a logical substitution that applies in predicate logic, and is more complicated than its propositional counterpart. It involves replacing variables with terms. Renaming is a form of predicate substitution operating on bound variables.
#tosee is there any use for predicate substitution / renaming that is non-proper??
Definition
Predicate Substitution ^definition
A predicate substitution, , is a logical substitution in predicate logic that maps free variables to terms (which can also be variables)
- represents the set of all free variables (not bound by a quantifier)
- represents the set of all terms, that is, any constant , variable or function of terms
Conventionally, we tend to use the notation for predicate substitution
Substitution and Quantifiers
Unlike propositional logic, predicate substitution does not preserve logical equivalence! See the section on scoping for more information
Renaming
Renaming ^definition-renaming
Renaming is a logical substitution that explicitly maps bound variables to variables:
If is a formula, then is its renamed instance
Proper Renaming
Proper Renaming ^definition-renaming-proper
A proper renaming of a formula is a renaming of (bound variable) that has any renamed variable outside the quantifier scope of . Equivalently:
- is not free for in
Substitutions & Quantifiers
Unlike in propositional logic, we have quantifiers that range a variable over a domain. Substitution then has some extra restrictions to ensure it preserves logical equivalence (the meaning of the formula):
- A proper renaming preserves semantic properties (and hence logical equivalence)
- An invalid renaming#todo
- A predicate substitution on free variables does not preserve semantic consequences, but it does preserve satisfiability!
#tosee does invalid renaming stay equisatisfiable?
For example, take the formula . We can identify that (in the quantifier scope), is a bound variable and is a free variable:
- is a substitution of a bound variable to an out-of-scope variable, . Hence, it is a proper renaming and semantic properties are preserved i.e. the meaning of the formula is unchanged.
- is a substitution of a bound variable to an in-scope variable. It is a renaming, but not a proper one. This formula has a very different meaning to the original . Hence, semantic properties are not preserved.
- is a substitution of a free variable. Semantic consequences are not preserved.
Theorems
T1: Proper renaming preserves semantic properties ^t1
That is, a formula is logically equivalent to it’s renamed instance iff is a proper renaming
T2: Predicate substitution does not preserve semantic properties, but does preserve satisfiability, ^t2
That is, a formula with a predicate substitution is equisatisfiable (but not logically equivalent) to its renamed instance:
Examples
For example:
Recall the convention around terms ( is a function, is a variable, is a constant). Then, let . Under we have: