Download 3.1.3 Subformulas

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

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

Document related concepts

Axiom wikipedia , lookup

Meaning (philosophy of language) wikipedia , lookup

Argument wikipedia , lookup

Inquiry wikipedia , lookup

Modal logic wikipedia , lookup

Truth-bearer wikipedia , lookup

Theorem wikipedia , lookup

Cognitive semantics wikipedia , lookup

Curry–Howard correspondence wikipedia , lookup

Combinatory logic wikipedia , lookup

Structure (mathematical logic) wikipedia , lookup

Sequent calculus wikipedia , lookup

Quantum logic wikipedia , lookup

Law of thought wikipedia , lookup

First-order logic wikipedia , lookup

Boolean satisfiability problem wikipedia , lookup

Catuṣkoṭi wikipedia , lookup

Canonical normal form wikipedia , lookup

Laws of Form wikipedia , lookup

History of the function concept wikipedia , lookup

Intuitionistic logic wikipedia , lookup

Principia Mathematica wikipedia , lookup

Propositional calculus wikipedia , lookup

Propositional formula wikipedia , lookup

Transcript
76
CHAPTER 3. PROPOSITIONAL LOGIC
3.1.3
Subformulas
In the following, we will repeatedly use the concept of a subformula. Informally
speaking, a subformula of a propositional formula H is a string occurring in
H which itself is a propositional formula.
Definition 3.8 Let F be a propositional formula. The set of subformulas of
F is the smallest set S(F ) satisfying the following conditions:
1. F ∈ S(F ).
2. If ¬G ∈ S(F ) , then G ∈ S(F ).
3. If (G1 ◦ G2 ) ∈ S(F ) , then G1 , G2 ∈ S(F ).
It will be shown in Exercise 3.4 that such a smallest set exists. As an example,
let F be the formula ¬((p1 → p2 ) ∨ p1 ). Then we have
S(F ) = {¬((p1 → p2 ) ∨ p1 ), ((p1 → p2 ) ∨ p1 ), (p1 → p2 ), p1 , p2 }
(see also Exercise 3.5). Consider now the set
{¬((p1 → p2 ) ∨ p1 ), ((p1 → p2 ) ∨ p1 ), (p1 → p2 ), p1 , p2 , (p3 ∨ p2 ), p3 }.
This set satisfies all three conditions in Definition 3.8. However, it is not the
smallest set satisfying these conditions because it contains S(F ) as a proper
subset. One should also observe that the set
{¬((p1 → p2 ) ∨ p1 ), ((p1 → p2 ) ∨ p1 ), (p1 → p2 ), p1 , p2 , (p3 ∨ p2 )}
does not meet the third condition in Definition 3.8.
At the end of Section 3.1 I would like to comment on the use of parentheses
in propositional logic formulas. In arithmetic expressions not all parentheses
are usually written. For example, we often write 14 ÷ 2 + 5 × 3 instead of
((14 ÷ 2) + (5 × 3)). We can do this because there is a common understanding
that multiplication and division bind stronger than addition and subtraction.
Such binding convention are also often used in logic. Unfortunetely, there is
no world-wide standard and every author fixes such conventions to his or her
likings. I have decided not to establish any binding conventions in this book,
but to always write all paranthesis. On the other hand, we will later learn that
conjunction and disjunction are commutative and associative. In analogy to
write 3 + 7 + 5 + 8 instead of (((3 + 7) + 5) + 8) we will then allow to write
&p1 , p2 , p3 , p4 ' instead of (((p1 ∧ p2 ) ∧ p3 ) ∧ p4 ) and [p1 , p2 , p3 , p4 ] instead of
(((p1 ∨ p2 ) ∨ p3 ) ∨ p4 ) .
So far, we have defined a formal language whose elements or sentences are the
formulas of propositional logic. According to this, the string ((p∧(p → q)) → q)
3.2. SEMANTICS
77
is an example of a formula. But what does this formula mean? What does it
represent? In contrast to many programming languages, logic has always been
intended to establish a close connection between formulas and their meaning,
i. e. between syntax and semantics. It will turn out that the meaning of a
formula depends solely on the structure of the formula.
3.2
Semantics
Atoms are the simplest statements in propositional logic. What meaning can
they have? Recall the statement “the cow is violet” from the beginning of the
previous Section 3.1. In the easiest case, which we want to consider here, the
statement can either be true or false. We do not allow any other possibility,
for instance a “don’t know”. For this reason, we speak of a two-valued logic.
Atoms and more complex formulas as well are thus interpreted as true or false.
Before defining the notion of an interpretation formally, we will turn again
to arithmetic expressions. What is the meaning or what is the value of the
expression (3 × (18 ÷ 6) + 7)? Most readers will answer immediately: 16.
How is this answer computed? How can a computer calculate the answer?
Make a little experiment: Take your favorite editor and type in the string
(3 × (18 ÷ 6) + 7). Can your editor calculate it’s value? Most editors cannot
do this.
Strictly formally, (3 × (18 ÷ 6) + 7) is a string over the alphabet Σ = Q ∪
{+, −, ×, ÷, (, )}. To calculate it’s value, we must specify a function, which
maps each arithmetic expression to a rational number. Such a function can
be recursively defined on the structure of arithmetic expressions. Before being
able to this, however, we need to have a more closer look at the set rational
numbers and the function defined over this set.
A structure consists of a set of individuals and a set of functions defined over
the set of individuals. Here we consider as the set of individuals the rational
numbers. There are various functions defined over it like, for example:
• Addition +∗ : Q2 → Q ,
• Subtraction −∗ : Q2 → Q ,
• Multiplication ×∗ : Q2 → Q ,
• Division ÷∗ : Q × Q \ {0} → Q .
One should observe that there is a difference between the operator +/2 and
the function +∗ . +/2 is a symbol occurring in Σ , whereas +∗ /2 is a function
mapping two rational numbers to a rational number. The same holds for the
operators −/2, ×/2, ÷/2 and the functions −∗ /2, ×∗ /2, ÷∗ /2.
78
CHAPTER 3. PROPOSITIONAL LOGIC
Now we can recursively define a function ·I which maps each arithmetic expression to a value as follows: Let T be an arithmetic expression.
!
T
if T ∈ Q,
[T ]I =
[T1 ]I ◦∗ [T2 ]I if T is of the form (T1 ◦ T2 ).
Hence, we obtain:
[((3 × (18 ÷ 6)) + 7)]I = ((3 ×∗ (18 ÷∗ 6)) +∗ 7) = 16.
Please observe again the difference between ((3 × (18 ÷ 6)) + 7) and ((3 ×∗
(18 ÷∗ 6)) +∗ 7). The former is a string over Σ , whereas the latter is an
expression specifying the application of various functions to rational numbers;
it can evaluated – by using a calculator – and we obtain – if the calucator
makes no error – the number 16 as value.
Let us reconsider the editor mentioned above. What must we tell the editor
such that it can evaluate arithmetic expressions? Well, we must specify the
structure consisting of the set of rational numbers and the set of functions
defined thereof. In addition, we must specify the function ·I defined above.
In a computer or a calculator this knowledge is indeed encoded. For example, rational numbers – as long as they are not too big – and the functions
defined thereof are often represented and calculated within a mathematical coprocessor. The distinction between ◦/2 and ◦∗ /2, ◦ ∈ {+, −, ×, ÷}, is usually
not made explicit and we use ◦/2 to denote both, the symbol of Σ and the
function Q × Q → Q . For didactic reasons, I do not want to give up this
distinction in this book.
After these preliminary considerations we can now turn to the semantics of
propositional logic formulas and discuss first the structure of truth values.
3.2.1
The structure of truth values
As mentioned above, a structure consists of a set of individuals and a set of
functions defined on it. The set of truth values W is the set {+, ⊥}. Here, +
denotes true and ⊥ denotes false. We can define a number of functions over
this set.
There are four different unary functions of type W → W . The only one we are
interested in is the negation ¬∗ , and we have ¬∗ (+) = ⊥ and ¬∗ (⊥) = +. The
remaining three functions are the identity function as well as the projections
on the truth values + and ⊥.
There are 16 different binary functions of type W × W → W . They are
presented in Figure 3.3. ∧∗ /2 is the conjunction, ∨∗ /2 the disjunction, →∗ /2
the implication, ↑∗ /2 the so-called NAND, ↓∗ /2 the so-called NOR, and
↔∗ /2 the equivalence. Some of these functions additionally exist in a negated
version or with swapped operands. The remaining binary functions will not play
79
3.2. SEMANTICS
w1
+
+
⊥
⊥
w1
+
+
⊥
⊥
w2
+
⊥
+
⊥
w2
+
⊥
+
⊥
∧∗
+
⊥
⊥
⊥
↔∗
+
⊥
⊥
+
∨∗
+
+
+
⊥
1↔∗
⊥
+
+
⊥
→∗
+
⊥
+
+
w∗
+
+
+
+
←∗
+
+
⊥
+
f∗
⊥
⊥
⊥
⊥
↑∗
⊥
+
+
+
w1
+
+
⊥
⊥
↓∗
⊥
⊥
⊥
+
¬∗ w1
⊥
⊥
+
+
1→∗
⊥
+
⊥
⊥
w2
+
⊥
+
⊥
1←∗
⊥
⊥
+
⊥
¬∗ w2
⊥
+
⊥
+
Figure 3.3: The 16 different binary functions over the set W of truth values.
any role here and are only presented for completeness. These are the projections
on + and ⊥ ( +∗ resp. ⊥∗ ), the projection on the first argument ( w1 ), the
negation of the projection on the first argument ( ¬∗ w1 ), the projection on
the second argument ( w2 ), and the negation of the projection on the second
argument ( ¬∗ w2 ).
Not all unary and binary functions over the set W of truth values are usually
required. In this book, mainly negation, conjunction, disjunction, implication,
and equivalence will play a role.
Before we focus on the interpretation of propositional formulas, we will briefly
reflect upon implication. Informally, (p →∗ q) represents the statement p
implies q. But isn’t it strange that such a statement is true, even if p is false?
In everyday life, we generally expect that such a statement only makes sense
if we know that p is true. In everyday life, this may indeed be the case, but
mathematically viewed, this is problematic. Consider the following statement:
if an arbitrary natural number n is odd, then n + 2 is odd as well. This
statement seems to be correct. But what happens, if we assign n the value
2 ? Then it says: 2 is odd implies 4 is odd. This sounds peculiar. But still,
we should accept this statement being true, because it is an instance of a true
and more general statement.
3.2.2
Interpretations
We can now formally define a semantics for the language of propositional logic
by assigning a truth value to every formula.
Definition 3.9 A (propositional logic) interpretation I = (W, ·I ) consists of
80
CHAPTER 3. PROPOSITIONAL LOGIC
the set W of truth values and a mapping ·I from the set L(R) of propositional
formulas to W satisfying the following conditions:

