Quick logic question
Suppose you add to the language of first-order logic a sentence operator L for which you stipulate that all instances of
(L(p -> q) & Lp) -> Lq
are valid and that validity is closed under prefixing L's:
if p is valid, then so is Lp.
For example, L could be the modal operator 'necessarily', or it could mean the same as ''. If it means the same as '', then
is invalid, since it translates as
.
So the principle of Universal Instantiation
provided y is free for x in p
must be restricted (or we have to redefine 'free'). The following version, however, would be sound:
provided y is free for x in p.
Is there anything L could mean that would invalidate this version? Or do the principles for L guarantee that it holds?
One fun example is a substitution operator: read [z/x] as an operator (written to the right of its argument) which is equivalent to the usual function on formulas. It's easy to check that it's "normal" in the sense of your two properties. But it clearly doesn't validate the last principle in general; e.g.:
$latex \forall x \, (Fx)[z/x] \to (Fy)[z/x]$ is $latex \forall x \, Fz \to Fy$, which is equivalent to $latex Fz \to Fy$.
A bit more pedestrianly, if L is interpreted as a modal operator over variable domains then the principle fails, since y may not exist.