CS251 at CCUT Week 4: The Predicate Calculus

David Lu

Matrix

What Propositional Logic Can’t Do

There are many arguments whose formal validity cannot be shown using just the propositional logic. Consider the following argument:

  1. All humans are mortal.
  2. Socrates is a human.
  3. Therefore, Socrates is mortal.

Propositional logic takes each of these statements as atomic propositions and thus logically unrelated. We might translate this to the propositional logic like so:

  1. H
  2. S
  3. M

But as we can see from the following truth assignment, the arugment is invalid:

H S M
T T F

This row of the truth table shows that it is possible for the premises to be true while the conclusion false, as construed in the propositional logic.

However, intuitively this argument is formally valid. Propositional logic does not represent the internal structure of an atomic sentence. And it is by virtue of logical features of the structure of these atomic sentences that this argument is formally valid. So we need a more detailed formal language to represent this kind of argument.

The Language of Predicate Calculus: Vocabulary and Syntax

Vocabulary

The language of predicate calculus retains all of the logical vocabulary of propositional logic but replaces atomic sentences with predicate and individual constants and variables, and quantifiers.

Individual Constants

Individual constants name individuals: persons, places, things

Predicates

Predicates ascribe properties and relations to individuals. One place predicates, called monadic predicates, assign properties to single individuals. For instance, being human. Two place predicates, called dyadic predicates, assign relations to pairs of individuals. For instance, being taller than. NN-place polyadic predicates assign relations between NN-individuals. The argument place matters for polyadic predicates. Examples:

PC English
HsHs Socrates is human.
MsMs Socrates is mortal.
TspTsp Socrates is taller than Plato.
TpsTps Plato is taller than Socrates.
BcpBcp Changchun is bigger than Portland.
BabcBabc aa is between bb and cc.

Singular Sentences

These statements, which assign properties to named individuals are called singular sentences, similar to propositional logic’s atomic sentences. Every singular sentence is well-formed.

Compound Sentences

Just like in propositional logic, we can translate compound sentences by using the logical connectives. These have the same syntax and semantics we studied previously. Compound sentences are well-formed.

PC English
GsPsGs \land Ps Socrates was a Greek philosopher.
HsMsHs \rightarrow Ms If Socrates is human then Socrates is mortal.

Variables and Quantifiers

Recall the argument we began with. It contains the premise All humans are mortal. How should we translate this into a sentence of propositional calculus? Here is where we need to use variables, since the sentence states that all individuals which are humans are mortals. Notice here that the quantifier all is employed. We should translate this sentence as:

x(HxMx)\forall x (Hx \rightarrow Mx)

That is, for all x if x is a human, then x is mortal.

Similarly, the existential quantifier is used in the following example:

xHx\exists x Hx

That is, there exists an x such that x is a human.

¬xUx\neg \exists x Ux

Unicorns do not exist.

A quantifier must always be paired with a variable. We say that a quantifier binds a variable when it is paired in this way.

Sentences may also have multiple quantifiers binding different variables.

xy((BxWy)Exy)\forall x \exists y ((Bx \land Wy) \rightarrow Exy)

Every bird eats some worm.

Quantifiers have scope.

xHxxBx\exists x Hx \land \exists x Bx

Some human exists and some bird exists.

Notice each existential quantifier here binds an xx. However, the scope of the first existential quantifier ends before the \land. So there is no ambiguity about which xx is being bound by which quantifier.

The following is an example of quantifier scope ambiguity.

x(Pxx(QxRx))\forall x(Px \rightarrow \exists x (Qx \land Rx))

It is ambiguous which quantifier binds the xxes in the QxQx and RxRx. In such cases choose another variable letter to disambiguate.

Free variables

Notice that the sentence HxHx is not a complete sentence. What could this say? When would it be true and when would it be false?

If a variable is not bound by a quantifier in a sentence, then we call it a free variable. The sentence is then not a complete sentence, i.e. it does not have a truth value since it does not have any truth conditions.

Predicate Calculus Translation Practice

  1. Mary loves everyone
  2. Mary loves everyone
  3. No one talks
  4. Everyone loves themself
  5. Everyone loves everyone
  6. Everyone loves everyone except themself
  7. Every student smiles
  8. Every student except George smiles
  9. Everyone walks or talks
  10. Every student walks or talks
  11. Every student who walks talks
  12. Every student who loves Mary is happy
  13. Every boy who loves Mary hates every boy who Mary loves:
  14. Every boy who loves Mary hates every other boy who Mary loves:

