Professional Documents
Culture Documents
The language of propositional logic is very poor and does not allow us
to talk about many things that we would like to be able to talk about. That
is because propositional logic fails to “look inside propositions” and see
any further structure in them. For example, propositional logic would
not see any connection between “Bob likes Jane” and “There is someone
who likes Jane”, even though one statement logically implies the other.
This limitation of expressive power is overcome in predicate logic,
which is also called first-order logic. It is based not just on propositions,
but on predicates (=relations). Propositions are simple special cases of
predicates. Hence, propositional logic is just a simple fragment of the
more expressive predicate logic.
In a sense, the expressive power of first-order logic is universal: it
allows us to talk about virtually anything.
Note: In this episode, first-order logic will be presented in a way which
may seem quite different from the treatments that you have probably seen
elsewhere. Yet, our approach is equivalent to the more traditional ones.
5.2
The universe of discourse
As we remember from Episode 2, relations are always considered in
the context of some set. For example, when we mentioned <, we said that
we meant it as a binary relation on the set N of natural numbers. This
formally means that < is a subset of NN. Such a context-setting set (in
this example N) is said to be the universe of discourse.
When applying first-order logic, we always have some universe of
discourse in mind. For example, if first-order logic is used for building
a formal arithmetic, the universe of discourse would be N. And if logic
is used for a biological classification system, the universe of discourse
would contain (the names of) all plants and animals.
In our treatment, we assume that the universe of discourse is always
N. There is no (much) loss of generality in doing so. After all, plants,
people, chemical elements, rational numbers --- all objects that have or
can have names --- can be encoded as natural numbers.
5.3
Constants, variables, terms and valuations
e[pq] = (e[p]) (e[q]), i.e., pq is true at e iff so are both p and q;
xyz(p(x,y,z)p(x,z,y)) --- ⊤
-Introduction -Introduction
G, xH(x), H(t) G, H(y)
G, xH(x) G, xH(x)
5.16
Examples
A
yq(z1,y), xq(x,z2), q(z1,z2), q(z1,z2)
yq(z1,y), xq(x,z2), q(z1,z2)
A G3-proof of
yq(z1,y), xq(x,z2)
xyq(x,y)yxq(x,y).
yq(z1,y), yxq(x,y)
xyq(x,y), yxq(x,y)
xyq(x,y) yxq(x,y)
A
xy(p(x)p(y)), p(0), p(z), p(z), p(u)
xy(p(x)p(y)), p(0)p(z), p(z)p(u)
A G3-proof of xy(p(x)p(y)), p(0)p(z), y(p(z)p(y))
xy(p(x)p(y)).
xy(p(x)p(y)), p(0)p(z)
xy(p(x)p(y)), y(p(0)p(y))
xy(p(x)p(y))
5.17
The soundness and completeness of G3