Propositional calculi often do not have '=' nor equality as a primitive concept. So, we can't make any inference involving a property of equality, such as substituting an equal variable for an equality variable in propositional logic.
Predicate calculi similarly does not have equality often. So again, we can't make a substitution of an equal variable for an equal variable in predicate logic.
If we talk about a predicate calculus supplemented with equality, we might have the ability to substitute an equal variable with an equal variable. However, doing such might not come as a primitive (or first) rule of inference for equality. So, we might not have the ability to do that in a single line. We might need to first show that such comes as following from our axioms and/or rules of inference for that predicate calculus.
Common sense doesn't say that anything about equality must hold in propositional calculus or predicate calculus, because equality doesn't exist in either of those systems.
Such an inference as you present isn't legal syntactically on two points.
- x = a ∧ P(x) isn't well-formed, because the parsing order isn't derivable from the symbols given and formation rules. Even for predicate calculus with equality. In fact, I initially thought you meant:
(x = (a ∧ P(x))),
instead of
((x = a) ∧ P(x)) ...
until I read the comments.
Syntactically speaking, only well-formed formulas where the parsing order can get understood from the formula itself qualify as legal.
- '=' isn't in the grammar for either propositional logic, nor for predicate logic. Only symbols in the grammar are syntactically legal. So, any string with '=' in it is not syntactically legal in the context of a rigorous calculus.