Answers

  1. Mary loves everyone: xLmx\forall x Lmx
  2. Mary loves everyone: x(HxLmx)\forall x (Hx \rightarrow Lmx) (Assuming domain contains non-humans)
  3. No one talks: ¬xTx\neg \exists x Tx
  4. Everyone loves themself: xLxx\forall x Lxx
  5. Everyone loves everyone: xyLxy\forall x \forall y Lxy
  6. Everyone loves everyone except themself: xy(xyLxy)\forall x \forall y (x \ne y \leftrightarrow Lxy)
  7. Every student smiles: x(SxMx)\forall x (Sx \rightarrow Mx)
  8. Every student except George smiles: x((Sxxg)Mx)\forall x((Sx \land x \ne g) \rightarrow Mx)
    This allows the possibility that George smiles too; if we want to exclude that we might want something like this: x(Sx(xgMx))\forall x(Sx \rightarrow (x \ne g \leftrightarrow Mx)). \textit{All students are such that they smile if and only if they are not identical to George.}
  9. Everyone walks or talks: x(WxTx)\forall x (Wx \lor Tx)
  10. Every student walks or talks: x(Sx(WxTx))\forall x (Sx \rightarrow (Wx \lor Tx))
  11. Every student who walks talks: x((SxWx)Tx)\forall x((Sx \land Wx) \rightarrow Tx)
  12. Every student who loves Mary is happy: x((SxLxm)Hx)\forall x((Sx \land Lxm) \rightarrow Hx)
  13. Every boy who loves Mary hates every boy who Mary loves:
    x[(BxLxm)(y(ByLmy)Hxy)]\forall x[(Bx \land Lxm) \rightarrow (\forall y(By \land Lmy) \rightarrow Hxy)] or by Exportation
    xy[((BxLxm)(ByLmy))Hxy]\forall x\forall y[((Bx \land Lxm) \land (By \land Lmy)) \rightarrow Hxy]
  14. Every boy who loves Mary hates every other boy who Mary loves:
    x{[(BxLxm)y((ByLmy)yx)]Hxy)}\forall x\{[(Bx \land Lxm) \rightarrow \forall y((By \land Lmy) \land y \ne x)] \rightarrow Hxy)\} or
    xy{[(BxLxm)((ByLmy)xy)]Hxy}\forall x\forall y \{[(Bx \land Lxm) \land ((By \land Lmy) \land x \ne y)] \rightarrow Hxy\}
    If John loves Mary and Mary loves John, 13 says that John hates himself, but 14 does not.

Natural Deduction with Quantifiers

There are four quantifier rules that we need for extending our natural deduction system to predicate calculus. We need introduction and elimination rules for each of the two quantifiers. You can find an explanation of these rules at the following pdf:

Quantifier Rules

All humans are mortal. Socrates is a human. Therefore, Socrates is mortal.
x(HxMx),Hs\forall x (Hx \rightarrow Mx), Hs Ms\vdash Ms

ProofProof:

1
2
3
4

Showing Invalidity

In the propositional logic, we could show that an argument is invalid by finding a row of the truth table where the premises are true and the conclusion false. That would show that it is possible for the truth of the premises to fail to guarantee the truth of the conclusion. This works because the truth table contains every possible combination of truth values for the atomic sentences.

However, predicate calculus sentences may contain variables which range over some domain. That domain may contain an infinite number of items. For instance the set of natural numbers N\mathbb{N} is a set with countably infinite cardinality. We could not produce a truth table for a sentence that said something about the natural numbers.

Consider every natural number is even or odd:

x(ExOx)\forall x (Ex \lor Ox) where xNx \in \mathbb{N}

So we cannot show the invalidity of a predicate calculus argument by truth table. We need another method.

Models

A model is a domain of individuals and a specification of all properties and relations of those individuals. For instance, we might imagine a universe with two individuals, aa and bb, and aa has the property PP while bb does not, and nothing else about the universe is true. This is a model and we could represent it using a table.

PP
aa T
bb F

To show that an argument is invalid, we need to be able to create a model where the premises are true and the conclusion is false.

Predicate Calculus Argument Exercises

  1. x(FxGx)\forall x(Fx \rightarrow Gx), x(Hx¬Gx))\exists x(Hx \land \neg Gx)) x(Hx¬Fx)\vdash \exists x(Hx \land \neg Fx)

  2. x(FxGx))(xFxxG)\vdash \exists x (Fx \lor Gx)) \leftrightarrow (\exists x Fx \lor \exists x G)

  3. (x(PxQx)xPx)xQx\vdash (\forall x(Px \rightarrow Qx) \land \exists x Px) \rightarrow \exists x Qx

  4. x(PxQx)(xPxxQx)\vdash \forall x(Px \rightarrow Qx) \rightarrow (\exists x Px \rightarrow \exists x Qx)