Logic Textbook
Logic Textbook
(Fall 2022)
Email: thayashi@ucalgary.ca
Contents
1 Language L1 6
1.1 Syntax of L1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.1.1 The Vocabulary of L1 . . . . . . . . . . . . . . . . . . . 7
1.1.2 The Formation Rules of L1 -Sentences . . . . . . . . . . 7
1.1.3 The Main Connective . . . . . . . . . . . . . . . . . . . 8
1.1.4 Problems . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Semantics of L1 . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2.1 Interpretations of a Sentence Letter of L1 . . . . . . . . 9
1.2.1.1 Interpretations of a Denial . . . . . . . . . . . 10
1.2.2 Interpretations of a Conjunction . . . . . . . . . . . . . 10
1.2.3 Interpretations of a Disjunction . . . . . . . . . . . . . 10
1.2.4 Interpretations of a Conditional . . . . . . . . . . . . . 11
1.2.5 Interpretations of a Bi-Conditional . . . . . . . . . . . 11
1.2.6 Examples . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.2.7 Problems . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Semantical Properties of (a Set of) L1 -Sentences . . . . . . . . 13
1.3.1 Satisfiability . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.2 Unsatisfiability . . . . . . . . . . . . . . . . . . . . . . 14
1.3.3 Validity . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.4 Invalidity . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.5 Interrelations among the Properties . . . . . . . . . . . 15
1.3.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4 Logical Implication and Logical Equivalence . . . . . . . . . . 16
1.4.1 Logical Implication . . . . . . . . . . . . . . . . . . . . 16
1.4.1.1 Problems . . . . . . . . . . . . . . . . . . . . 18
1.4.2 Logical Equivalence . . . . . . . . . . . . . . . . . . . . 19
1.4.2.1 Problems . . . . . . . . . . . . . . . . . . . . 20
1
1.5 Argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.5.1 Problems . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.6 Some Words on Implication/Argument . . . . . . . . . . . . . 24
1.6.1 The Difference between the Validities of a Sentence and
of an Argument . . . . . . . . . . . . . . . . . . . . . . 25
1.6.2 The Condition in Which an Implication and an Argu-
ment Hold . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.7 Complete Disjunctive Normal Form . . . . . . . . . . . . . . . 26
1.7.1 Truth-Functional Connectives . . . . . . . . . . . . . . 26
1.7.2 Complete Disjunctive Normal Form . . . . . . . . . . . 27
1.7.2.1 Problems . . . . . . . . . . . . . . . . . . . . 30
1.8 Expressive Completeness . . . . . . . . . . . . . . . . . . . . . 30
1.8.1 Problems . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.9 Truth-Tree Method for L1 . . . . . . . . . . . . . . . . . . . . 33
1.9.1 10 Rules of the Truth-Tree Method . . . . . . . . . . . 33
1.9.1.1 Problem . . . . . . . . . . . . . . . . . . . . . 35
1.9.2 Testing the Satisfiability of sentences . . . . . . . . . . 35
1.9.2.1 Problem . . . . . . . . . . . . . . . . . . . . . 39
1.9.3 Testing the Validity of a Sentence . . . . . . . . . . . . 41
1.9.3.1 Problems . . . . . . . . . . . . . . . . . . . . 43
1.9.4 Testing the Validity of an Argument . . . . . . . . . . 43
1.9.4.1 Problems . . . . . . . . . . . . . . . . . . . . 45
1.9.5 Testing the Implication . . . . . . . . . . . . . . . . . . 45
1.9.5.1 Problems . . . . . . . . . . . . . . . . . . . . 47
1.9.6 Testing the Equivalence . . . . . . . . . . . . . . . . . 47
1.9.6.1 Problems . . . . . . . . . . . . . . . . . . . . 49
2 Language L2 50
2.1 Syntax of L2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.1.1 The Vocabulary of L2 . . . . . . . . . . . . . . . . . . . 51
2.1.1.1 Names . . . . . . . . . . . . . . . . . . . . . . 52
2.1.1.2 Predicates . . . . . . . . . . . . . . . . . . . . 52
2.1.1.3 Quantifiers . . . . . . . . . . . . . . . . . . . 53
2.1.2 The Formation Rules of L2 -Sentences . . . . . . . . . . 54
2.1.2.1 Examples of L2 -Sentences . . . . . . . . . . . 55
2.1.2.2 Examples of Non-Sentences . . . . . . . . . . 55
2.2 Translation from/into L2 -Sentences . . . . . . . . . . . . . . . 55
2.2.1 Translating L2 -sentences with one predicate . . . . . . 56
2
2.2.2 Translating L2 -sentences with two predicates . . . . . . 57
2.2.2.1 Many faces of ∃ . . . . . . . . . . . . . . . . . 57
2.2.3 Translating Noun Phrases . . . . . . . . . . . . . . . . 58
2.2.3.1 Problems . . . . . . . . . . . . . . . . . . . . 59
2.2.4 Some Translation Practices . . . . . . . . . . . . . . . 59
2.2.4.1 Problem . . . . . . . . . . . . . . . . . . . . . 60
2.2.5 Some Translation Tips . . . . . . . . . . . . . . . . . . 60
2.2.5.1 If . . . , then . . . . . . . . . . . . . . . . . . . . . 60
2.2.5.2 Only . . . . . . . . . . . . . . . . . . . . . . . 61
2.2.5.3 Unless . . . . . . . . . . . . . . . . . . . . . . 61
2.2.5.4 Any . . . . . . . . . . . . . . . . . . . . . . . 62
2.2.6 Problems . . . . . . . . . . . . . . . . . . . . . . . . . 63
2.3 Semantics of L2 . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.3.1 Assignment of an Object to a Name . . . . . . . . . . . 64
2.3.2 Assignment of Truth Values to a Predicate . . . . . . . 65
2.3.2.1 Assignment of Truth Values to a One-Place
Predicate . . . . . . . . . . . . . . . . . . . . 65
2.3.2.2 Assignment of Truth Values to a Two-Place
Predicate . . . . . . . . . . . . . . . . . . . . 66
2.3.3 Examples . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.3.3.1 Determining the Truth Values of Sentences
under a Given Interpretation . . . . . . . . . 67
2.3.3.2 Constructing an Interpretation under Which
a Given Sentences Are True (or False) . . . . 71
2.4 Truth-Tree Method for L2 . . . . . . . . . . . . . . . . . . . . 74
2.4.1 Testing the satisfiability of a sentence . . . . . . . . . . 75
2.4.2 Testing the Validity of a Sentence . . . . . . . . . . . . 76
2.4.3 Testing the Validity of an Argument . . . . . . . . . . 76
2.4.4 Construct an Interpretation from an Open Path . . . . 79
2.4.5 Testing the Equivalence . . . . . . . . . . . . . . . . . 81
2.4.6 Some Metalogical Considerations . . . . . . . . . . . . 83
2.4.6.1 Decidability . . . . . . . . . . . . . . . . . . . 84
2.4.6.2 Soundness . . . . . . . . . . . . . . . . . . . . 84
2.4.6.3 Completeness . . . . . . . . . . . . . . . . . . 85
2.4.6.4 Problem . . . . . . . . . . . . . . . . . . . . . 85
3
3 Language L3 86
3.1 Translation from/into L3 -sentences . . . . . . . . . . . . . . . 87
3.1.1 Translating L3 -Sentences . . . . . . . . . . . . . . . . . 87
3.1.1.1 By Way of a Quasi-English Sentence . . . . . 87
3.1.1.2 Translating an L3 -Sentence Step by Step . . . 89
3.1.2 Translating English sentences into L3 -Sentences . . . . 90
3.1.2.1 Trial and Error . . . . . . . . . . . . . . . . . 90
3.1.2.2 Utilizing What We Have at Our Disposal . . 92
3.1.2.3 Translating Step by Step . . . . . . . . . . . . 92
3.1.2.4 Introducing the Templates . . . . . . . . . . . 93
3.1.3 Problems . . . . . . . . . . . . . . . . . . . . . . . . . 95
3.2 Interpretation of L3 -Sentences . . . . . . . . . . . . . . . . . . 96
3.2.1 Deciding a Truth Value of a Sentence under a Given
Interpretation . . . . . . . . . . . . . . . . . . . . . . . 96
3.2.2 Providing an Interpretation Which Makes a Given Sen-
tence True or False . . . . . . . . . . . . . . . . . . . . 98
3.2.3 Providing One Interpretation for Two Sentences . . . . 99
3.2.4 Problems . . . . . . . . . . . . . . . . . . . . . . . . . 100
3.3 Truth Trees for L3 . . . . . . . . . . . . . . . . . . . . . . . . 101
3.3.1 Testing the satisfiability of a sentence . . . . . . . . . . 102
3.3.2 Testing the Validity of a Sentence . . . . . . . . . . . . 103
3.3.3 Testing the Satisfiability, Again . . . . . . . . . . . . . 103
3.3.4 Testing the Validity of an Argument . . . . . . . . . . 106
3.3.5 Testing the Equivalence between Sentences . . . . . . . 106
4
4.3.1 Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
4.3.2 Translating with Functions . . . . . . . . . . . . . . . . 122
4.3.3 Truth-Tree Method for Functions . . . . . . . . . . . . 123
Solutions 127
Solutions for Problems 1.1.4 . . . . . . . . . . . . . . . . . . . . . . 127
Solutions for Problems 1.2.7 . . . . . . . . . . . . . . . . . . . . . . 127
Solutions for Problems 1.3.6 . . . . . . . . . . . . . . . . . . . . . . 128
Solutions for Problems 1.4.1.1 . . . . . . . . . . . . . . . . . . . . . 129
Solutions for Problems 1.4.2.1 . . . . . . . . . . . . . . . . . . . . . 130
Solutions for Problems 1.5.1 . . . . . . . . . . . . . . . . . . . . . . 130
Solutions for Problems 1.7.2.1 . . . . . . . . . . . . . . . . . . . . . 131
Solutions for Problems 1.8.1 . . . . . . . . . . . . . . . . . . . . . . 131
Solutions for Problems 1.9.3.1 . . . . . . . . . . . . . . . . . . . . . 132
Solutions for Problems 1.9.4.1 . . . . . . . . . . . . . . . . . . . . . 136
Solutions for Problems 1.9.5.1 . . . . . . . . . . . . . . . . . . . . . 139
Solutions for Problems 1.9.6.1 . . . . . . . . . . . . . . . . . . . . . 141
Solutions for Problems 2.2.3.1 . . . . . . . . . . . . . . . . . . . . . 144
Solutions for Problems 2.2.4.1 . . . . . . . . . . . . . . . . . . . . . 145
Solutions for Problems 2.2.6 . . . . . . . . . . . . . . . . . . . . . . 146
Solutions for Problems 2.4.6.4 . . . . . . . . . . . . . . . . . . . . . 146
Solutions for Problems 3.1.3 . . . . . . . . . . . . . . . . . . . . . . 147
Solutions for Problems 3.2.4 . . . . . . . . . . . . . . . . . . . . . . 148
Solutions for Problems 4.1.1 . . . . . . . . . . . . . . . . . . . . . . 153
Solutions for Problems 4.2.3.1 . . . . . . . . . . . . . . . . . . . . . 157
Solutions for Problems 4.2.7 . . . . . . . . . . . . . . . . . . . . . . 160
5
Chapter 1
Language L1
We are dealing with a language called L1 . So let’s start with very basic
aspects of this language.
L1 can be seen from two different angles: syntax and semantics. In
short, the syntax and semantics of L1 tell us:
1.1 Syntax of L1
As we’ve seen in the above, the syntactical aspect of L1 tells us what kind
of expression is considered as a sentence of L1 . As in ordinary languages,
the syntax of L1 comprises of the vocabulary and formation rules (namely,
grammar) of L1 -sentences. Let’s start with the vocabulary of L1 .
1
True and false are sometimes abbreviated as: T and F, t and f, T and ⊥ (upside-down
T), or 1 and 0 respectively. I’m going to use the first abbreviation (namely, T and F)
throughout this study guide
6
1.1.1 The Vocabulary of L1
The vocabulary of L1 comprises of
Logical Symbols: (, ), −, ∧, ∨, →, ↔
7
The components of a conjunction (α and β in the above case) are
called conjuncts; the components of a disjunction are called disjuncts; and the
first component of a conditional (α in the above case) is called anantecedent
while the second component (β in the above case) is called a consequent.3
Some authors call sentence letters and their denials literals; so A,
−B, C256 etc. are all literals.
8
add in building the sentence is ↔. We call this last connective the main
connective, and say, “the sentence is a bi-conditional”.
1.1.4 Problems
Determine the main connectives of the following sentences.
1. ((− − A ∧ B) → (−A ↔ B))
2. (−D ∧ (−H ∨ (D ∧ E)))
3. (−(D ↔ (−A ∧ B)) ∨ (−D ∨ −B))
4. ((J ∧ ((E ∨ F ) ∧ (−E ∧ −F ))) → −J)
5. −(−A ↔ −(B ↔ −(A ↔ (B ∧ C))))
1.2 Semantics of L1
The semantics of L1 tells us how to assign the truth values {T,F} to a
sentence of L1 . Such assignments of the truth values to a sentence are called
interpretations or truth-value assignments. Let’s start with the simplest one.
α
T
F
9
1.2.1.1 Interpretations of a Denial
A denial −α is going to be true in I if and only if I assigns false to α;
otherwise, −α is going to be false. Thus, the truth table for a denial −α is
α −α
T F
F T
α β (α ∧ β)
T T T
T F F
F T F
F F F
α β (α ∨ β)
T T T
T F T
F T T
F F F
10
1.2.4 Interpretations of a Conditional
A conditional (α → β) is going to be true in I if and only if I assigns false to
the antecedent (α in this case) or true to the consequent (β in this case); in
other words, if I assigns true to the antecedent and false to the consequent,
(α → β) is going to be false in I.
α β (α → β)
T T T
T F F
F T T
F F T
α β (α ↔ β)
T T T
T F F
F T F
F F T
1.2.6 Examples
Let’s construct the truth table for (((B ∨ C) → A) ↔ ((B → A) ∧ (−A →
−C))). In constructing it, you need to proceed from smaller sentences to
bigger ones. So, you need to fill out the truth values for −A and −C first.
(If you’re not so sure why you need to do so, read Section 1.1.3 again.)
11
A B C (((B ∨ C) → A) ↔ ((B → A) ∧ ( − A → − C)))
T T T F F
T T F F T
T F T F F
T F F F T
F T T T F
F T F T T
F F T T F
F F F T T
And finally, based on what you’ve got in the above, you’re gonna fill out the
truth values for the entire sentence.
12
A B C (((B ∨ C) → A) ↔ ((B → A) ∧ ( − A → − C)))
T T T T T T T T F T F
T T F T T T T T F T T
T F T T T T T T F T F
T F F F T T T T F T T
F T T T F T F F T F F
F T F T F T F F T T T
F F T T F T T F T F F
F F F F T T T T T T T
1.2.7 Problems
Construct truth tables for the sentences in Problems 1.1.4.
1.3.1 Satisfiability
A sentence (or a set of sentences) is called satisfiable if there is at least
one interpretation where the sentence (or the set of sentences) is going
to be true.
13
A set of sentences is going to be true if and only if an interpretation I
assigns true to all sentences in the set; otherwise, it’s going to be false.
In other words, the truth value for a set of sentences can be identified
with that of the conjunction of the sentences in the set.
A B (A → B)
T T T ⇐
T F F
F T T
F F T
1.3.2 Unsatisfiability
A sentence (or a set of sentences) is called unsatisfiable if there is no
interpretation where the sentence (or the set of sentences) is going to
be true. In other words, an unsatisfiable sentence (or an unsatisfiable
set of sentences) is always false no matter what truth value we assign to
sentence letters.
( A ∧ − A)
T F F
F F T
6
We use the curly brackets {} for constructing a set.
14
What we find in the truth value assignments for (A ∧ −A) is nothing but F.
Sometimes an unsatisfiable sentence (resp. an unsatisfiable set of
sentences) is called an inconsistent sentence (resp. an inconsistent set of
sentences).
1.3.3 Validity
Validity is the exact opposite of unsatisfiability.
( A ∨ − A)
T T F
F T T
What we find in the truth value assignments for (A ∨ −A) is nothing but T.
Sometimes a valid sentence is called a tautology.
1.3.4 Invalidity
Invalidity is a kind of relatives of satisfiability.
15
subclass
Satisfiability Validity
not compatible
not compatible
ite co
p os mp
op at
t ibl
ac e
e ex
th
Unsatisfiability Invalidity
subclass
Note that the directions of the arrows matter. For example, there
is a single-headed arrow from “Validity” to “Satisfiability”; this means that,
together with the description “subclass” at the above of the arrow, valid-
ity is a subclass of satisfiability (meaning, every valid sentence is satisfiable
but not every satisfiable sentence is valid). On the other hand, there is a
double-headed arrow between “Satisfiability” and “Invalidity”; this means
that, together with the description “compatible”, a sentence can be both
satisfiable and invalid at the same time.
1.3.6 Problems
Classify the following sentences into satisfiable/unsatisfiable/valid/invalid.
(Note that a sentence can be classified into more than one category.)
1. (J → (K → J))
2. ((E ↔ H) → (−E → −H))
3. ((((C → D) ∧ (D → E)) ∧ C) ∧ −E)
4. −(((A ∨ B) ∧ (B ∨ B)) ∧ (−A ∧ −B))
5. (−B → ((B ∨ D) → D))
16
α logically implies β if and only if there’s no interpretation where α is
true but β is false. In other words, α implies β if and only if a conditional
α → β is valid.
A B (A → B) −(A → B)
T T T F
T F F T
F T T F
F F T F
((B → C) → (A → B )) |= (A → B )
F T F T F
| {z } | {z }
F F
On the other hand, we want the left-hand side of the implication to be true;
thus, since (A → B) has been already assigned the truth value F, (B → C)
7
If you’re not so sure how to assign truth values to a set of sentences, see Section 1.3.1.
17
must be false in order for ((B → C) → (A → B)) to be true. However, we’ve
already assigned F to B; consequently, it’s impossible to make (B → C)
false no matter what truth value we assign to C because a conditional with
a false antecedent never be false. Therefore, it’s impossible to assign T to
the left-hand side of the implication and F to the right side; in other words,
it’s impossible to make the implication fail; ((B → C) → (A → B)) actually
implies (A → B).
How about (A ∨ −(B ∧ C)) |= ((A ↔ C) ∨ B)? Let’s see if we can
make this implication fail. For the implication to fail, the right-hand side
((A ↔ C) ∨ B) must be false; and for ((A ↔ C) ∨ B) to be false, both of its
conjuncts, namely (A ↔ C) and B, must be false.
(A ∨ −(B ∧ C )) |= ((A ↔ C ) ∨B )
T F F T F F
| {z } | {z }
T F
(A ∨ − (B ∧ C )) |= ((A ↔ C ) ∨B )
F F T F T F
| {z } | {z }
F F
| {z }
T
| {z }
T
1.4.1.1 Problems
1. Prove:
18
1. α |= α
2. If Γ |= α, then Γ, β |= α (Here, “Γ, β” on the left-hand side of the
second implication means {γ1 , γ2 , . . . , γn , β} with Γ = {γ1 , γ2 , . . . , γn }.
3. If Γ |= α and α, ∆ |= β, then Γ, ∆ |= β
4. Γ, α |= β if and only if Γ |= (α → β)
5. If α |= β and β |= γ, then α |= γ
1. S1 |= (S1 ∧ S2 )
2. (S1 ∧ S2 ) |= S1
3. S2 |= (S1 ∨ S2 )
4. (S1 ∨ S2 ) |= S2
In order for the first implication to fail, (S1 ∧ S2 ) must be false; and
in order for the conjunction to be false, at least one of its conjuncts (namely,
either S1 or S2 ) must be false. However, if S1 is false, the implication is going
to hold because, in order for the implication to fail, S1 on the left-hand side
must be true. On the other hand, if S2 is false, S1 cannot be true because
19
we’re assuming the truth of S1 |= S2 . In either case, there’s no interpretation
where the left-hand side is true but the right-hand side is false.
In a similar fashion, you can make sure that there’s no interpretation
where the left-hand sides of the items 2–4 are true but the right-hand sides
of the items are false. Therefore, S1 is equivalent to (S1 ∧ S2 ) and S2 is
equivalent to (S1 ∨ S2 ).
In this particular case, the truth-table method might be easier.
S1 S2 (S1 ∧ S2 ) (S1 ∨ S2 )
T T T T
T F F T
F T F T
F F F F
Note that the situation depicted in the line 2 never happens because
S1 |= S2 (there’s no interpretation where S1 is true but S2 is false). Thus,
we can safely ignore the line 2. Obviously, the turth-value assignments of S1
(resp. S2 ) match up with those of (S1 ∧ S2 ) (resp. (S1 ∨ S2 )). Therefore, S1
(resp. S2 ) is equivalent to (S1 ∧ S2 ) (resp. (S1 ∨ S2 )).
Let’s do one more example by constructing a truth table. This time
we’re gonna check whether (A → B) and (−A ∨ B) are logically equivalent
or not.
1.4.2.1 Problems
1. Prove:
1. −−α ≡ α (Remember: “≡” is read as “is equivalent to”.)
2. α ≡ −β if and only if −α ≡ β
20
3. −(α ∧ β) ≡ (−α ∨ −β)
4. −(α ∨ β) ≡ (−α ∧ −β)
5. (α → β) ≡ (−α ∨ β)
6. (α → β) ≡ (−β → −α)
7. (α ↔ −β) ≡ (−α ↔ β)
(The above equivalences are all useful. I recommend you to memorize them.)
1.5 Argument
An argument is comprised of two parts: a set of premises and one con-
clusion. An argument is called valid if there’s no interpretation where
a set of premises is true8 but the conclusion is false. If there’s such an
interpretation, an argument is called invalid and the interpretation is
called a counterexample.
Premise 1
Premise 2
..
.
Premise n
Conclusion
21
(A → B)
A
B
You can show its validity (or invalidity) either by the truth-table
method or by the one explained above (let’s call this method the try-to-refute
method).
Truth-Table Method:
A B (A → B)
T T T
T F F
F T T
F F T
As you see, there’s no interpretation where B (your conclusion) is false but
both A and (A → B) (your premises) are true; therefore, this argument is
valid.
Try-to-Refute Method:
{(A → B ), A} |= B
F F F F
| {z }
T
| {z }
F
In order for the above argument to be invalid, B must be false; and in order
for (A → B) to be true with the truth value F of B, A must be false. However,
such a truth-value assignment makes the set of premises false (why?); and
consequently, the argument is going to be valid. In this way, we know that
there’s no way to assign T to the premises and F to the conclusion, which
means the argument is valid.9
Let’s do another example: {(A → B), B} |= A.
Truth-Table Method:
A B (A → B)
T T T
T F F
F T T ⇐
F F T
9
An argument with the form {(α → β), α} |= β is called modus ponens.
22
Try-to-Refute Method:
{(A → B ), B } |= A
F T T F
| {z }
T
| {z }
T
Truth-Table Method:
A B C −A −B (−B ∨ C) (A ↔ (−B ∨ C)) (C ↔ −A)
T T T F F T T F
T T F F F F F T
T F T F T T T F
T F F F T T T T ⇐
F T T T F T F T
F T F T F F T F
F F T T T T F F
F F F T T T F T
Try-to-Refute Method:
{(A ↔ ( −B ∨C )), (C ↔ −A )} |= −A
T F F F |{z} T
|{z} F |{z}
T | {z } F
| {z } T
T
| {z }
T
23
true. In order for (C ↔ −A) to be true, the truth value of C must match up
with that of −A; thus, C must be false. In order for (A ↔ (B ∨ C)) to be
true, the truth values of the both sides of ↔ must match up; and since the
one side of the bi-conditional, namely A, is true, (−B ∨ C) must be true as
well. Since C is false, in order for (−B ∨ C) to be true, −B must be true;
thus, B must be false. In this truth-value assignment (A: T, B: F, C: F),
we successfully assigned T to the premises and F to the conclusion, which
means the argument is invalid.
1.5.1 Problems
1. Prove:
1. {(α ∨ β), −α} |= β
2. {(α → β), −β} |= −α
3. {(α → γ), (β → γ), (α ∨ β)} |= γ
(The above forms of arguments are called disjunctive syllogism, modus tol-
lens, and constructive dillema respectively.)
24
1.6.1 The Difference between the Validities of a Sen-
tence and of an Argument
Let’s replicate the definitions where the same word “valid” appears.
25
T |= T, F |= T, F |= F
T F F
T T F
26
A B γ
T T T
T F T
F T F
F F T
But what if we’re given the following truth table and asked to con-
struct an L1 -sentence which has the truth-value assignments given in the
table?
A B C δ
T T T T
T T F F
T F T F
T F F T
F T T F
F T F T
F F T F
F F F T
We’re at a loss.
27
A complete disjunctive normal form of a sentence is
1. a disjunction
2. whose disjuncts are conjunctions
3. whose conjuncts are comprised of all the sentence letters (possibly
with the denial) of the target sentence
4. each of which appears once and only once in each conjunction.
Let’s compare what we’ve got in the above with this definition.
((A∧B∧C)∨(A∧−B∧−C)∨(−A∧B∧−C)∨(−A∧−B∧−C)) is obviously a
disjunction; also, its disjuncts are all conjunctions; and these conjunctions are
comprised of the sentence letters and/or their denials of the target sentence
δ; therefore, ((A∧B ∧C)∨(A∧−B ∧−C)∨(−A∧B ∧−C)∨(−A∧−B ∧−C))
has a complete disjunctive normal form.
In fact, given any sentence (except one special case. We’re gonna
look at such a special case below), we can transform it into a complete
disjunctive normal form in a mechanical way. Let’s take ((A ∧ B) ∨ −A) as
an example. First, you need to construct its truth table.
A B −A (A ∧ B) ((A ∧ B) ∨ −A)
T T F T T
T F F F F
F T T F T
F F T F T
And then, look at the interpretations where the sentence ((A ∧ B) ∨ −A) is
going to be true. In our case, the sentence is going to be true in the lines 1,
3, and 4. In the line 1, the sentence letters A, B take the truth value T; and
this situation can be expressed by (A ∧ B). Similarly, the situations depicted
in the lines 3–4, namely where the sentence letters A, B take the truth value
(F, T) and (F, F) respectively, can be expressed as (−A ∧ B) and (−A ∧ −B)
respectively ((−A ∧ B) is going to be true if and only if A is false and B is
true, and (−A ∧ −B) is going to be true if and only if both A and B are
false). Since ((A ∧ B) ∨ −A) is going to be true in one of those situations,
the sentence can be expressed as ((A ∧ B) ∨ (−A ∧ B) ∨ (−A ∧ −B)) which
is a complete disjunctive normal form.
To recap:
28
If you’re asked to transform a sentence α into its complete disjunctive
normal form,
1. Construct a truth table for the target sentence α.
2. Find rows where the target sentence is true.
3. In each row where the target sentence is true, look at the truth-
value assignments for the sentence letters, and create a conjunction
based on those truth-value assignments as follows.
α. If the truth-value assignment for the sentence letter is true,
the sentence letter itself is one of your conjuncts.
β. If the truth-value assignment for the sentence letter is false,
the denial of the sentence letter is one of your conjuncts.
γ. Connect what you’ve got above with ∧ (and of course enclose
it with brackets).
4. Connect the conjunctions you’ve got above with ∨ (and don’t forget
brackets).
Now, let’s consider the following truth table for (A ∧ −A) and con-
struct a complete disjunctive normal form out of it.
A B (A ∧ −A)
T T F
T F F
F T F
F F F
29
1.7.2.1 Problems
Find complete disjunctive normal forms for the following sentences.
1. (−(A → B) ∨ (−A ∧ C))
2. ((A ∨ B) ∧ (−B ∨ C))
3. ((A ∧ −B) ∨ (A ∧ C))
4. (−A ∨ (B → −C))
5. ((A ∨ B) ↔ −C)
30
α β (α | β) α β (α ↓ β)
T T F T T F
T F T T F F
F T T F T F
F F T F F T
Let’s focus on the Peirce arrow. As you may notice, the truth-value
assignments for (α ↓ β) are exactly the opposite of those of (α ∨ β) (that’s
why it’s sometimes called “NOR”!).11 With this, we know that (α ∨ β) can
be expressed as −(α ↓ β). Thus, if we figure out how to express “−” (denial)
with the Peirce arrow alone, we can express “∨” with the arrow alone as well.
So let’s figure it out.
From the above truth table, we know that (α ↓ β) is going to be
true if α and β are both false and it’s gonna be false if α and β are both true.
Now let’s replace β in the above table with α and see what’s gonna happen.
α (α ↓ α)
T F
F T
And we now know how to express “∧” with {−, ∨} (recall that
(α ∧ β) ≡ −(−α ∨ −β) and (α ∨ β) ≡ −(α ↓ β)), we also know how to
express “∧” with the Peirce arrow alone.
11
And the truth-value assignments for the Sheffer stroke | are exactly the opposite of
those of ∧; that’s why it’s called “NAND”.
31
In a similar fashion, you can show that the Sheffer arrow | is ex-
pressively complete.
Now let f be a zero-place connective (that is, a connective which
connects nothing). You can think of this as a shorthand for (A ∧ −A) (or any
other unsatisfiable sentences). Then, the set {f, →} is expressively complete
(that is, you can express any sentences in which other connectives −, ∧, ∨, ↔
might appear). Let’s show this.
In order to show that {f, →} is expressively complete, we have to
show that some other expressively complete set can be expressed in terms of
{f, →}. Let’s take {−, ∧} as an expressively complete set. Our first task is
to express − only with {f, →}.
Now take a look at the following truth table for →.
α β (α → β)
T T T
T F F
F T T
F F T
We notice that, when the consequent (β) is false, the true antecedent gives
us false, the false antecedent true; namely, when the consequent is false,
(α → β) gives us the truth value for the denial of the antecedent. So, with
f and →, we can express − as follows.
α (α → f ) (≡ −α)
T F
F T
1.8.1 Problems
1. Express ∨, →, ↓ in terms of |.
2. Express −, ∧, ∨, →, | in terms of ↓.
3. Express ∨, →, |, ↓ in terms of {−, ∧}.
32
4. Express ∧, →, |, ↓ in terms of {−, ∨}.
5. Express ∧, ∨, |, ↓ in terms of {−, →}.
33
3. X (α ∧ β) 4. X − (α ∧ β)
α
β −α −β
α −α α −α
β −β −β β
34
In the above, we described the relation between a rule and the
truth condition of its premise with starting from the truth of conclusions
(the existence of an interpretation which makes both, or at least one, of
conclusions). We can of course describe the relation the other way around;
namely, from the assumption of the truth of the premise, we can conclude
the truth of conclusions. When this relation is seen from the first point of
view (from the truth of the conclusions to that of the premise), it’s called
the completeness of the rules; on the other hand, when the relation is seen
from the second point of view (from the truth of the premise to that of the
conclusions), it’s called the soundness of the rules.
1.9.1.1 Problem
Convince yourself that the rules are closely connected to the truth conditions
of the logical connectives; namely, verify that each rule is sound and complete.
In doing the above problem, you may have noticed that two of the
rules don’t seem to be connected to the truth conditions of the connectives in
a straightforward way: those for the denial. (Still, there are some connections
between the rules and the truth condition of the denial of course).
The plain version of the rule for the denial (Rule 1) tells you that
you can close a path if you find a contradictory pair of sentences. (The
meaning of “closing a path” will become clear eventually.) Its negated ver-
sion (Rule 2) tells you that you can take the double negation (−−) away.
35
1. (A ∧ −B)
2. C
3. (−A ∨ −B)
And then, apply one of the rules to one of the sentences. Here, we have two
options: apply the rule 3 to the line 1, or apply the rule 5 to the line 3. In
general, if you can apply a non-branching rule (like the rules 3, 6, 8), apply
it.
Let’s apply the non-branching rule 3 to the line 1. (In the below I wrote down
which rule is applied to which line. This is purely for pedagogical purpose.
You don’t have to do it in the exam or in the assignments.)
1. X (A ∧ −B)
2. C
3. (−A ∨ −C)
4. A Rule 3 to Line 1
5. −B Rule 3 to Line 1
After applying a rule to a sentence, you should put a check mark to the
left or right of the sentence in order to avoid applying a rule again to it.
Then, there’s only one option left: apply the rule 5 to the line 3.
1. X (A ∧ −B)
2. C
3. X (−A ∨ −C)
4. A Rule 3 to Line 1
5. −B Rule 3 to Line 1
6. −A −C Rule 5 to Line 3
At this point, we have two paths; one with sentences (A∧−B), C, (−A∨
−C), A, −B, −A, the other with (A ∧ −B), C, (−A ∨ −C), A, −B, −C.
36
All sentences except literals are check-marked; there’s no sentence
left to which our rules can be apply. We finish drawing the tree. The next
task is to find a contradiction (a sentence and its own denial) in the paths.
In this example, it’s obvious; we can easily find two contradictions: A in the
line 4 and −A in the line 6, and C in the line 2 and −C in the line 6. And
the following is what to do if you come across such a path.
If you find a contradiction, you put × under the path where you find it.
When you do this, we say that you close the path. And if all the paths
are closed, we say that the tree is closed.
1. X (A ∧ −B)
2. C
3. X (−A ∨ −C)
4. A Rule 3 to Line 1
5. −B Rule 3 to Line 1
6. −A −C Rule 5 to Line 3
× ×
4,6 2,6
(In the above I wrote down which line and which line are contradictory.
Again, this is just for pedagogical purpose. You don’t have to do it in the
exam or in the assignments.)
All the paths in the above tree are closed. What does this mean?
Well, let’s look at the left path and make a list from the sentences in the
path: {(A ∧ −B), C, (−A ∨ −C), A, −B, −A}. Recall that the results of the
decomposition are the truth conditions for sentences in our initial list. If
there are some contradictory sentences (A and −A in this case), some of
the truth conditions for sentences are conflicting; in other words, there’s no
interpretation which assigns T to all the sentences in the list at the same
time. And if there are conflicting truth conditions in all the paths, there’s
no way to assign T to the sentences in the initial list at the same time; in
short, a set of the sentences in the initial list is unsatisfiable.
37
1. (A → B)
2. (B → A)
3. −A
1. (A → B)
2. X (B → A)
3. −A
4. −B A Rule 7 to Line 2
×
3,4
1. X (A → B)
2. X (B → A)
3. −A
4. −B A Rule 7 to Line 2
×
3,4
5. −A B Rule 7 to Line 1
×
4,5
38
1.9.2.1 Problem
Explain why the existence of at least one open path means the satisfiability
of the set of sentences in the initial list.
1. X (A → (B ↔ C))
2. X − (C → A)
3. C Rule 8 to Line 2
4. −A Rule 8 to Line 2
5. −A (B ↔ C) Rule 7 to Line 1
At this point, we notice that there’s nothing to do for the left path
because we decomposed all the compound sentences which are in the “root”
positions as to the left path. It remains open no matter what happens on the
right path. We call such an path (in which there’s no contradiction and no
compound sentence left) a finished open path. (Note that (B ↔ C) belongs
to the different path; we can’t decompose it under −A on the left path.)
Thus, we can stop here (unless you’re required to find all the open paths).
Rule of Thumb 3: You can stop decomposing the tree once you find
an open path (unless you’re required to find all the open paths).
39
this case, A and B); thus, on this open path, we have truth-value assignments
A : F, B : F, C : T which make all the sentences in the initial list true.
According to Rule of Thumb 3 above, we can stop decomposing the
tree here because we already know the set of sentences is satisfiable. Even
so, let’s keep decomposing (yet again, for pedagogical purpose).
1. X (A → (B ↔ C))
2. X − (C → A)
3. C Rule 8 to Line 2
4. −A Rule 8 to Line 2
5. −A (B ↔ C) Rule 7 to Line 1
6. B −B
7. C −C
×
3,7
It turns out that the tree has one more open path and it tells us
that the set is going to be true when A is false, B is true, and C is true.
1. X (A → (B ∧ C))
2. (−(A → B) ∨ −(A → C))
3. −A (B ∧ C) Rule 7 to Line 1
Rule of Thumb 4:
1. If a sentence in a branch is decomposed by a non-branching rule,
decompose it first.
40
2. If a sentence in a branch is decomposed by a branching rule, de-
compose a sentence at the root position.
1. X (A → (B ∧ C))
2. (−(A → B) ∨ −(A → C))
3. −A X (B ∧ C) Rule 7 to Line 1
4. B Rule 3 to Line 3
5. C Rule 3 to Line 3
1. X (A → (B ∧ C))
2. X (−(A → B) ∨ −(A → C))
3. −A X (B ∧ C) Rule 7 to Line 1
All paths are closed; thus, the set of the sentences are unsatisfiable.
41
To test the validity of a sentence, test the satisfiability of the denial of
the sentence. If the tree is closed, the sentence is valid; if not, it’s not.
In the latter case, an open path gives you an interpretation in which the
sentence is going to be false.
9. −C R Rule 7 to Line 2
× ×
7,9 4,9
All the paths are closed; ((C → R) → (−R → −(C ∧ J))) is valid.
Now, let’s think about why you need to start with the denial of your
sentence whose validity you’re gonna check. First, recall the case of satisfia-
bility. In checking the satisfiability of sentence(s), you start with sentence(s)
itself (themselves). If your tree has at least one finished open path, your
sentence is satisfiable; if not, it’s not (namely, unsatisfiable). And if a tree
for the denial of a sentence is closed, the denial of a sentence is unsatisfiable;
and because the denial of any valid sentence is unsatisfiable, a sentence itself
has to be valid. On the other hand, if a tree for the denial of a sentence has
at least one finished open path, the denial of a sentence is satisfiable; namely,
there’s at least one interpretation which assigns F to a sentence. In such a
case, a sentence cannot be valid of course.
42
1. X − ((L ∨ (J ∨ −K)) ∧ (K ∧ ((J ∨ L) → −K)))
At this point, we notice that there’s nothing to do for the left path
because we decomposed all the sentences which are in the “root” positions
as to the left path. The left path remains open no matter what happens to
the rest. ((L ∨ (J ∨ −K)) ∧ (K ∧ ((J ∨ L) → −K))) is going to be false when
J is false, K is true, and L is false because the only sentence letter which
appears as a line itself on this open path is K.
1.9.3.1 Problems
Do Problems 1.3.6 by the truth-tree method.
43
1. X ((−B ∨ −H) → M )
2. X (K ∧ −M )
3. −B
4. K Rule 3 to Line 2
5. −M Rule 3 to Line 2
Let’s think about why this works (especially why your initial list
should have the denial of the conclusion of the argument) as its member.
First, suppose your argument is {P1 , . . . , Pn } |= C; in this case, your tree
starts with the initial list {P1 , . . . , Pn , −C}. If all the paths in your tree
are closed, the initial list {P1 , . . . , Pn , −C} is unsatisfiable; in other words,
there’s no interpretation which assigns T to all the sentences in the list. Be-
cause the impossibility of assigning T to the denial of a sentence is the same
as the impossibility of assigning F to a sentence itself, the above conclusion
amounts to saying that there’s no interpretation which assigns T to all the
premises and F to the conclusion; this is exactly what an argument needs in
order to be valid.
44
1. X (−W ∧ −L)
2. X ((J → −W ) ↔ −L)
3. H
4. X − (J ∧ H)
5. −W Rule 3 to Line 1
6. −L Rule 3 to Line 1
1.9.4.1 Problems
Do Problems 1.5.1 (2) by the truth-tree method.
45
Example: Check the truth of the implication {(−J ∨ S), (S →
E)} |= (J → E). (Remember: the truth of a set of sentences amounts
to that of the conjunction of the sentences.)
8. −J S Rule 5 to Line 4
×
6,8
9. −S E Rule 7 to Line 5
× ×
8,9 7,9
46
1. X (B ∧ K)
2. X (N → −K)
3. X (K ∨ −K)
4. X − (B → N )
5. B Rule 3 to Line 1
6. K Rule 3 to Line 1
7. B Rule 8 to Line 4
8. −N Rule 8 to Line 4
9. −N −K Rule 7 to Line 2
×
6,9
10. K −K Rule 5 to Line 3
×
6,10
1.9.5.1 Problems
Do Problems 1.4.1.1 (2) by the truth-tree method.
47
1. X − (((W ∧ Y ) → H) ↔ (W → (Y → H)))
8. X − (W ∧ Y ) H Rule 7 to Line 2
×
9. −W −Y Rule 6 to Line 8
10. × × X (W ∧ Y ) Rule 8 to Line 2
11. −H Rule 8 to Line 2
12. W Rule 3 to Line 10
13. Y Rule 3 to Line 10
48
X − ((E ∨ H) ↔ ((H ∨ J) ∨ E))
X (E ∨ H) X − (E ∨ H)
X − ((H ∨ J) ∨ E) X ((H ∨ J) ∨ E)
X − (H ∨ J) −E
−E −H
−H
−J X (H ∨ J) E
×
E H H J
× × ×
1.9.6.1 Problems
Do Problems 1.4.2.1 (2) by the truth-tree method.
49
Chapter 2
Language L2
We’ve studied the language L1 which has as its vocabulary some logical
connectives (−, ∧, ∨, →, ↔), sentence letters (the upper case alphabets
with or without subscripts), and some auxiliary symbols (brackets ( and
), sentence variables α, β, γ . . . (the lower Greek letters) with or without
subscripts). Although it’s powerful enough to capture (or formalize) a variety
of situations, it’s quite powerless to formalize an argument like the following.
50
this or that human; it’s talking about humans in general. Thus, if we have
some way to express this kind of generality in our formal language, we’d be
able to express a general situation, not this or that situation. In order to
implement these in our formal language, we’re gonna introduce the following
new vocabulary: names, predicates, variables, and quantifiers.
2.1 Syntax of L2
2.1.1 The Vocabulary of L2
Our new language L2 is an extension of our familiar language L1 . In L2 ,
we have all we have in L1 . We’re just gonna add a small number of new
vocabulary to L1 . However, this addition will make a huge difference.
Logical Symbols
Brackets: (, ).
Connectives: −, ∧, ∨, →, ↔.
Non-Logical Symbols
Auxiliary Symbols
51
2.1.1.1 Names
A Name is used for referring to an object, it must refer to one and only
one object; but different names may refer to the same object.
In real life, one name can refer to many different objects; the name
“David” can refer to millions of Davids. In this sense, the reference of a name
in real life is vague. In order to avoid this kind of vagueness, we stipulate
that in L2 a name must refer to one and only one object; a cannot refer
to the natural number 1 and Socrates at the same time. Moreover, a name
must refer to something; an empty name (a name without reference) is not
allowed. On the other hand, different names can refer to the same object.
Different names a and b may refer to the same object, say, Socrates. (You
may have a nickname besides your real name.)
2.1.1.2 Predicates
A predicate is used for expressing a property of an object or a relation be-
tween objects. An n-place predicate followed by n names (not variables!)
forms a sentence.
Sometimes a predicate has a superscript, like H 1 or L2 , for
making clear how many names are required to form a sentence. Thus, for
example, L2 ab counts as a legitimate L2 -sentence whereas L2 a doesn’t.
52
predicate is nothing but a sentence letter.
2.1.1.3 Quantifiers
Here comes our main dish in this section: the quantifiers ∀ and ∃.
Conceptually, these are not hard to understand; ∀ means “’all’, ∃
means “some”. That’s it. However, some words of caution are in order,
especially for ∃. Let’s take a look at these with some examples.
First, a general remark on both quantifiers; the quantifiers are al-
ways used with variables, and in general, followed by predicates with those
variables. For example, with some predicate H 1 , we write ∀xH 1 x or ∃xH 1 x.
Now, let H 1 in the above be a predicate which means “. . . is a
human”; then, ∀xHx means “all are humans”, ∃xHx means “some are hu-
mans”.
Here, in our language L2 , “some” doesn’t necessarily means/refers
to plural objects; it can just refer to one object. However, as in the case of
names, it has to refer to at least one object. Thus, the stricter translation of
∃x . . . x . . . would be “there is at least one object which is . . . ”.
To recap:
53
2.1.2 The Formation Rules of L2 -Sentences
As was mentioned earlier, the language L2 is an extension of the language
L1 . Thus, all we have to do here is to add a few rules to the formation rules
of L1 .
1. ∀x(F x → Lab)
2. ∀x(F x → Lxb)
3. (∃xF x → Lab)
4. (∃xF x → ∃xLxb)34
2
Note that sentence letters can be thought of as 0-place predicates. Thus, we can do
without sentence letters at all. However, as a convention, we keep using the term “sentence
letter(s)”.
3
This list is not meant to be exhaustive; there are lot more options.
4
The formation processes of the sentences are as follows. In the sentence 1, by replacing
54
In all the cases above, the variable x is said to be bound (or gov-
erned ) by the quantifiers ∀x or ∃x. And it’s said that the scope of the
quantifier ∀x in the sentences 1 and 2 is the whole sentence (F x → Lab) or
(F x → Lxb) whereas the scope of ∃x in the sentence 3 is just F x. Thus, it’s
okay to use the same variable x in the sentence 4 because the scopes of the
two existential quantifiers don’t overlap. (The first ∃x just binds F x whereas
the second binds Lxb.)
What if we omit the second ∃x in the sentence 4? In that case, x
in Lxb stops being bound (remember, the first ∃x just binds F x), and said
to be free. And then, (∃xF x → Lxb) stops being a sentence.
55
2.2.1 Translating L2 -sentences with one predicate
As was mentioned in footnote 1, the same quantified sentence can be trans-
lated into various English sentences. For example, with a one-place predicate
N which means “. . . is a number”, ∀xN x can be translated as
To recap:
For some one-place predicate P ,
∀xP x: All are P .
∃xP x: Some are P .
∀x−P x; −∃xP x: Everything is not P ; there’s no P .
∃x−P x; −∀xP x: Some are not P ; not everything is P .5
5
From the above, we also notice that ∀x− ≡ −∃x and ∃x− ≡ −∀x; this is the direct
56
2.2.2 Translating L2 -sentences with two predicates
So far, we’ve been dealing with L2 -sentences in which just one predicate
appears. However, in many cases, we need more than one predicate to express
what we want to express. For example, in order to express “all humans are
mortal”, we need two predicates one of which is “. . . is a human” and the
other of which is “. . . is mortal”. And then, we somehow “bind” them with
the universal quantifier.
To translate the “all . . . are . . . ”-type of sentences into L2 , the fol-
lowing four forms (or templates) come in handy.
57
following sentences.
When you need more than one predicate to express a noun phrase, just
combine those predicates with ∧.
58
2.2.3.1 Problems
Translate the following into L2 -sentences.
As we’ve seen in the previous section, the noun phrase “prime num-
ber” can be expressed with the predicates P and N . And using one of the
four template, it’s translated as
∀x((P x ∧ N x) → Ox).
∀x((P x ∧ N x ∧ −T x) → Ox).
However, the above is not the only amendment to the false state-
ment. We can amend the statement by rewriting it as “Every prime number
is odd or 2”. In this case, we need to use compound phrases in the subject
59
and complement.
2.2.4.1 Problem
Show that ∀x((P x ∧ N x ∧ −T x) → Ox) and ∀x((P x ∧ N x) → (Ox ∨ T x))
are logically equivalent by transforming the one into the other using (α →
β) ≡ (−α ∨ β), −(α ∧ β) ≡ (−α ∨ −β), and −(α ∨ β) ≡ (−α ∧ −β).
2.2.5.1 If . . . , then . . . .
Basically, if you come across a sentence which has the if-then structure, you
simply translate it as a conditional. For example, the sentence “if Alma is
hungry, she eats something” is translated as (Ha → ∃xEax) (here, the name
a refers to Alma, and the two predicate Hx and Exy mean “x is hungry”
and “x eats y” respectively). However, in some cases, special care should be
taken. Let’s think about the following sentence.
60
it talks about a red apple in general is delicious. Thus, the proper translation
is
2.2.5.2 Only
There’s a handy template for translating sentences in which the word “only”
appears.
Thus, with this template, “only red apples are delicious” is trans-
lated as
2.2.5.3 Unless
The words “unless” is simply interpreted as “if not”. Thus, “Q unless P ” is
interpreted as “if not P , then Q”. For example, “An apple is not delicious
unless it’s red” is interpreted as “if it’s not red, an apple is not delicious”,
and then translated as ∀x(−Rx → −(Ax ∧ Dx)). And this suggests that
if an apple is delicious, it should be red; thus, we have another translation:
∀x((Ax ∧ Dx) → Rx).8
7
Why can’t we translate this as ∀x((Rx∧Ax) → Dx)? In order to answer this question,
first let’s think about a quantified conditional.
In general, in a quantified conditional ∀x(P x → Qx), the cases (or things) which is said
to be P are among the cases (or things) which are said to be Q; but the reverse doesn’t
generally hold. For example, in the conditional ∀x(Rx ∧ Ax) → Dx, red apples are among
things which are said to be delicious. However, what is delicious is not necessarily a red
apple. The conditional ∀x(Rx ∧ Ax) → Dx implies that there might be some other things
than red apples which are delicious.
On the other hand, the statement “only red apples are delicious” means that what are
delicious are red apples, and nothing else is delicious; what are delicious are among red
apples (however, there might be some red apples which are not delicious). Thus, the
statement is translated as ∀x(Dx → (Rx ∧ Ax)), not ∀x((Rx ∧ Ax) → Dx).
8
From this, you may notice that (P → Q) is equivalent to (−Q → −P ); the latter
(resp. the former) is called the contrapositive of the former (resp. the latter).
61
Furthermore, “unless” can be interpreted as “or”. The reason is as
follows. From the above remark, “Q unless P ” is translated as (−P → Q).
This conditional can be written as (−−P ∨ Q) (using (α → β) ≡ (−α ∨ β)).
Therefore, “Q unless P ” ≡ (−P → Q) ≡ (P ∨ Q) ≡ “P or Q”.
2.2.5.4 Any
The word “any” is perhaps the most troubling one to translate because it
sometimes means “some”, sometimes means “every”.
Unfortunately, there’s no etched-in-stone way to figure out in which
sense “any” is used. However, there are some rules of thumb.
62
least one” in L2 . Thus, “Alma eats an apple” is interpreted as “There’s at
least one apple which Alma eats”, and then translated as ∃x(Dax ∧ Ax).)
2.2.6 Problems
1. Translate the following sentences. In translating them, use the following
names and predicate: h: Holmes; m: Moriarty; Cxy: x can catch y.
63
Dodgson, aka Lewis Carroll, who is needless to say the author of Alice in
Wonderland, and incidentally taught logic at Oxford.)
2.3 Semantics of L2
In Section 1.2, we learned how to assign truth values to an L1 -sentence; the
truth values of an L1 -sentence is determined by those of sentence letters in
it. The truth-value assignments to an L2 -sentence is carried out in a similar
fashion as in the cases of L1 -sentences; the truth values of an L2 -sentence
is determined by its components. However, in the cases of L2 -sentences, we
have more components besides sentence letters as “building blocks” or “truth
makers” of L2 -sentences; predicates. And recall that a predicate is nothing
but a sentence; it has its own truth value which is determined by objects the
names in the predicate (remember: in general, an n-place predicate should
have n names) refer to. Schematically, this procedure is depicted as follows.
64
different names refer to the same object in the domain (see Section 2.1.1.1
for a bit more details). And a name has to refer to something in the domain;
namely, an empty name is not allowed (i.e., a name without reference). The
object assigned to a name is called an extension or valuation of that name
and denoted as Ext(a) or v(a); and we say “the name refers to the assigned
object”. Thus, the extensions (or valuations) for the names a, b, c may be
a : 1; b : 2; c : 3
(in this set-up, we say “a refers to 1, b to 2, and c to 3 respectively”)
or
a : 1; b : 1; c : 3
(a and b refer to the same object, namely 1)
or
a:1
(there’s no names for 2 and 3; yes, an object in the domain doesn’t
have to be named).
65
A sub-collection (which is usually called a subset) of the domain
the members of which have the property F is called the extension of F . For
example, if our domain is {1, 2, 3}, its subsets ∅ (or Λ; both are read as
“the empty set”), {1}, {2}, {3}, {1, 2}, {2, 3}, {1, 3}, and {1, 2, 3} (namely,
the domain itself) are all candidates for the extension of F and denoted as
Ext(F 1 ). (Note that in a set (or subset), the order doesn’t matter; {1, 2} is
the same as {2, 1}, {1, 2, 3} is the same as {2, 1, 3}, {3, 2, 1}, etc.)
For example, if the extension of F is {1, 3}, F a (here, we omit the
superscript 1) is going to be true when a refers to 1 or 3; otherwise (in this
case, when a refers to 2), it’s going to be false.
Note that the extension of a one-place predicate can be empty; for
example, if our domain is the set of people, and if the one-place predicate Rx
means “x is a reptile”, obviously there’s nothing in the extension of R. In
this case, we write the extension of R as ∅ and say “nothing in the domain
is a reptile”.9
66
The reason why the extension of a two-place predicate has to be a
set of ordered pairs, not just a subset of the domain, comes from the following
observation.
Let Lab (we omit the superscript 2 here) mean “a loves b”. if a and b
referred to 1 and 2 respectively, and if the extension of L were just comprised
of a subset {1, 2} of the domain, Lba as well as Lab would be true with this
extension because {1, 2} is the same {2, 1}. However, the sentence “a loves
b” (which is meant by Lab) is not the same “b loves a” (Lba). Therefore, we
have to differentiate these two sentences. For this reason, we need to use a
set of ordered pairs for the extension of a two-place predicate.
Now, let’s take a look at a simple example. If the extension of L
is {h1, 2i, h2, 1i}, Lab is going to be true when a refers to 1 and b to 2, or a
to 2 and 1; otherwise (for example, a refers to 1 but b to 3), it’s going to be
false. In either case, if Lab is true, a and b love with each other.
As in the case of a one-place predicate, the extension of a two-
predicate can be empty; for example, if the extension of L is empty, no one
loves anyone under such an interpretation.
2.3.3 Examples
Problems concerning the interpretation of L2 -sentences roughly fall into the
following two types.
67
I1 I2
Domain: {1, 2, 3} {1, 2, 3}
Extension of F 1 : {1} ∅
Extension of G1 : {2} {2}
Extension of L2 : {h1, 1i, h1, 2i} ∅
Extension of a: 1 1
Extension of b: 2 2
1. F a
This sentence is true under I1 because the reference of a, namely 1, is
in the extension of F . On the other hand, the sentence is false under
I2 because there’s nothing which is F in I2 .
2. (F a ∧ Gb)
The sentence is a conjunction. Therefore, in order for it to be true,
both conjuncts have to be true. Under I1 , the references of a and b
are 1 and 2 respectively, and 1 is in the extension of F and 2 in the
extension of G. Thus, since both conjuncts are actually true under I1 ,
the sentence is true under I1 . On the other hand, as we know from the
case of F a, nothing is F in I2 , and consequently, F a is false under I2 .
Thus, the sentence is false under I2 .
3. −F b
The sentence is a negation. Thus, in order for it to be true, F b has
to be false, which means that the reference of b shouldn’t be in the
extension of F . In I1 and I2 , the reference of b, namely 2, is not in the
extension of F . Therefore, the sentence is true under both I1 and I2 .
4. (F b → Gb)
The sentence is a conditional. Thus, in order for it to be true, at least
one of the following has to be the case: F b is false or Gb is true. In
68
I1 and I2 , F b is false (the reference of b is not in the extension of F ).
Therefore, the sentence is true under both interpretations.
5. Laa
The sentence is a two-place predicate. Thus, in order for it to be true,
the ordered pair which is comprised of the reference of a, namely h1, 1i
in both interpretations, has to be in the extension of L. That ordered
pair is in the extension of L under I1 but not in that of L under I2
(because the extension of L is empty in L2 ). Therefore, the sentence is
true under I1 whereas it’s false under I2
6. (Lba → Laa)
The sentence is a conditional with two two-place predicates. Thus,
in order for it to be true, at least one of the following has to be the
case: the ordered pair which is comprised of the references of b and a,
namely h2, 1im is not in the extension of L, or the ordered pair which is
comprised of the reference of a, namely h1, 1i, is in the extension of L.
In both interpretations, h2, 1i is not in the extension of L. Therefore,
the sentence is true under both I1 and I2 .
7. (Laa → Lba)
In order for the sentence to be true, at least one of the following has to
be the case: the ordered pair h1, 1i is not in the extension of L or the
ordered pair h2, 1i is in the extension of L. In I2 , h1, 1i is not in the
extension of L. Therefore, the sentence is true under I2 . On the other
hand, in I1 , h1, 1i is in the extension of L and h2, 1i is not. Therefore,
under I1 , the sentence is false.
8. ∃xF x
The sentence is an existential sentence. Thus, in order for it to be
true, there has to be at least one object in the extension of F . In I1 ,
there is one object in the extension of F , namely 1. Therefore, the
sentence is true under I1 . On the other hand, in I2 , there’s nothing in
the extension of F . Therefore, the sentence is false under I2 .
9. ∃x−F x
The sentence tells us that there has to be at least one object which is
not F . Thus, in order for it to be true, there has to be at least one
object which is not in the extension of F . In both interpretations, there
69
are object which are not in the extension of F (in I1 , they are 2 and 3;
in I2 , they are 1, 2, and 3). Therefore, the sentence is true under both
interpretations.
12. ∀xF x
In order for the sentence to be true, everything in the domain has to
be in the extension of F . In both interpretations, the extension of F
fails to contain all members of the domain. Therefore, the sentence is
false under both interpretations.
70
2.3.3.2 Constructing an Interpretation under Which a Given Sen-
tences Are True (or False)
This type of problems requires much more substantial work. In the previous
type of problems, all you have to do is to check whether a sentence is true
or false under a given interpretation; here, you need to construct your own
interpretation under which a given sentence is true (or false).
Let’s start with a very simple sentence: F a. In constructing an
interpretation, first you need to set up the domain. Here, for the sake of
simplicity, let our domain be {1, 2, 3} throughout this section. Once you
set up the domain, next you need to specify the extensions of predicates;
and as we have seen in the above, if a predicate in question has names,
we need to assign objects to them as well. In our case, there’s a name in
our sentence F a, namely a; thus, we need to first assign an object of the
domain to the name. Let’s assign 1 to the name a. Then, F a is going
to be true if 1 is in the extension of F (the instances of such extensions
are: {1}, {1, 2}, {1, 3}, {1, 2, 3}). On the other hand, if the extension of F
doesn’t contain 1, F a is going to be false (the instances of such extensions
are: ∅, {2}, {3}, {2, 3}).
Next, let’s think about a slightly more complicated example: ∀xF x.
This is, needless to say, a universal sentence which says “everything in the
domain is F ”. Thus, every members of the domain need to be in the extension
of F ; so, the extension should be {1, 2, 3}. On the other hand, the extension
of F doesn’t contain all of the domain, ∀xF x is going to be false.
How about (∀xF x → Lab)? Although there appears a universal
sentence, this is just a conditional. So, the easiest way to make the sentence
true would be to make its antecedent false or the consequent true. For the
antecedent to be false, the extension of F can be anything except the domain
itself. And for the consequent to be true, the extension of L should contain
the ordered pair of the objects which are referred to by the names a and b.
Let a and b refer to 1 and 2 respectively; thus, the extension of L should be
{h1, 2i}. On the other hand, to make the sentence false, we need to make the
antecedent true and the consequent false; thus, the extension of F should be
{1, 2, 3} and that of L shouldn’t contain the objects referred to by a and b.
Note that (∀xF x → Lab) is not equivalent to ∀x(F x → Lab). For
appreciating the difference between them (or more particularly, for finding
an interpretation on which one sentence is true but the other is false), let’s
construct interpretations for ∀x(F x → Lab). The sentence can be trans-
71
lated into the following quasi-English sentence: “For each x in the domain,
(F x → Lab) holds”. Thus, it can be transformed as the following conjunc-
tion: ((F a → Lab) ∧ (F b → Lab) ∧ (F c → Lab)) (here, a, b, c refer to 1, 2, 3
respectively). The easiest way to make all the conjuncts in this conjunc-
tion true would be, once again, to make all the antecedents in the conjuncts
(namely, F a, F b, and F c) false or to make all the consequents (namely, Lab)
true. And we know how to accomplish this; assigning the emptyset (∅) to
the extension of F or assigning {h1, 2i} to the extension of L.
On the other hand, to make ∀x(F x → Lab) false, it would suffice
to make at least one of the conjuncts in ((F a → Lab) ∧ (F b → Lab) ∧
(F c → Lab)) false. So, let’s make the first conjunct (F a → Lab) false. For
(F a → Lab) to be false, its antecedent F a has to be true, the consequent
Lab false; thus, the extension of F should contain 1 and the extension of L
shouldn’t contain the ordered pair h1, 2i. Thus, the assignments {1} for the
extension of F and ∅ for the extension of L make ∀x(F x → Lab) false but
the same assignments make (∀xF x → Lab) true.
There’s another approach to finding interpretations which make
∀x(F x → Lab) false. First, negate the sentence and transform it using
the following equivalences.
(α → β) ≡ (−α ∨ β)
−(α ∧ β) ≡ (−α ∨ −β)
−(α ∨ β) ≡ (−α ∧ −β)
−∀ ≡ ∃−
−∃ ≡ ∀−
72
Since there’s no x in −Lab, ∃x(F x∧−Lab) is equivalent to (∃xF x∧
−Lab). Thus, ∃x(F x ∧ −Lab) is going to be true as long as the extension of
F contains at least one object from the domain (for example, setting it up as
{1, 2, 3}, namely the domain itself) and the extension of L doesn’t contain
the ordered pair which is comprised of the objects referred to by a and b (for
example, setting it up as ∅). And then, this makes (∀x(F x → Lab)) false.
To round off this section, let’s construct two interpretations one of
which makes ∃(F x → Lab) true, the other false.
Just like a universal sentence can be thought of as a conjunction,
an existential sentence can be thought of as a disjunction; namely, with the
names a, b, c which refer to 1, 2, 3 respectively, ∃x(F x → Lab) can be written
as ((F a → Lab) ∨ (F b → Lab) ∨ (F c → Lab)). Thus, for ∃x(F x → Lab)
to be true, at least one of the disjuncts ((F a → Lab), (F a → Lab), and
(F a → Lab)) has to be true. To accomplish this, namely, to make one of
the disjuncts true, is easy; just make F a (or F b or F c) false, or make Lab
true. Thus, setting up the extension of F as empty or the extension of L as
{h1, 2i} would do.
On the other hand, to find an interpretation which makes the sen-
tence false is not that straightforward. Here, let’s negate and transform the
sentence first.
−∃x(F x → Lab)
≡ ∀x − (F x → Lab)
≡ ∀x − (−F x ∨ Lab)
≡ ∀x(− − F x ∧ −Lab)
≡ ∀x(F x ∧ −Lab)
Since there’s no x in −Lab, ∀x(F x∧−Lab) is equivalent to (∀xF x∧
−Lab). Thus, ∀x(F x ∧ −Lab) is going to be true as long as the extension of
F contains all the members of the domain (namely, setting it up as {1, 2, 3},
the domain itself) and the extension of L doesn’t contain the ordered pair
which is comprised of the objects referred to by a and b (for example, setting
it up as ∅). And then, this makes (∀x(F x → Lab)) false.
Sometimes it’s much easier to find an interpretation which makes
a sentence false in this way. So, if you’re not so sure about what extensions
would make a sentence false, it might be a good idea to first negate the sen-
tence in question and try to find an interpretation which makes the negated
sentence true.
73
2.4 Truth-Tree Method for L2
Since the language L2 is an extension of L1 , the truth-tree method for L2 is
also an extension of the truth-tree method for L1 ; we add a few new rules to
the ten rules we have studied in 1.9. Those new rules are all concerning the
quantifiers. First, let’s look at two rules called the negated quantifier rules.
∀x . . . x . . . X ∃x . . . x . . .
. . . name . . . . . . name . . .
In the above, the name with In the above, the name with
which you replace x has to be which you replace x has to be
one which has already appeared new to the path.
in the path unless there’s no
name in the path. Also note
that you must not put the check
mark even after you instanti-
ated a universal sentence be-
cause you may instantiate the
same universal sentence again.
74
Order of Application of the Rules
You may notice that the rule 1, namely the rule for closure, isn’t
included in the above. This omission means that you should apply the closure
rule whenever you can apply it.
The above order is not mandatory but if you follow this order, your
tree would be going to be shorter in most cases. (But of course there are
exceptions; namely, there are some cases where following the order makes
the tree longer and more complicated. We’ll see one of such instances in the
below.)
1. X (∃xF x ∨ −∃xF x)
For the left path of the tree, there’s nothing we can do further; the
left path will remains open no matter what happens to the right path. For
the right path, we can do nothing for closing the path; no matter how many
times we instantiate ∀x − F x, there’s no hope for closing the path. Thus,
both paths are open; the sentence is satisfiable.
How about the satisfiability of (∀xF x ∧ ∃x − F x)?
75
1. X (∀xF x ∧ ∃x − F x)
2. ∀xF x Rule 3 to Line 1
3. X ∃x − F x Rule 3 to Line 1
4. −F a EI with a new name a from Line 3
5. Fa UI with the name a from Line 2
×
The tree is closed; thus, the sentence is not satisfiable (i.e. it’s
unsatisfiable).
1. X − (∃xF x ∨ −∃xF x)
2. −∃xF x Rule 6 to Line 1
3. − − ∃xF x Rule 6 to Line 1
×
76
Let’s see whether this arguments is valid or not by writing a truth
tree. To test the validity of an argument, we start with writing down its
premise(s) and the negation of its conclusion.
1. ∀x(Hx → M x)
2. Hs
3. −M s
4. X (Hs → M s) UI with the name s from Line 1
∀xF x
(F a → ∃xGx)
(F b → ∃xHx)
(∃xGx ∧ ∃xHx)
1. ∀xF x
2. X (F a → ∃xGx)
3. (F b → ∃xHx)
4. −(∃xGx ∧ ∃xHx)
77
1. ∀xF x
2. X (F a → ∃xGx)
3. (F b → ∃xHx)
4. −(∃xGx ∧ ∃xHx)
1. ∀xF x
2. X (F a → ∃xGx)
3. (F b → ∃xHx)
4. −(∃xGx ∧ ∃xHx)
78
1. ∀xF x
2. X (F a → ∃xGx)
3. X (F b → ∃xHx)
4. X − (∃xGx ∧ ∃xHx)
All the paths are closed; thus, the argument is valid. (Note that
you don’t even have to instantiate ∃xGx and ∃xHx; these cause immediate
contradiction with the two sentences in Line 9.)
∀x−Gxx
(−∀xHx → ∃xGxa)
∃x(Hx ∧ −Gxx)
The tree is as follows.
79
1. ∀x−Gxx
2. X (−∀xHx → ∃xGxa)
3. X − ∃x(Hx ∧ −Gxx)
4. ∀x−(Hx ∧ −Gxx) NQ to Line 3
80
as a component of some sentences but not as a line by itself,
assign ∅ as their extensions.
In the above, the only atomic sentence which appears as a line by itself
in the open path is Gba; and the extension for G is {h2, 1i}. On the
other hand, the predicate H doesn’t appear as a line by itself; thus, the
extension for H is ∅.
Let’s see whether ∀x(Ax ∧ Bx) and (∀xAx ∧ ∀xBx) are equivalent
or not. We need to start our tree with −(∀x(Ax ∧ Bx) ↔ (∀xAx ∧ ∀xBx))
of course.
81
2. X − ∀x(Ax ∧ Bx) Rule 10 to Line 1
3. X (∀xAx ∧ ∀xBx) Rule 10 to Line 1
4. ∀xAx Rule 3 to Line 3
5. ∀xBx Rule 3 to Line 3
6. X ∃x−(Ax ∧ Bx) NQ to Line 2
7. X − (Aa ∧ Ba) EI with a from Line 6
Next, let’s see whether ∃x(Ax ∧ Bx) and (∃xAx ∧ ∃xBx) are equiv-
alent or not.
82
2. −∃x(Ax ∧ Bx) Rule 10 to Line 1
3. X (∃xAx ∧ ∃xBx) Rule 10 to Line 1
4. X ∃xAx Rule 3 to Line 3
5. X ∃xBx Rule 3 to Line 3
6. ∀x−(Ax ∧ Bx) NQ to Line 2
7. Aa EI with a from Line 4
8. Bb EI with b from Line 5
9. X − (Aa ∧ Ba) UI with a from Line 6
10. X − (Ab ∧ Bb) UI with b from Line 6
The tree remains open; ∃x(Ax ∧ Bx) and (∃xAx ∧ ∃xBx) are not
equivalent. And from the open path, we can construct an interpretation (a
counterexample) in which one of the sentences is true but the other is false
as follows (see the previous section for how to construct an interpretation
from an open path).
Domain = {1, 2}
Ext(a) = 1
Ext(b) = 2
Ext(A) = {1}
Ext(B) = {2}
83
2. If the initial list of the tree is satisfiable, there’s at least one open path
in the finished tree. (Soundness)
3. If there’s at least one open path in the finished tree, the initial list of
the tree is satisfiable. (Completeness)
2.4.6.1 Decidability
Decidability of the tree method is justified by the following properties of the
method.
2.4.6.2 Soundness
This is a direct result of the soundness property of our rules (for the soundness
property of the rules, see 1.9.1); if each sentence in the initial list of the tree is
true in an interpretation, each conclusion of a rule (in the case of a branching
84
rule, at least one of its conclusions) has to be true in that interpretation.
Consequently, there’s at least one path in which all the conclusions are true
in an interpretation. In such a path, there can’t be a contradiction; thus,
such a path remains open.
2.4.6.3 Completeness
This is a direct result of the completeness property of our rules (for the
completeness property of the rules, see 1.9.1); if there’s at least one open path
in the finished tree, there’s an interpretation which makes all the conclusions
in that path true. And by the completeness property of the rules, the truth
of the conclusions guarantees that of each sentence in the initial list.
2.4.6.4 Problem
An interpretation I of a sentence S of L2 is a model of S, if S is true in I. A
model is finite, if its domain is finite. Explain why every satisfiable sentence
of L2 has a finite model.
85
Chapter 3
Language L3
The syntactical and semantical aspects (i.e. its vocabulary, the formation
rules, and how we interpret its sentences) of L3 are just the same as those of
L2 . Only difference between L3 and L2 is that in L3 there are sentences with
multiple quantifiers with overlapping scope.
Here, the determiner “with overlapping scope” is important because
we’ve already encountered with sentences with multiple quantifiers without
overlapping scope. For example, take a look at the following sentence.
∀x∀yLxy
The first quantifier ∀x governs ∀yLxy and the second governs Lxy.
Here, there’s another quantifier in the scope of ∀x. In this sense, the scope
of ∀x and ∀y is said to be overlapping.
First, let’s take a look at how we translate (from/into) and interpret
L3 -sentences in the following sections.
86
3.1 Translation from/into L3-sentences
3.1.1 Translating L3 -Sentences
3.1.1.1 By Way of a Quasi-English Sentence
For a starter, let’s take a look at the following sentences with the predicate
Lxy which means “x loves y” with the domain = {people} .
1. ∀x∀yLxy
2. ∀x∃yLxy
3. ∃x∀yLxy
4. ∃x∃yLxy
∃x∃y: There is at least one x and there is at least one y such that . . . .
87
400 . Someone loves someone.
88
3.1.1.2 Translating an L3 -Sentence Step by Step
Let’s translate the following L3 -sentences step by step.
And this property ∀y(Lya → Lxy) is also the “all P are Q”-type, so it can
be translated as
All who love Alma is loved by x |= x loves all who love Alma.
In the above, x is nothing but “all who love Alma”. Thus, the final
translation is
There is at least one even prime number such that ∀y((P y ∧Lyx) →
Oy).
In the above, x is nothing but even prime number. Thus, what the
original L3 -sentence tells us is
89
All prime numbers larger than 2 is odd.
1. ∃x∀y(Lxy ∧ Lyy).
2. ∃x∀y(Lxy → Lyy).
3. ∃x∀y(Lyy → Lxy).
90
There is at least one x such that for each y, x loves y and y loves y.
On first sight, this translation also seems good. However, the trans-
lation claims that someone loves only self-lovers. This is not what the original
sentence says either.
Lastly, here comes the third sentence. The following is its quasi-
English translation.
Lesson to be learned
In “all/some x love all y who . . . ”, “. . . ” is the condition for y to be
loved by x. Thus, the sentence can be paraphrased as “all/some love all
y if y meets the condition . . . ”; and then, this paraphrase is translated as
∀/∃x(. . . → Lxy).
Of course, you can apply this scheme for other translations by replacing
L with another predicate.
91
3.1.2.2 Utilizing What We Have at Our Disposal
A slightly more complicated example: Everyone who loves everyone who
loves Alma loves Alma; let’s translate this by utilizing what we have at our
disposal.
First, note that the above sentence has the same form as “all P are
Q” (here, P is “loving everyone who loves Alma” and Q is “loving Alma”);
thus, we can somehow utilize the ∀x(P x → Qx) (see Section 2.2.2). More-
over, in translating “loves everyone who loves Alma”, we can utilize what we
studied in the previous section (loving Alma is a condition for “everyone” to
be loved). So, the translation is
∀x(Lxa → There’s someone who loves Alma and x loves that person)
And finally,
92
3.1.2.4 Introducing the Templates
As we’ve seen in the above, there are several ways to approach translation
problems. In what follows, I’ll give you some templates for L3 translation.
First, note that the above sentences have some additional descrip-
tions for those who love or/and for those who are loved. Let’s call an addi-
tional description for those who love Dx , that for those who are loved Dy .
Then, we have the following templates.
10 . All with the additional description Dx love all with the additional de-
scription Dy .
20 . All with the additional description Dx love some with the additional
description Dy .
30 . Some with the additional description Dx love all with the additional
description Dy .
0
4 . Some with the additional description Dx love some with the additional
description Dy .
In using these templates, first figure out which basic structure your
sentence has, and use the corresponding template. (If your sentence has
the basic structure “Some love all”, you need to use the template ∃x(Dx ∧
∀y(Dy → Lxy)).)
Now, in “all who love Alma love some who don’t love Alma”, Dx is
93
Lxa (with the name a referring Alma) and Dy is −Lya, and the basic struc-
ture of the sentence is “all love some”; thus, the translation of the sentence is:
a0 . ∀x(Lxa → ∀y(Lxy))
b0 . ∃x(∀y(−Lya → Lxy))
They look good but there are unnecessary brackets in ∀y(Lxy) (of
the former sentence) and (∀y(−Lya → Lxy)) (of the latter); so let’s add a
finishing touch by removing them.
Still, those templates look too complicated? Well, first of all, you
94
don’t have to memorize them; you just have to take a look at this document
when you need them. But you may want to memorize them for the exam
situations; if that’s the case, the following is a small tip.
3.1.3 Problems
1. Translate the following L3 -sentences into English sentences using the fol-
lowing keys: Ex: x is even; Exy: x times y is even; Ox: x is odd; Oxy: x
times y is odd; Sxy: x plus y is even; P x: x is prime; Lxy: x is larger than y.
1. ∀x(Ex → ∀yExy)
2. ∀x∀y((Ox ∧ Oy) → Oxy)
3. ∀x∀y(Sxy → ((Ex ∧ Ey) ∨ (Ox ∧ Oy)))
4. ∀x((P x ∧ ∃y(P y ∧ Lxy)) → Ox)
5. −∃x(P y ∧ ∀y(P x → Lyx))
3. Translate the following English sentences into L3 -sentences using the fol-
lowing keys: z: 0; Gxy: x > y; Lxy: y > x; Exy: x = y.
1. For every number there is a greater number.
2. Every number other than 0 is greater than some number.
3. 0 is the one and only number having the property that no number is
less than it.
95
4. Using Lxy in the above question, express = and 6=. (Of course, you cannot
use Exy here.)
∀x∃y−Lxy
Domain = {1, 2, 3}
v(L) = {h1, 1i, h2, 1i, h2, 2i, h3, 3i}
Before you start deciding its truth value, you should try to figure
out what the sentence means. In this case, the meaning of the sentence is
easy to figure out: For each person, there’s at least one person s/he doesn’t
love. According to the above interpretation, the person 1 doesn’t love 2 and
3, 2 doesn’t love 3, and 3 doesn’t love 1 and 2. Thus, in the above interpre-
tation, ∀x∃y−Lxy is going to be true.
96
∃x∀y(Lxy → Lyx)
Domain = {1, 2, 3}
v(L) = {h1, 1i, h2, 1i, h3, 1i, h3, 2i}
The meaning of the above sentence is: There’s someone whose love
is always reciprocated. The meaning doesn’t ring a bell? Then, try the
following method.
First, recall that an existential sentence can be thought of as a dis-
junction. Thus, the sentence can be transformed into
∃x∀y(Rxy ↔ x = y)
Domain = {1, 2}
v(R) = {h1, 2i}
The meaning of the sentence is unclear. (We don’t even know what
R means!) Still, if you can figure out its truth value without further ado,
that’s terrific; skip to the next section. But if you can’t, first transform it
into a disjunction.
If you’re still not so sure, keep transforming it; turn the universal
sentences into conjunctions.
(((R 1 1 ↔ 1 = 1 ) ∧ (R 1 2 ↔ 1 = 2 ))∨
∀y((R 2 1 ↔ 2 = 1 ) ∧ (R 2 2 ↔ 2 = 2 )))
Then, assign a truth value to each R-sentence; since the only mem-
ber in the extension of R is h1, 2i, all R-sentences except R 1 2 are false.
97
(((R 1 1 ↔ 1 = 1 ) ∧ (R 1 2 ↔ 1 = 2 ))∨
| {z } | {z }
F T
∀y((R 2 1 ↔ 2 = 1 ) ∧ (R 2 2 ↔ 2 = 2 )))
| {z } | {z }
F F
(((R 1 1 ↔ 1 = 1 ) ∧ (R 1 2 ↔ 1 = 2 ))∨
| {z } | {z } | {z } | {z }
F T T F
∀y((R 2 1 ↔ 2 = 1 ) ∧ (R 2 2 ↔ 2 = 2 )))
| {z } | {z } | {z } | {z }
F F F T
(((R 1 1 ↔ 1 = 1 ) ∧ (R 1 2 ↔ 1 = 2 ))∨
| {z } | {z } | {z } | {z }
F T T F
| {z } | {z }
F F
∀y((R 2 1 ↔ 2 = 1 ) ∧ (R 2 2 ↔ 2 = 2 )))
| {z } | {z } | {z } | {z }
F F F T
| {z } | {z }
T F
At this point, the truth value of the above sentence should be clear.
98
How about an interpretation which makes the sentence false? Let’s
follow the way described in Section 2.3.3.2.
First, let’s negate the sentence and transform it.
Domain = {1, 2, 3}
v(L) = {h1, 1i, h2, 2i, h3, 3i}.
What if you can’t figure out the meaning of sentences easily? For
example, the meanings of ∃x(Lxa → F a) and (∃xLxa → F a) are bit hard
99
to figure out. Then, write a truth tree for them as follows.
Domain = {1, 2, 3}
v(a) = 1
v(b) = 2
v(c) = 3
v(L) = {h3, 1i}
v(F ) = ∅
(Note that if we start with the initial list {−∃x(Lxa → F a), (∃xLxa → F a)},
the tree is closed. So, if you tried this method and ended up with the closed
tree, don’t be discouraged; just start over by negating the other sentence.)
3.2.4 Problems
1.
Determine the truth values of the following sentences under the given inter-
pretations.
1. ∃x∀y−Lxy
Domain = {1, 2, 3}
v(L) = {h2, 1i, h2, 2i, h3, 2i, h3, 3i}
100
2. ∀x∃y(Lxy → Lyx)
Domain = {1, 2, 3}
v(L) = {h1, 1i, h1, 2i, h2, 1i, h3, 3i}
3. ∃x∀y(Lxy → Lyx)
Domain = {1, 2, 3}
v(L) = {h1, 2i, h2, 3i, h3, 1i}
4. ∃x∀y(Rxy ↔ x = y)
Domain = {1, 2}
v(R) = {h2, 2i}
2.
For each of the following sentences specify an interpretation in which it is true
and another interpretation in which it is false. You can set up the domain
for each case freely.
In constructing an interpretation, try not to use the empty set or
the domain itself unless doing so is absolutely necessary.
1. ∀x∀y(Lxy → −Lyx)
2. −∃x∀y(Lxy ∧ Lyx)
3. ∀x(∀y(Kay → Kxy) → Kxa) (a is a name)
4. −∃x(Lax ∧ ∀y(Kay → Kxy)) (a is a name)
5. ∀x∀y∀z((Rxy ∧ Ryz) → Rxz)
3.
For each of the following pairs of sentences, construct an interpretation which
makes one sentence true but the other false.
101
3.3.1 Testing the satisfiability of a sentence
Let’s test the satisfiability of (∃x∀x(Dx → Hxz) → ∀x(Dx → ∃zHxz)). To
test the satisfiability of a sentence, we write a truth tree for the sentence
itself. If there is at least one finished open path, the sentence is satisfiable.
Domain = {1, 2}
Extension of a: 1
Extension of b: 2
Extension of D: {2}
Extension of H: ∅
102
3.3.2 Testing the Validity of a Sentence
Now we know that (∃x∀x(Dx → Hxz) → ∀x(Dx → ∃zHxz)) is satisfiable.
Is it valid? To test the validity of a sentence, we need to write a truth tree
for the negation of the sentence. If the tree is closed, the sentence is valid.
103
1. X (∀x∃y(F x → Gy) ↔ (∃xF x ∧ ∀y−Gy))
9. −F a Gb Rule 7 to Line 8
10. × −Gb Rule 11 to Line 5
×
The left path is closed. Now let’s move on to the right path.
104
Do you want to know when the sentence is going to be false? If so,
write a truth tree for the negation of the sentence.
8. −F a Gb Rule 7 to Line 7
9. −F a Rule 11 to Line 5
Domain = {1, 2}
Extension of a: 1
Extension of b: 2
Extension of F : ∅
Extension of G: ∅
(The above tree also tells us that ∀x∃y(F x → Gy) and (∃xF x ∧
∀y−Gy) are not logically equivalent.)
105
3.3.4 Testing the Validity of an Argument
Now let’s test the validity of the following argument.
∀x(∃yLxy → ∀zLzx)
∃x∃yLxy
∀x∀yLxy
To test the validity of an argument, we write a tree for the premises
themselves and the negation of the conclusion.
1. ∀x(∃yLxy → ∀zLzx)
2. X ∃x∃yLxy
3. X − ∀x∀yLxy
4. X ∃x − ∀yLxy Rule 13 to Line 3
5. X − ∀yLay Rule 12 to Line 4
6. X ∃y−Lay Rule 13 to Line 5
7. −Lab Rule 12 to Line 6
8. X ∃yLcy Rule 12 to Line 2
9. Lcd Rule 12 to Line 8
10. X (∃yLby → ∀zLzb) Rule 11 to Line 1
106
1. X − (∀x(F x → ∃yGya) ↔ (∃xF x → ∃yGya))
107
Chapter 4
Further Extension of L3
We’re gonna add a finishing touch to our subject by introducing two more
concepts: identity and function. This addition makes our language L3 what
is usually called first-order logic.
4.1 Identity
Identity is just a predicate; as such, it takes names and gives us back a
sentence. And its meaning is what you exactly expect: Something is identical
to something. For this sole purpose, we introduce a new symbol =. Different
from other predicates we’ve encountered so far, we adopt conventional infix
notation; namely, a = b means that a is identical to b.
As a starter, let’s take a look at the following simple argument.
a=b
b=c
a=c
The argument claims that if a is identical to b and b is identical to
c, then a is identical to c; in short, the identity relation is transitive. The
truth of it seems pretty obvious but we logicians never trust any claim unless
there’s a proof of it. So let’s prove it. The following are the truth-tree rules
for identity.
108
15. a 6= a 16. a=b 17. a=b
× ...a... ...b...
...b... ...a...
Note that we don’t check off the identity sentence a = b in Rules 16 and
17; we can apply Rules 16 and 17 as many times as we want.
1. a=b
2. b=c
3. a 6= c
4. a=c Rule 17 to Lines 1 and 2
×
109
1. X − ∀x∀y∀z((x = y ∧ y = z) → x = z)
2. X ∃x∃y∃z−((x = y ∧ y = z) → x = z) 3 NQs to Line 1
3. X − ((a = b ∧ b = c) → a = c) 3 EIs to Line 2
4. X (a = b ∧ b = c) Rule 8 to Line 3
5. a 6= c Rule 8 to Line 3
6. a=b Rule 3 to Line 4
7. b=c Rule 3 to Line 4
8. a=c Rule 17 to Lines 6 and 7
×
The tree is closed; thus, transitivity does actually hold for the iden-
tity relation between any three members.
Now let’s figure out whether the negated version of the above claim
holds. The sentence the validity of which we’re gonna test is this: ∀x∀y∀z((x 6=
y ∧ y 6= z) → x 6= z).
1. X − ∀x∀y∀z((x 6= y ∧ y 6= z) → x 6= z)
2. X ∃x∃y∃z−((x 6= y ∧ y 6= z) → x 6= z) 3 NQs to Line 1
3. X − ((a 6= b ∧ b 6= c) → a 6= c) 3 EIs to Line 2
4. (a 6= b ∧ b 6= c) Rule 8 to Line 3
5. X − a 6= c Rule 8 to Line 3
6. a=c Rule 2 to Line 5
7. a 6= b Rule 3 to Line 4
8. b 6= c Rule 3 to Line 4
9. c 6= b Rule 16 to Lines 6 and 7
10. b 6= a Rule 17 to Lines 6 and 8
110
=. (If you’re a perfectionist, of course you can write down the extension; in
our case, it should be {h1, 1i, h2, 2i, h3, 3i}.) Thus, one of the interpretations
which makes the sentence false is:
Domain : {1, 2, 3}
Extension of a : 1
Extension of b : 2
Extension of c : 1.
∀x∀y(F xy ∨ F yx)
a=b
∀x(F xa ∨ F bx)
For the validity checking, our tree of course starts with the premises
themselves and the negation of the conclusion.
1. ∀x∀y(F xy ∨ F yx)
2. a=b
3. X − ∀x(F xa ∨ F bx)
4. X ∃x−(F xa ∨ F bx) NQ to Line 3
5. X − (F ca ∨ F bc) EI to Line 4
6. −F ca Rule 6 to Line 5
7. −F bc Rule 6 to Line 5
8. ∀y(F by ∨ F yb) UI to Line 1
9. X (F bc ∨ F cb) UI to Line 9
111
Next, the following argument.
∃xF xa
∀x(x = a → x = b)
∃xF xx
1. X ∃xF xa
2. ∀x(x = a → x = b)
3. X − ∃xF xx
4. ∀x − F xx NQ to Line 3
5. F ca EI to Line 1
6. X (a = a → a = b) UI to Line 2
7. X (b = a → b = b) UI to Line 2
8. X (c = a → c = b) UI to Line 2
The tree is finished (we instantiated all universal sentences with all
names); still, the second path from the left remains open (in order to bring
about a contradiction, we need −F ca but it’s impossible because a line of
the path clearly states that c is not equal to a (Line 11)).
We have two names in the path but two of them (a and b) are iden-
tical; thus, we can set up the domain and the extensions of the names as
Domain = {1, 2}
v(a) = 1
v(b) = 1
112
v(c) = 2
v(F ) = {2, 1}
4.1.1 Problems
Determine whether each of the following sentences is valid, unsatisfiable, or
neither of them by writing a truth tree. If the sentence is valid or unsatisfi-
able, construct an interpretation from your open path which makes it true or
false. If it’s neither of them, provide two interpretation one of which makes
it true and the other false.
4.2.1 At Least
At least one
As we know (and actually you should know), we can express the “at least
one” type of expressions without the help of the identity predicate. For ex-
ample, “there’s at least one P ” can be expressed as follows.
∃xP x.
113
We can also express the same sentence with the help of =.
∃x∀y(x = y → P y).
At least two
Then, how about the “at least two” expressions? The first thought might be
that it’s enough to concatenate two existential sentences, namely, (∃xP x ∧
∃yP y) for “there are at least two P s”. However, (∃xP x ∧ ∃yP y) is going to
be true even when the extension of P contains just one member. We need
something more.
Although it’s not quite right, the basic idea above is on the right
track; we need two existential sentences to express the “at least two” sen-
tences. What we need further is to make sure that the references of these
existential sentences don’t refer to the same object. Thus, the right way to
express “there are at least two P s” is
∃x∃y(P x ∧ P y ∧ x 6= y).
At least three
We can express the “at least three” sentences in a very similar manner as
114
above; we need three existential sentences and make sure that the references
of these existential sentences don’t refer to the same thing. Thus, “there are
at least three P s” can be expressed as
∃x∃y∃z(P x ∧ P y ∧ P z ∧ x 6= y ∧ y 6= z ∧ z 6= x).
4.2.2 At Most
At most one
The phrase “there is at most one . . . ” can be paraphrased as “it’s not the
case that there are at least two . . . ”. And we know that how to express “at
least two” (and of course we also know how to express “it’s not the case that
. . . ”). Thus, “there is at most one P ” can be expressed as
−∃x∃y(P x ∧ P y ∧ x 6= y).
∃x∀y(P y → y = x).
At most two
In a similar fashion as above, the phrase “there are at most two . . . ” can be
paraphrased as “it’s not the case that there are at least three . . . ”. Thus,
“there are at most two P s” can be expressed as
−∃x∃y∃z(P x ∧ P y ∧ P z ∧ x 6= y ∧ y 6= z ∧ z 6= x).
115
∀x∀y∀z((P x ∧ P y ∧ P z) → (x = y ∨ y = z ∨ z = x)). (Verify this.)
At most three
Let’s express a “there are at most three . . . ” sentence directly in the universal
sentential form.
From the above examples, we know that in order to express the
“there are at most n . . . ” sentences we need n + 1 universal quantifiers and
have to make sure that at least one pair of variables (instantiations of vari-
ables, to be exact) refers to the same object. Thus, “there are at most three
P s” can be expressed as
∀w∀x∀y∀z((P w ∧ P x ∧ P y ∧ P z) → (w = x ∨ w = y ∨ w = z ∨ x =
y ∨ x = z ∨ y = z)).
4.2.3 Exactly
The “exactly n” type of sentences can be expressed with the combination of
the “at least n” and “at most n” types of expressions. Once you understand
how to express the “at least” and “at most” sentences, it should be easy to
express the “exactly” sentences.
Exactly one
The “exactly one” sentences are expressed with the combination of the “at
least one” and “at most one” sentences. Thus, “there’s exactly one P ” can
be expressed as
116
Furthermore, we also know that the second conjunct can be abbre-
viated as ∃x∀y(P y → y = x); thus, the sentence can be abbreviated as
In the above, we can factor out ∃x∀y in front of the sentence. Thus,
we get
∃x∀y((y = x → P y) ∧ (P y → y = x)).
∃x∀y(P y ↔ y = x).
Exactly two
In a very similar manner as in the above, we can formalize the expression
“exactly two” as follows.
4.2.3.1 Problem
By writing truth trees, show that the following sentences are all equivalent.
1. ∃x∀y(F y ↔ y = x)
2. ∃x(F x ∧ ∀y(F y → y = x))
3. (∃xF x ∧ ∀y∀z((F y ∧ F z) → y = z))
117
4.2.4 Definite Description
When it’s used with a singular noun, the definite article “the” refers to ex-
actly one object. Thus, a sentence where the word “the” appears can be
expressed with the “exactly one” expressions explained above. For example,
“the even prime‘is a number” can be expressed as
∃x(∀y((Ey ∧ P y) ↔ y = x) ∧ N x).
118
We can summarize how to express a definite description as the fol-
lowing rule.
Russell’s Rule
. . . the P . . . ⇒ ∃x(∀y(P y ↔ y = x) ∧ . . . x . . .)
4.2.5 Summary
To recap:
4.2.6 Examples
Basically, for translating sentences with numerical expressions, all you have
to do is to take care of translating P in the above summary. However, in
some cases, you need some strategies. Let’s study some of them by translat-
ing some sentences.
119
Alma loves at least two persons.
Translation: ∃x∃y(Lax ∧ Lay ∧ x 6= y)
There should be no problem in translating this; just put Lax and Lay in the
places of P x and P y.
There are at most two persons who know someone who doesn’t
love Alma.
Translation: ∀x∀y∀z(∃w(−Lwa∧Kxw ∧Kyw ∧Kyz) → (x = y ∨y = z ∨z =
x))
This is an “at most” sentence; so we know that we need three variables for
denoting persons in question. Let these variables be x, y, z. And for these
x, y, z, it is said that they know someone who doesn’t love Alma. Thus, uti-
lizing one of the templates, the situation can be expressed as ∃w(−Lwa ∧
Lxw ∧ Lyw ∧ Lzw); and this is your P .
Exactly two persons know someone who knows everyone who loves
Alma.
120
Translation: ∃x∃y(∃z(∀v(Lva → Kzv)∧Kxz∧Kyz)∧x 6= y∧∀w(∃z(∀v(Lva →
Kzv) ∧ Kwz) → (w = x ∨ w = y))); or ∃x∃y(x 6= y ∧ ∀z(∃v(∀w(Lwa →
Kvw) ∧ Kzv) ↔ (z = x ∨ z = y)))
Essentially, if you can translate the “someone who knows everyone who loves
Alma” part, the rest is just a tedious taking-care of the variables. If we forget
about the variable-conflict for now, the “someone who” part is translated as
∃x∀y(Lya → Kxy); and exactly two persons know this guy x. Thus, the
above translation.
You think these are too tough? Even if so, don’t be discouraged.
What you’ll come across in the real life (I mean, in the exams or assignments)
are much easier than these.
4.2.7 Problems
Translate the following.
4.3 Functions
4.3.1 Basics
In our formal logic, a function receives a name (or names) as its input(s)
and returns one and only one name as its output. We call its input(s) an
argument (or arguments) and an output the value.
There’s also another condition which a function has to meet: For
each object of the domain, there has to be the value. Thus, the following
extension of a function f is not legitimate.
Domain : {1, 2}
Extension of f : {h1, 1i, h1, 2i}
121
The reason why the above is not legitimate is:
In one sentence: For each object of the domain, a function has to return
exactly one value.
10 . ∃x∀y(F ya ↔ y = x)
20 . ∃x(∀y(F ya ↔ y = x) ∧ Oxa)
30 . ∀x(P x → ∃y(∀z(F zx ↔ z = y) ∧ Oyx))
122
With a function, we can translate these sentences more succinctly.
(Here, we use the function f (x) for “the father of x”.)
If a term doesn’t contain any variable, it’s called closed ; if it does, it’s
called open. For example, a, b, f (a), g(a, b) are all closed terms whereas
x, y, f (x), g(x, b), and g(x, y) are all open.
Modified UI
If you have ∀x . . . x . . ., you can replace x in it with any combination of
names and function symbols which are already in the path where the
universal sentence you’re going to instantiate appears.
123
path where the universal sentence we’re gonna instantiate appears; then, we
can instantiate the universal sentence not only with f (a) or g(b, c) but also
with any combination of a, b, c, f , and g like f (c), g(a, b), or f (g(c, f (b))).
(However, you seldom want to instantiate a universal sentence with such a
free combination; in most cases, simple forms like f (a) or g(b, c) would do.)
124
10. X − (f (a) = f (a) ∧ ∀z(z = f (a) → z = f (a))) UI to Line 3
All the paths are closed; thus, the sentence is valid. (By the way,
this sentence is nothing but the condition a function has to meet.)
The last example: Suppose we’re given the following pair of sen-
tences: −∀x x = f (x) and a 6= f (a). Now let’s find one interpretation which
makes one of the sentences true but the other false. In finding such an inter-
pretation, you can write a truth tree whose initial list is comprised of one of
the sentences and the negation of the other. (See ??.)
125
1. X − ∀x x = f (x)
2. X − a 6= f (a)
3. a = f (a) Rule 2 to Line 2
4. X ∃x x 6= f (x) NQ to Line 1
5. b 6= f (b) EI to Line 4
Ext(a): 1
Ext(b): 2
These numbers which you just assigned to the names will be the objects of
our domain.
Now, we have to set up the extension for the function f . First,
recall that your function has to be total ; meaning, to each name there has
to be a value of f . Thus, the extension has to look like this.
And according to the sentences in the tree, the value for 1 is 1 itself,
and the value for 2 is not 2. Since our domain has only two objects, there is
only one option for the value for 2: 1. Thus, the extension of f is:
Taken the above together, the interpretation which makes one sen-
tence true and the other false is:
Domain: {1, 2}
Ext(a): 1
Ext(b): 2
Ext(f ): {h1, 1i, h2, 1i}.
126
Solutions
2. S1 S2
D E H −D −H (D ∧ E) (−H ∨ S1 ) (−D ∧ S2 )
T T T F F T T F
T T F F T T T F
T F T F F F F F
T F F F T F T F
F T T T F F F F
F T F T T F T T
F E T T F F F F
F E F T T F T T
127
3. S1 S2 S3 S4
A B D −A −B −D (−A ∧ B) (−D ∨ −B) (D ↔ S1 ) −S3 (S4 ∨ S2 )
T T T F F F F F F T T
T T F F F T F T T F T
T F T F T F F T F T T
T F F F T T F T T F T
F T T T F F T F T F F
F T F T F T T T F T T
F F T T T F F T F T T
F F F T T T F T T F T
4. S1 S2 S3 S4
E F J −E −F −J (E ∨ F ) (−E ∧ −F ) (S1 ∧ S2 ) (J ∧ S3 ) (S4 → −J)
T T T F F F T F F F T
T T F F F T T F F F T
T F T F T F T F F F T
T F F F T T T F F F T
F T T T F F T F F F T
F T F T F T T F F F T
F F T T T F F T F F T
F F F T T T F T F F T
5. S1 S2 S3 S4 S5 S6
A B C −A (B ∧ C) (A ↔ S1 ) −S2 (B ↔ S3 ) −S4 (−A ↔ S5 ) −S6
T T T F T T F F T F T
T T F F F F T T F T F
T F T F F F T F T F T
T F F F F F T F T F T
F T T T T F T T F F T
F T F T F T F F T T F
F F T T F T F T F F T
F F F T F T F T F F T
128
3. Invalid/Unsatisfiable.
4. Valid/Satisfiable.
5. Valid/Satisfiable.
129
2.
1. Implication holds.
2. Implication fails. (Counterexample: A=T, B=F, C=T)
3. Implication holds.
4. Implication holds.
2.
1. Correct.
2. Incorrect.
3. Incorrect.
4. Correct.
5. Incorrect.
1. Suppose that the argument is not valid; thus, (α ∨ β) and −α are true,
but β is false. Since (α ∨ β) is true and β is false, α has to be true.
However, if so, −α is going to be false. Contradiction. The argument
is valid.
3. Suppose that the argument is not valid; thus, (α → γ), (β → γ), (α∨β)
are all true, but γ is false. Since (α → γ), (β → β) are both true and γ
is false, both α and β have to be false. However, if so, (α ∨ β) is going
130
to be false. Contradiction. The argument is valid.
2.
1. Invalid. (Counterexample: A=T, B=T, C=T/F)
2. Valid.
3. Invalid. (Counterexample: B=T, C=F, D=F)
4. Valid.
5. Invalid. (Counterexample: A=F, B=F, C=F)
2.
1. −α : (α ↓ α)
2. (α ∧ β) : ((α ↓ α) ↓ (β ↓ β))
3. (α ∨ β) : ((α ↓ β) ↓ (α ↓ β))
4. (α → β) : (((α ↓ α) ↓ β) ↓ ((α ↓ α) ↓ β))
5. ((α | β) : (((α ↓ α) ↓ (β ↓ β)) ↓ ((α ↓ α) ↓ (β ↓ β)))
3.
1. (α ∨ β) : −(−α ∧ −β)
131
2. (α → β) : −(α ∧ −β)
3. (α | β) : −(α ∧ β)
4. (α ↓ β) : (−α ∧ −β)
4.
1. (α ∧ β) : −(−α ∨ −β)
2. (α → β) : (−α ∨ β)
3. (α | β) : (−α ∨ −β)
4. (α ↓ β) : −(α ∨ β)
5.
1. (α ∧ β) : −(α → −β)
2. (α ∨ β) : (−α → β)
3. (α | β) : (α → −β)
4. (α ↓ β) : −(−α → β)
−J (K → J)
This tree is clearly open (you don’t have to decompose the right-side
path because the left-side path is open no matter what happens to the right-
side path. See Rule of Thumb 3); thus, the sentence is satisfiable. However,
we still need to decide whether it is valid or not.
X − (J → (K → J))
J
X − (K → J)
K
−J
×
132
2.
X − (E ↔ H) X (−E → −H)
E −E −−E −H
−H H
E −E
H −H
× ×
3.
133
X ((((C → D) ∧ (D → E)) ∧ C) ∧ −E)
X (((C → D) ∧ (D → E)) ∧ C)
−E
X ((C → D) ∧ (D → E))
C
X (C → D)
X (D → E)
−C D
×
−D E
× ×
4.
X − (A ∨ B) −(B ∨ B)
−A
B
The left-most path remains open no matter what happens to other
paths; thus, the sentence is satisfiable.
Now for the test for its validity.
134
−−(((A ∨ B) ∧ (B ∨ B)) ∧ (−A ∧ −B))
X (((A ∨ B) ∧ (B ∨ B)) ∧ (−A ∧ −B))
X ((A ∨ B) ∧ (B ∨ B))
X (−A ∧ −B)
X (A ∨ B)
(B ∨ B)
−A
−B
A B
× ×
5.
−B ((B ∨ D) → D)
B D
× ×
135
Solutions for Problems 1.9.4.1
1.
X (B ∨ (A ∧ −C))
X ((C → A) ↔ B)
X (−B ∨ A)
X − −(A ∨ C)
X (A ∨ C)
X (C → A) X − (C → A)
B −B
C
B X (A ∧ −C) −A
−B A B X (A ∧ −C)
× × A
−C
A C
×
−C A −C A
× A
−C
−B A
×
A C
×
136
2.
X − (Y ↔ A)
−Y
−A
−(W ∧ −W )
Y −Y
−A A
× ×
3.
X (B ∨ B)
X ((−B → (−D ∨ −C)) ∧ ((−D ∨ C) ∨ (B ∨ C)))
−C
X (−B → (−D ∨ −C))
X ((−D ∨ C) ∨ (B ∨ C))
X (−D ∨ C) X (B ∨ C)
−D C B C
× ×
X − −B X (−D ∨ −C) X − −B X (−D ∨ −C)
−D −C −D −C
B B B B B B B B
B B
B B B B
The tree is open; the argument is invalid. A counterexample is given
when B is true and C and D are both false.
137
4.
X (((J ∧ T ) ∧ Y ) ∨ (−J → −Y ))
X (J → T )
X (T → Y )
X − (Y ↔ T )
Y −Y
−T T
−J T −J T
×
−T Y −T Y −T Y
× × × ×
X ((J ∧ T ) ∧ Y ) X (−J → −Y ) X ((J ∧ T ) ∧ Y ) (−J → −Y )
−−J −Y −−J −Y
J × J ×
× ×
X (J ∧ T ) X (J ∧ T )
J J
T T
Y XY
×
138
5.
X ((A ∧ (B ∨ C)) ↔ (A ∨ B))
X (B → −B)
X − (C ∨ A)
−C
−A
X (A ∧ (B ∨ C)) X − (A ∧ (B ∨ C))
(A ∨ B) X − (A ∨ B)
A −A
(B ∨ C) −B
×
−A X − (B ∨ C)
−B −B
−B
−C
−B −B
The tree is open; the argument is invalid. A counterexample is given
when A, B, C are all false.
139
2.
A
X (B ∨ C)
−B
B C
×
3.
X (K ∨ J)
X − (K ∨ J)
−K
−K
−J
K J
× ×
4.
140
(W ∨ J)
X ((W → Z) ∨ (J → Z))
−Z
X − −(W ∧ J)
X (W ∧ J)
W
J
X (W → Z) X (J → Z)
−W Z −J Z
× × × ×
(A → (B → A)) X − (A → (B → A))
X − ((C ∧ −C) ∨ (A → A)) ((C ∧ −C) ∨ (A → A))
−(C ∧ −C) A
−(A → A) X − (B → A)
A B
−A −A
× ×
141
2.
X (C ∧ (B ∨ A)) X − (C ∧ (B ∨ A))
X − ((C ∧ B) ∨ A) X ((C ∧ B) ∨ A)
C
X (B ∨ A) −C X − (B ∨ A)
X − (C ∧ B)
−A
X (C ∧ B) A
C
B A B
× ×
−C −B
× ×
−B
−A
(C ∧ B) A
C ×
B
×
142
3.
X − ((−(D ∨ B) → (C → B)) ↔ (C → (D ∧ B)))
−C B −C X (D ∧ B)
X (D ∨ B) × D
B
−D
D B −B
×
−D −B −D −B
× ×
4.
−((A → (B → (A → B))) ↔ (B → (A → (B → A))))
(A → (B → (A → B))) X − (A → (B → (A → B)))
X − (B → (A → (B → A))) (B → (A → (B → A)))
B A
X − (A → (B → A)) X − (B → (A → B))
A B
X − (B → A) X − (A → B)
B A
−A −B
× ×
143
5.
−−F
F
−F −G
× −H −F
H −H
−F
G −H −−F
−−F × F
F ×
×
144
Solution for Problem 2.2.4.1
In order to show that two sentences are logically equivalent, you need to show
that these sentences are mutually implies; namely, given α and β, you need
to show α |= β and β |= α.
145
Annotations:
(1) The starting sentence.
(2) Changed a disjunction to a conditional.
(3) Applied the De Morgan.
(4) Moved T x inside the first pair of the brackets.
(5) Added the double negations to T x.
(6) Applied the De Morgan.
(7) Changed a disjunction to a conditional.
2.
∀x(Ex → Cx)
∀x(Lx → N x)
∀x(Dx → Ax)
∀x(−M x → −Bx)
∀x(Cx → Kx)
∀x(−Ex → −Rx)
∀x(Hx → −N x)
∀x(−Bx → −Kx)
∀x(−Rx → Dx)
∀x(M x → Lx)
∀x(Hx → Ax)
146
1. A tree stops after a finite number of the applications of the rules (de-
cidability); thus, the number of the sentences in the tree has to be
finite.
2. If the initial list is satisfiable, there has to be at least one open path in
the finished tree (soundness).
First, briefly explain the above points, and then, explain how the
claim follows from them.
2.
1. ∀x(Lxa → Lax)
2. ∀x(Kxa → Lxa)
3. ∃x∀y(Lyy → Kxy)
4. ∀x(Lxa → ∀y(−Lya → Kxy))
5. ∀x(∃yLxy → ∃z(∃wLzw ∧ Lxz))
6. ∀x(∀y(Lya → Lxy) → Kxa)
3.
1. ∀x∃yLxy
2. ∀x(−Exz → ∃yGxy)
3. (−∃yLyz ∧ ∀x(−∃yLyx → Exz))
Or ∀x(−∃yLyx ↔ Exz)
147
4.
1. =: (−Lxy ∧ −Lyx)
2. 6=: (Lxy ∨ Lyx)
2. True. (The meaning of the sentence is: For everyone, there’s someone
by whom his/her love is reciprocated. For 1 and 3, their love is recipro-
cated by themselves; and for 2, his/her love is reciprocated by 1. Thus,
everyone’s love is reciprocated by someone.)
3. False. (The meaning of the sentence is: There’s someone whose love
is always reciprocated. However, in the interpretation, no one’s love is
reciprocated.)
4. True. (It’s a bit hard to figure out the meaning of the sentence. So,
first transform the sentence into the disjunction of the conjunctions
(see pp. 97f), and see if the extension makes the sentence true.)
2.
1. If we take L as a predicate for “. . . loves . . . ”, the sentence can be trans-
lated as “no one’s love is reciprocated”. Thus, as long as the extension
of L doesn’t contain any pair of the forms ha, bi and hb, ai, the sentence
is going to be true. For example,
Domain = {1, 2, 3}
v(L) = {h1, 2i, h2, 3i, h3, 1i}
would do.
For the false part, since the sentence means that no one’s love is recip-
rocated, if there’s at least one reciprocated love, the sentence is going
to be false. For example
148
Domain = {1, 2, 3}
v(L) = {h1, 2i, h2, 1i}
would do.
149
interpretation makes the sentence true.
Domain = {1, 2, 3}
v(a) = 1
v(L) = {h1, 2i}
v(K) = {h1, 3i}
For the false part, if at least one person a loves knows everyone a
knows, the sentence is going to be false. For example, the following
interpretation makes the sentence false.
Domain = {1, 2, 3}
v(a) = 1
v(L) = {h1, 2i}
v(K) = {h1, 3i, h2, 3i}
5. The sentence simply states that the transitivity law holds for the mem-
bers of the domain. Thus, for example, the following interpretation
makes the sentence true.
Domain = {1, 2, 3}
v(R) = {h1, 2i, h2, 3i, h1, 3i}
For the false part, the following interpretation makes the sentence false.
Domain = {1, 2, 3}
v(R) = {h1, 2i, h2, 3i}.
150
3.
1.
1. X − ∀x∀y(Gyx ∨ Gxy)
2. ∀x∀y(Gxx ∨ Gxy)
3. X ∃x∃y−(Gyx ∨ Gxy) NQ×2 to Line 1
4. X − (Gba ∨ Gab) EI×2 to Line 3 with a to x and b to y
5. −Gba Rule 6 to Line 4
6. −Gab Rule 6 to Line 4
7. X (Gaa ∨ Gab) UI×2 to Line 2 with a to x and b to y
The leftmost path remains open; thus, from this open path, you can
construct the following interpretation.
Domain = {1, 2}
Ext(a) = 1
Ext(b) = 2
Ext(G) = {h1, 1i, h2, 2i}
Note that if you start your tree with ∀x∀y(Gyx∨Gxy) and −∀x∀y(Gxx∨
Gxy), your tree is gonna be closed. (So you may have to write two truth
trees if you’re unlucky. If that happens, don’t be discouraged; start writing
another tree right away.)
151
2.
1. X ∃x(Bx ∧ ∀yDyx)
2. X − ∀x(Bx → ∀yDyx)
3. X ∃x−(Bx → ∀yDyx) NQ to Line 2
4. X − (Ba → ∀yDya) EI to Line 3
5. Ba Rule 8 to Line 4
6. X − ∀yDyx Rule 8 to Line 4
7. X ∃y−Dya NQ to Line 6
8. −Dba EI to Line 7
9. X (Bc ∧ ∀yDyc) EI to Line 1
10. Bc Rule 3 to Line 9
11. ∀yDyc Rule 3 to Line 9
12. Dac UI to Line 11
13. Dbc UI to Line 11
14. Dcc UI to Line 11
(In the above, you need to instantiate ∀yDyc in Line 11 with all the names
in order to show that you did all you can do.)
Domain = {1, 2, 3}
Ext(a) = 1
Ext(b) = 2
Ext(c) = 3
Ext(B) = {1, 3}
Ext(D) = {h1, 3i, h2, 3i, h3, 3i}
152
Domain = {1, 2, 3}
Ext(B) = ∅
Ext(D) = ∅
2. X − ∀x x = a (∃F x → ∀xF x)
3. X ∃xx 6= a
4. b 6= a
153
The tree is closed; the sentence is valid.
2.
The satisfiability part.
1. ∀x∀y x 6= y
2. a 6= a
×
1. X − ∀x∀y x 6= y
2. X ∃x∃y x
3. a=b
Domain: {1}
Extension of a: 1
Extension of b: 1
3.
1. X ∃x∃y x 6= y
2. a 6= b
Domain: {1, 2}
Extension of a: 1
Extension of b: 2
154
1. X − ∃x∃y x 6= y
2. ∀x∀y x = y
3. a=a
4.
1. ∀x∀y((F x ↔ F y) → x = y)
2. X ((F a ↔ F a) → a = a)
3. −(F a ↔ F a) a=a
1. X − ∀x∀y((F x ↔ F y) → x = y)
2. X ∃x∃y−((F x ↔ F y) → x = y)
3. X − ((F a ↔ F b) → a = b)
4. X (F a ↔ F b)
5. a 6= b
6. Fa −F a
7. Fb −F b
The tree is open; the sentence can be false. And from the left path,
we can set up one of such interpretations as follows.
Domain: {1, 2}
Extension of a: 1
Extension of b: 2
155
Extension of F : {1, 2}
5.
The left path remains open, no matter what’s gonna happen to the
other paths; thus, the sentence is satisfiable. Since there are three names
(a, b, c) in the path and there are two G-sentences in the line by themselves,
one of the interpretations which makes the sentence true is:
Domain: {1, 2, 3}
Extension of a: 1
Extension of b: 2
Extension of c: 3
Extension of G: {h1, 2i, h3, 1i}
156
1. X − ((∃xGax → −∃xGxa) → ∀x(Gxa → x 6= a))
2. X (∃xGax → −∃xGxa)
3. X − ∀x(Gxa → x 6= a)
4. X ∃x−(Gxa → x 6= a)
5. X − (Gba → b 6= a)
6. Gba
7. b=a
8. X − ∃xGax X − ∃xGxa
9. ∀x−Gax ∀x−Gxa
10. −Gaa −Gaa
11. −Gba −Gba
× ×
1 implies 2:
157
1. X ∃x∀y(F y ↔ y = x)
2. X − ∃x(F x ∧ ∀y(F y → y = x))
3. ∀x−(F x ∧ ∀y(F y → y = x)) NQ to Line 2
4. ∀y(F y ↔ y = a) EI to Line 1
5. X (F a ↔ a=a) UI to Line 4
6. Fa −F a Rule 9 to Line 5
7. a=a a 6= a Rule 9 to Line 5
8. X − (F a ∧ ∀y(F y → y = a)) × UI to Line 3
158
2 implies 3:
6. Fa Rule 3 to Line 5
7. ∀y(F y → y = a) Rule 3 to Line 5
8. −F a UI to Line 4
×
6. Fa Rule 3 to Line 5
7. ∀y(F y → y = a) Rule 3 to Line 5
8. X − ((F b ∧ F c) → b = c) EI to Line 4
9. X (F b ∧ F c) Rule 8 to Line 8
10. b 6= c Rule 8 to Line 8
11. Fb Rule 3 to Line 9
12. Fc Rule 3 to Line 9
13. (F b → b = a) UI to Line 7
159
Lastly, 3 implies 1:
Now we know that (a) 1 implies 2, (b) 2 implies 3, and (c) 3 implies
1. Since implication is transitive, (d) 2 implies 1 (from (b) and (c)); therefore,
1 and 2 are equivalent (from (a) and (d)). Moreover, (e) 3 implies 2 (from
(c) and (a)), and (f) 1 implies 3. Therefore, 1 and 3 are equivalent (from (c)
and (f)), and 2 and 3 are equivalent (from (b) and (e)).
160