if F ∈ R,
 w∈W
¬∗ [G]I
if F is of the form ¬G,
[F ]I =

([G1 ]I ◦∗ [G2 ]I ) if F is of the form (G1 ◦ G2 ).
In other words, the connectives are interpreted as the corresponding functions
over W . Besides that, we do not impose any further restrictions upon an interpretation. In particular, we do not define how propositional variables are to be
interpreted, except that they must be mapped to a truth value. Indeed, different interpretations differ only in the assignment of the propositional variables.
The converse holds as well: Consider the propositional variables p1 , . . . , pn .
As soon as the assignment of these variables is fixed, the interpretation of
any propositional formula containing only the variables p1 , . . . , pn is uniquely
defined:
Proposition 3.10 For each mapping g from the set of propositional variables
to the set W of truth values, there is an interpretation I = (W, ·I ) such that
for all propositional variables A we have: g(X) = [A]I .2
Proof Given g : R → W we construct:

if F ∈ R,
 g(F )
¬∗ [G]I
if F is of the form ¬G,
[F ]I =

([G1 ]I ◦∗ [G2 ]I ) if F is of the form (G1 ◦ G2 ).
According to this construction we find for all A ∈ R : g(A) = [A]I . Following
Theorm 3.7, I = (W, ·I ) is uniquely determined and maps all F ∈ L(R) to a
truth value. Consequently, I is an interpretation.
!
!
Proposition 3.11 Let two interpretations I = (W, ·I ) and I " = (W, ·I ) be
!
given. If for all propositional variables A ∈ R we have: [A]I = [A]I , then for
I
I!
all propositional formulas F we have: [F ] = [F ] .
The proof of this proposition can easily be obtained by induction on the structure of propositional formulas (see Exercise 3.8). The two propositions make
an elegant specification of interpretations possible: It is enough to define to
which truth values the propositional variables are mapped. As an example,
we consider a function g mapping the propositional variable p1 to + and all
2
I do not know about any formal definition specifying whether a certain statement should
be called proposition or theorem. Here, a proposition is a kind of auxiliary statement
which follows directly from the definitions, while a theorem is a statement where the
proof is more involved.
81
3.2. SEMANTICS
other propositional variables to ⊥. By Proposition 3.10 there is an interpretation I = (W, ·I ) with [p1 ]I = + and [A]I = ⊥ for all other propositional
variables A. By Proposition 3.11 there is exactly one such interpretation. For
the formula ((p1 ∧ (p1 → p2 )) → p2 ) we get:
[((p1 ∧ (p1 → p2 )) → p2 )]I
=
=
=
=
=
=
=
[((p1 ∧ (p1 → p2 ))]I →∗ [p2 ]I )
(([p1 ]I ∧∗ [(p1 → p2 )]I ) →∗ [p2 ]I )
(([p1 ]I ∧∗ ([p1 ]I →∗ [p2 ]I )) →∗ [p2 ]I )
((+ ∧∗ (+ →∗ ⊥)) →∗ ⊥)
((+ ∧∗ ⊥) →∗ ⊥)
(⊥ →∗ ⊥)
+
Because of these propositions interpretations can be represented compactly.
It suffices to record those propositional variables, which are mapped to +
by an interpretation. In other words, the interpretation I = (W, ·I ) can be
represented by {A | [A]I = +}. Usually, the representation of I is also denoted
by I . For example, let R = {pi | i ∈ N} and I = {p2 , p3 , p5 }. Then, we find:
!
+ if i ∈ {2, 3, 5},
I
[pi ] =
⊥ otherwise.
This representation has the advantage that we apply set operations to different
interpretations. Consider the formula F = ((p∨¬q)∧r). There are 8 different
possibilities to assign truth values to the propositional variables p, q and r.
Hence, we obtaine 8 different representations of interpretations: ∅, {p}, {q},
{r}, {p, q}, {p, r}, {q, r} and {p, q, r}. Among these, only {r}, {r, p} and
{p, q, r} map F to +. One should observe that {r} ⊆ {r, p} ⊆ {p, q, r}.
Hence, {r} is the smallest interpretation mapping F to +. One should also
observe that {r, p, q}∩{p, r} is again a set of propositional variables and, hence,
the representation of some interpretation. In other words, we can compute the
intersection of the representation of interpretations. We will come back to this
in Chapter 5.
According to our notational convention, the 8 interpretations mentioned above
map all propositional variables occurring in R \ {p, q, r} to the truth value ⊥.
There are many interpretations which do not map all propositional variables
occurring in R \ {p, q, r} to ⊥. Obviously, the particular assignment of the
variables occurring in R \ {p, q, r} is not important for determining the semantics of F = ((p ∨ ¬q) ∧ r) (see Exercise ??). Consequently, I will restrict
interpretations to the variables occurring in F in the sequel.
For notational convenience we will often write F I instead of [F ]I . Another
remark regarding the notation: I distinguished very clearly between the connectives ¬, ∧, . . . in the language of propositional logic and the functions
¬∗ , ∧∗ , . . . over the set of truth values. Connectives and functions at first
have nothing to do with each other. Connectives are syntactic objects. If I enter the character sequence (p ∧ ¬p) on my computer keyboard, the computer
82
CHAPTER 3. PROPOSITIONAL LOGIC
does not have any idea of what I mean by this. To the computer, this is really
just a character sequence and nothing more. But if I call the mathematical
function ∧∗ with arguments ⊥ and +, then I receive the value ⊥. Only the
interpretation establishes a connection between connectives and functions, that
is between ¬ and ¬∗ , ∧ and ∧∗ , and so on. Beause we always interprete ¬
as ¬∗ , ∧ as ∧∗ , and so on, one often speaks of a standard interpretation. And
many authors do without a clear distinction between connectives and functions
by denoting them in the same way and simply omitting the “ ∗ ”.
Definition 3.12 Let F be a propositional formula.
• F is called satisfiable if there is an interpretation I = (W, ·I ) with
F I = +.
• F is called valid (or F is a tautology) if for all interpretations I =
(W, ·I ) we have: F I = +.
• F is called falsifiable if there is an interpretation I = (W, ·I ) with
F I = ⊥.
• F is called unsatisfiable if for all interpretations I = (W, ·I ) we have:
F I = ⊥.
Consider for example the propositional formula F = (p ∨ q). It is satisfiable,
because for the interpretation I with pI = + we have: F I = (pI ∨∗ q I ) = (+∨∗
q I ) = +. But at the same time, F is falsifiable, because for the interpretation
I with pI = q I = ⊥ we have: F I = (pI ∨∗ q I ) = (⊥ ∨∗ ⊥) = ⊥.
3.2.3
Truth Tables
The formula G = ((p ∧ (p → q)) → q) is valid. To prove this, we would have
to consider all interpretations. Because there are infinitely many propositional
variables in the alphabet of propositional logic, and because an interpretation is
uniquely characterized by the assignment of the propositional variables, there
are infinitely many interpretations. Do we really have to consider all of these
interpretations in order to decide whether G is valid? Fortunately not. As
discussed before, the truth value assigned to a formula F by an interpretation
I depends exclusively on the truth values assigned by I to the propositional
variables occurring in F . In the example, these are only the variables p and q.
Because we consider a two-valued logic, there are 22 = 4 different interpretations I for which we have to prove that GI = + holds. The reader may
convince herself or himself that this is the case for each of the four interpretations in our example. Thus G is indeed valid. In this context, we often speak
of creating or computing a truth table for G. The procedure is defined in detail
in Figure 3.4.
83
3.2. SEMANTICS
1. Let m = |S(F )| the number of subformulas of F .
2. Let n = |{p ∈ R | p ∈ S(F )}|
the number of propositional variables occurring in F .
3. Form a table with 2n rows and m columns, where the first n columns
are marked by the n propositional variables occurring in F and the
last column is marked by F .
4. Fill in the first n columns with + und ⊥ as follows: In the first
column fill in alternating downwards +⊥+⊥ . . . , in the second column
++⊥⊥ . . . , in the third column ++++⊥⊥⊥⊥ . . ., etc.
5. Calculate the values in the remaining columns using the known functions on the set of truth values.
Figure 3.4: The computation of a truth table T (F ) for a propositional formula F .
As an example consider the propositional formula F = ((p ∨ ¬q) ∧ r). We
compute the following steps:
1. m = |S(F )| = |{((p ∨ ¬q) ∧ r), (p ∨ ¬q), p, ¬q, q, r}| = 6 .
2. n = |{p | p ∈ R ∩ S(F )}| = 3 .
3. With 23 = 8 we obtain the following table:
1
2
3
4
5
6
7
8
p q
r
¬q
(p ∨ ¬q) ((p ∨ ¬q) ∧ r)
84
CHAPTER 3. PROPOSITIONAL LOGIC
4. After filling in the first n = 3 columns we obtain:
1
2
3
4
5
6
7
8
p
+
⊥
+
⊥
+
⊥
+
⊥
q
+
+
⊥
⊥
+
+
⊥
⊥
r
+
+
+
+
⊥
⊥
⊥
⊥
¬q
(p ∨ ¬q) ((p ∨ ¬q) ∧ r)
5. After filling in the remaining columns we obtain:
1
2
3
4
5
6
7
8
p
+
⊥
+
⊥
+
⊥
+
⊥
q
+
+
⊥
⊥
+
+
⊥
⊥
r
+
+
+
+
⊥
⊥
⊥
⊥
¬q
⊥
⊥
+
+
⊥
⊥
+
+
(p ∨ ¬q) ((p ∨ ¬q) ∧ r)
+
+
⊥
+
+
+
+
+
+
+
⊥
⊥
+
+
+
+
With the help of such a truth table T (F ) we can now decide the questions
concerning satisfiability, validity, falsifiability and unsatisfiability as follows:
• F is satisfiable if and only if T (F ) contains a row with entry + in the
last column.
• F is valid if and only if all rows in T (F ) have the entry + in the last
column.
• F is falsifiable if and only if T (F ) contains a row with entry ⊥ in the
last column.
• F is unsatisfiable if and only if all rows in T (F ) have the entry ⊥ in
the last column.
Strictly speaking, all these propositions must be proven (see Exercise ??).
Because of the second item, truth tabling, i. e. the computation of a truth table,
is sound and complete in the following sense: It is sound because whenever in
a truth table T (F ) all rows have the entry + in the last column, then F is
known to be valid. It is complete because whenever F is valid, then all rows in
the truth table T (F ) have the entry + in the last column. Truth tabling can
be readily implemented on a computer. Hence, we have a first link between the
semantic concept of validity and the operational mechanism of truth tabling.
We will come to this in Section 3.4.
85
3.2. SEMANTICS
3.2.4
Models
Definition 3.13 An interpretation I = (W, ·I ) is called model for a propositional formula F , in symbols I |= F , if F I = +.
We want to introduce a further notational abbreviation: If the interpretation
I is not a model for the formula F , i. e. if F I = ⊥ , then we write I 1|= F . If
all interpretations are models for F , i. e. if F is valid, then we write |= F .
The notions of being satisfiable, valid, falsifiable, and unsatisfiable are not
independent of each other. The following theorem may serve as an example for
this.
Theorem 3.14 A propositional formula F is valid ( |= F ), if and only if ¬F
is unsatisfiable.
Proof
|= F
iff
iff
iff
3
all interpretations are models for F
no interpretation is model for ¬F
¬F is unsatisfiable.
!
This theorem will be of great importance later because many computer-aided
methods for proving validity of a formula F negate this formula and then
prove that ¬F is unsatisfiable.
Sometimes it is more natural to speak about a set of formulas instead of a
conjunction of formulas. With this notion in mind, concepts like satisfiability
and model can immediately be extended to sets of formulas.
Definition 3.15 Let F be a set of propositional formulas.
• F is satisfiable, if there is an interpretation mapping each element
G ∈ F to +.
• An interpretation I is called model for F , in symbols I |= F , if I is
model for all G ∈ F .
3.2.5
Logical Consequence
The central notion of a logic is the logical consequence. Consider the statement
“who says A must say B”. If now a not further specified person actually says
“A”, then we can conclude based on the statement that this person must say
“B” as well. This conclusion is completely independent of what “says A” and
“says B” really means. “Says A” could stand for “buys car” and “says B” for
“has to pay”. For the conclusion drawn, this is completely irrelevant. It follows
simply from the structure.
3
iff is an abbreviation for “if and only if”.
86
CHAPTER 3. PROPOSITIONAL LOGIC
Definition 3.16 A propositional formula G is a (propositional) consequence
of a set of propositional formulas F , in symbols F |= G, if and only if for
every interpretation I we have: if I models F , then I models G as well.
If the propositional variable p represents the statement “says A” and q represents the statement “says B”, then the sentence “who says A must say B”
can be represented as implication (p → q). Assume further that a not further
specified person actually says “A”, which we represent by p. We can easily decide that {p, (p → q)} |= q holds: We only have to consider all interpretations
satisfying p as well as (p → q) and then check whether these interpretations
also model q. We can do so by generating the following table:
p
+
⊥
+
⊥
q
+
+
⊥
⊥
(p → q)
+
+
⊥
+
With the help of this table we can now check whether all interpretations which
are a model for p and are a model for (p → q), are also models for q. In
this example only the interpretation {p, q} maps p as well as (p → q) to +.
Because q ∈ {p, q}, this interpretation maps also q to +. Hence, we conclude:
{p, p → q} |= q.
Consider as second example the question whether {(p ∨ q) |= q} holds. Again,
we compute a corresponding table:
p q
+ +
⊥ +
+ ⊥
⊥ ⊥
(p ∨ q)
+
+
+
⊥
The interpretations {p, q}, {q} and {p} are models for (p ∨ q). But one of
them, {p}, is not a model for q. Hence, {(p ∨ q)} |= q does not hold.
As a final example consider the question whether {(p ∧ ¬p)} |= q holds. We
generate a corresponding table:
p q
+ +
⊥ +
+ ⊥
⊥ +
¬p
⊥
+
⊥
+
(p ∧ ¬p)
⊥
⊥
⊥
⊥
In this example there is no model for (p ∧ ¬p). According to Definition 3.16 we
learn that q is a logical consequence of {(p ∧ ¬p)}, if for each interpretation
3.3. EQUIVALENCE AND NORMAL FORMS
87
I we find: if I is a model for {(p ∧ ¬p)}, then I is a model for q . The
statement “if I is a model for {(p ∧ ¬p)}, then I is a model for q” is an
implication, whose precondition “ I is a model for {(p ∧ ¬p)}” is always false.
According to our definition of the implication →∗ over the set of truth values,
the implication is true. Hence, q follows logically from {(p ∧ ¬p)}. Indeed, an
unsatisfiable set of formulas allows to conclude everything.
There is a close connection between the concept of logical consequence and
validity:
Theorem 3.17 Let F, F1 , . . . , Fn be propositional formulas. {F1 , . . . , Fn } |=
F holds if and only if |= ((. . . (F1 ∧ F2 ) ∧ . . . ∧ Fn ) → F ) holds.
For the proof I refer to Exercise 3.9. As to the example mentioned above, this
theorem states that, in order to prove {p, (p → q)} |= q, it suffices to prove
the validity of ((p ∧ (p → q)) → q).
3.3
Equivalence and Normal Forms
In a language, there are normally many different possibilities to express one
and the same fact. This is the same in the language of logic. For example,
based on the given semantics, there is no reason to distinguish the formulas
¬¬F and F . They are evaluated equally under any interpretation. We want
to consider such pairs of formulas in more detail in the next section.
Furthermore, in a class of formulas all having the same meaning, we will distinguish certain forms. These forms are called normal forms, and we will introduce
algorithms transforming formulas into a normal form with equivalent meaning.
3.3.1
Semantic Equivalence
First of all, we consider here formulas which are evaluated equally under all
interpretations.
Definition 3.18 Two propositional formulas F and G are semantically equivalent, in symbols F ≡ G , if for all interpretations I we have: I |= F if and
only if I |= G .
Theorem 3.19 Let F , G , and H be propositional formulas. The following