Applying substitutions on formulae in logic

61 Views Asked by At

Do the following substitutions. If undefined, explain why.

  • $ (p \land \top \equiv r)[\bot := r] $
  • $((\forall x)(\forall y)(\forall z)(g(x,y) = z))[z := f(x) = y ]$
  • $(p \rightarrow q \land \bot)[p := \top] $

My answers :

  • $(p \land \top \equiv r)$
  • $((\forall x)(\forall y)(\forall z)(g(x,y) = f(x) = y)$
  • $(\top \rightarrow q \land \bot)$

I want to make sure my answers is correct.

1

There are 1 best solutions below

9
On BEST ANSWER

The first proposed substitution is not permitted : $\bot$ is a constant (called falsum: it is always false); so you cannot replace it with a sentential letter (which may have as value true or false)

The substitution :

$((∀x)(∀y)(∀z)(g(x,y)=z))[z:=f(x)=y]$

is not allowed , first because $f(x)=y$ is a formula and you must use terms when substitute individual variables.

In any case, also if we use in place of the (pseudo-)term $f(x)=y$ the term $f(x)$ or the term $y$, they are not substitutable for $z$ in the above formula, because if we perform the subst, the variables $x$ in $f(x)$ or $y$ will be "captured" by the quantifiers in front of the formula.

The third one is fine.