Download Classical Predicate Logic

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Granular computing wikipedia , lookup

Corecursion wikipedia , lookup

Generalized linear model wikipedia , lookup

Simplex algorithm wikipedia , lookup

Transcript
Classical Predicate Logic
Daniel Bonevac
March 26, 2012
Aristotle’s theory of syllogisms, the first real logical theory, took predicates—expressions
that are not true or false in themselves, but true or false of objects—as its basic units of
analysis. It thus examined a finer level of structure than propositional logic. It looked
inside the structure of what propositional logic would call atomic sentences.
The Stoics and medieval philosophers developed propositional logic, even while
Aristotelian logic remained the central logical theory. These two schools of thought
stood side-by-side for centuries, with only a few analogical connections between them.
In the nineteenth century, however, George Boole and others tried to unify them by
seeing them as reflecting a single underlying algebraic structure. In 1879, Gottlob
Frege and Charles Sanders Peirce independently combined them to develop what has
become known as classical first-order logic.
1
Syntax
Classical first-order logic, also known as predicate logic or quantification theory, adds
to propositional logic several new vocabulary items. We will add a set of constants, a
set of variables, a set of n-ary predicate symbols, and the quantifiers.
We define formulas:
1. A constant or variable is a term.
2. If t1 ...tn are terms, and P is an n-ary predicate symbol, then P(t1 , ..., tn ) is a(n
atomic) formula.
3. If A and B are formulas, so are ¬A, ¬B, (A ∧ B), (A ∨ B), (A ⊃ B), and (A ≡ B).
4. If A is a formula and v a variable, ∀vA and ∃vA are formulas.
A variable x is bound if it occurs in the scope of a quantifier on that variable; otherwise
it is free. A formula with no free variables is closed. A x (c) is the formula obtained by
substituting c for each free occurrence of x throughout A.
2
Semantics
An interpretation or model is a structure M =< D, v >, where D is a nonempty set
known as the domain, v a function from constants into D and from n-ary relation symbols to n-place relations on D.
1
There are various ways of writing truth conditions. A common one uses the concept of an assignment, a function that takes variables into objects of the domain. An
assignment u is an x − variant of assignment v iff v and u agree on all variables except
perhaps the variable x. Then the truth conditions for quantified statements ∀xA and
∃xA talk about all or some x-variants.
Priest does it differently, as do I. Extend the language L to L(M), so that every
object in the domain has a name. Then, for every d ∈ D, there is a constant kd such that
v(kd ) = d.
Our truth definition uses the usual clauses for the connectives, plus:
v(Pa1 ...an ) = 1 ⇔ < v(a1 ), ..., v(an ) > ∈ v(P); otherwise it is 0.
v(∀xA) = 1 ⇔ for all d ∈ D, v(A x (kd )) = 1; otherwise it is 0.
v(∃xA) = 1 ⇔ for some d ∈ D, v(A x (kd )) = 1; otherwise it is 0.
If, on model M, v(A) = 1, we can write M |= A. Similarly, if on M v(B) = 1 for
every B ∈ X, we can write M |= X. We define implication as before: X |= A ⇔ every
model of X is a model of A. (That is, X |= A ⇔ for all M (M |= X ⇒ M |= A).)
In every model,
• v(¬∃xA) = v(∀x¬A)
• v(¬∀xA) = v(∃x¬A)
• v(¬∃x(Px ∧ A)) = v(∀x(Px ⊃ ¬A))
• v(¬∀x(Px ⊃ A)) = v(∃x(Px ∧ ¬A))
• v(∀xA) = 1 ⇔ for all c ∈ C, v(A x (c)) = 1
• v(∃xA) = 1 ⇔ for some c ∈ C, v(A x (c)) = 1
The last two could have been taken as defining the truth conditions of quantified sentences. That approach is known as substitutional quantification. When all objects in the
domain have names, it agrees with objectual quantification. If there are objects without
names, they can diverge. What if there are names without objects? That question leads
to free logic.
3
Tableau Completeness
We can define tableau rules for quantifiers in the standard way. Where X is finite, X ` A
means that there is a closed tableau with the initial list X, ¬A. Open branches induce
countermodels: for each constant b appearing on the branch, add an object δ(b) to D,
and let v(P) be the set of n-tuples < δb1 , ..., δbn > such that Pb1 ...bn appears on the
branch. Note that some tableau may be infinite. (Consider one showing that ∃x∀yS xy
is not valid.)
Soundness Lemma: Suppose M makes every formula on the initial list of a tableau
true. Applying a rule of inference to the branch b produces at least one extension b0 of
2
the branch such that there is a model M 0 of b0 .
We must consider each rule. This is trivial in the propositional and negated quantification cases, so the only interesting cases are those for ∀ and ∃. Say we apply the rule
that takes us from ∀xA to A x (a) for each constant a on b. Since M |= ∀xA, M |= A x (kd )
for each d ∈ D. Let d be such that v(a) = v(kd ). Then M |= A x (a). So, we can take
M 0 = M.
Say we apply the rule taking us from ∃xA to A x (c). This is the trickiest rule, since,
considered all by itself, it does not appear to be sound; it allows us to move from ∃xF x
to Fc, and that is not a valid inference! But its presence in the system does no harm,
because the constant c has to be new to the tableau. It cannot have appeared in any
premise or in the conclusion. In the tableau, then, it acts to introduce an arbitrary name
for an object assumed to exist. The rule encodes the common mathematical practice
of introducing a name in such contexts, e.g., in Brouwer’s fixed-point theorem: “Every
continuous function f from a closed disk to itself has at least one fixed point. So, if f
from closed disk d to d is continuous, there is a point—call it x0 —at which f (x0 ) = x0 .”
That does no harm as long as we make no other assumptions about x0 as such.
Since M |= ∃xA, there is a d ∈ D such that M |= A x (kd ). Let M 0 = M except
that v0 (c) = d. Since c does not occur in A x (kd ) (since it was new to the branch),
M 0 |= A x (c). Since v0 (c) = d = v0 (kd ), M 0 |= A x (c). Also, since c was new, no other
formula on the branch is affected by the switch from M to M 0 ; they all still come out
true.
Soundness Theorem: For finite X, X ` A ⇒ X |= A.
Suppose X |=
/ A. Then there is an M such that M |= X and M |=
/ A. Consider a
completed tableau with the initial list X, ¬A. Whenever we apply a rule to an open
branch, there is a model M 0 that makes every formula on the extension true, including
the initial list. So, we can find a model M∗ for the entire branch. It follows that the
branch must be open; if it were closed, there would be a formula B such that both B and
¬B were on the branch, and no model could make both true. So, the tableau is open;
X 0 A.
It is quite easy to extend our proof of the completeness of our propositional system
to cover full predicate logic.
Completeness Lemma: Induced interpretations are faithful. Let b be a completed
open branch of a tableau and let M be induced by b. Then for any assignment v, if A is
on b, v(A) = 1, and, if ¬A is on b, v(A) = 0.
Proof. We proceed by induction on the complexity of A. The atomic case is obvious
from the definition of being induced by a branch; the propositional cases are exactly as
for the propositional lemma. So, the only interesting cases are quantificational.
Case 1: ∀xA is on b. Since b is complete, the rule for universal formulas has been
applied in every possible case, so, for every constant c on b, A x (c) is on b. By inductive
hypothesis, then, v(A x (c)) = 1 for every constant c on b. Since D is just the set of
objects named by those constants, however, v(∀xA) = 1.
3
Case 2: ∃xA is on b. Since b is complete, the rule for existential formulas has been
applied, so there is a constant c on b such that A x (c) is on b. By inductive hypothesis,
then, v(A x (c)) = 1 for some constant c on b. Since D is just the set of objects named by
the constants on the branch, however, v(∃xA) = 1.
Completeness Theorem: For finite X, X |= A ⇒ X ` A.
Proof : Say X 0 A. Then the tableau with initial list X, ¬A is open. There is then an
interpretation induced by an open branch making X true and A false. So, X /|= A.
We can extend these theorems to arbitrary sets X by going through the premises of
an infinite set in order.
As a quick corollary to the completeness theorem, we obtain:
Compactness: X |= A ⇔ there is a finite X0 ⊆ X such that X0 |= A. In an alternate
form, a set is satisfiable iff every finite subset of it is satisfiable.
Proof : Set up a tableau with initial list X, ¬A. Since X |= A, it closes. Each branch
closes after a finite number of steps; the whole tableau, therefore, closes after a finite
number of steps. (This relies on König’s Lemma: a tree with an infinite number of
nodes has an infinite branch.)
Lowenheim-Skolem Theorem: Every set of formulas with a model has a countable model.
Proof : Set up a tableau for the set; it remains open. Choose an open branch; it
induces a model. Construct the domain by adding any an object for any constant in the
first formula, the second, and so on. Even if the branch is infinite, there can be at most
countably many objects that are in the domain.
If we have identity in the language, the proof of completeness is slightly more complicated; we build equivalence classes of constants, and correlate objects not with constants but with equivalence classes of constants. This affects the Lowenheim-Skolem
theorem, for countably many variables might constitute only finitely many equivalences
classes. (Consider the set of formulas consisting solely of ∀x∀y x = y.) In a language
with identity as a logical symbol, therefore, we must say only that any set of formulas
with an infinite model has a countable model.
This leads to Skolem’s paradox: First-order theories of uncountable domains have
countable models. A theory of the real numbers, for example, might allow us to prove
Cantor’s theorem that there are uncountably many reals. In ZF, we can prove the existence of an uncountable set. Nevertheless, these theories have countable models.
“There are uncountably many sets” can be true even in a countable domain!
4