propositional logic: part ii - syntax & proofslawford/2f03/notes/prop2.pdf · outline †...
TRANSCRIPT
Outline
• Syntax of Propositional Formulas
• Motivating Proofs
• Syntactic Entailment ` and Proofs
• Proof Rules for Natural Deduction
• Axioms, theories and theorems
• Consistency & completeness
1
Language of Propositional Calculus
Def: A propositional formula is constructed inductively from the
symbols for
• propositional variables: p, q, r, . . . or p1, p2, . . .
• connectives: ¬,∧,∨,→,↔
• parentheses: (, )
• constants: >,⊥
by the following rules:
1. A propositional variable or constant symbol (>,⊥) is a formula.
2. If φ and ψ are formulas, then so are:
(¬φ), (φ ∧ ψ), (φ ∨ ψ), (φ→ ψ), (φ↔ ψ)
Note: Removing >,⊥ from the above provides the def. of sentential
formulas in Rubin. Semantically > = T,
2
WFF Smackdown
Propositional formulas are also called propositional sentences or
well formed formulas (WFF).
When we use precedence of logical connectives and associativity of
∧,∨,↔ to drop (smackdown!) parentheses it is understood that
this is shorthand for the fully parenthesized expressions.
Note: To further reduce use of (, ) some def’s of formula use order
of precedence:
¬,∧,∨,→
↔instead of ¬,
∧
∨,→
↔
As we will see, PVS uses the 1st order of precedence.
4
BNF and Parse Trees
The Backus Naur form (BNF) for the definition of a propositional
formula is:
φ ::= p|⊥|>|(¬φ)|(φ ∧ φ)|(φ ∨ φ)|(φ→ φ)
Here p denotes any propositional variable and each occurrence of φ
to the right of ::= represents any formula constructed thus far.
We can apply this inductive definition in reverse to construct a
formula’s parse tree. A parse tree represents a WFF φ if
i) the root is an atomic formula and nothing else (i.e. φ is p), or
ii) the root is ¬ and there is only one well formed subtree, or
iii) the root is ∧,∨,→ or ↔ and there are two well formed
subtrees.
Note: All leaf nodes will be atomic (e.g. p,⊥ or >)
5
Subformulas and Subtrees
Def: If φ is a propositional formula, the subformulas of φ are give
as follows:
• φ is a subformula of φ,
• if φ is ¬ψ then ψ is a subformula of φ,
• if φ is (φ1 ∧ φ2), (φ1 ∨ φ2), (φ1 → φ2), or (φ1 ↔ φ2), then both
φ1 and φ2 are subformulas of φ
• if ψ is a subformula of φ, then all subformulas of ψ are
subformulas of φ.
The subformulas of φ correspond to all of the subtrees of φ’s parse
tree.
Example: Consider p↔ (q ∧ ¬p→ q ∨ r). The fully parenthesized
formula is:
(p↔ ((q ∧ (¬p)) → (q ∨ r)))
6
Motivating Proofs
Limitations of Truth Tables
# of rows in truth table = 2n where n = # of propositional
variables in formula
Formula with 10 propositional variables has truth table with
210 = 1024 rows - too big to do by hand!
Safety critical shutdown system with 3 redundant controllers each
with > 20 boolean inputs & majority vote logic on shutdown could
have specification of a propositional formula using > 3 · 20 = 60
boolean variables. Truth table would have 260 > 1.15 × 1018 rows!
Would require 260
8×109 = 144, 115, 188 > 144 million GB/column!!
7
Motivating Proofs (cont)
Formal proof systems provide a way of examining the structure or
syntax of formulas to determine the validity of an argument
without resorting to truth tables.
E.g. Know p, p→ q |= q (modus ponens - a.k.a →e). Therefore
c ∨ ¬d, c ∨ ¬d→ (a ∧ b↔ c) |= a ∧ b↔ c
Formal proof systems can decompose a problem into sub-problems
(sub-proofs) that are of a manageable size.
E.g. If φ1 . . . , φn |= ψ1 and φ1, . . . φn |= ψ2 then
φ1, . . . , φn |= ψ1 ∧ ψ2.
8
Proof Rules and Proofs
These are examples of valid rules of inference or proof rules. E.g.
Knowing that formulas φ and φ→ ψ are true allows us to infer or
deduce that ψ is true.
An example of an invalid rule of inference would be knowing that ψ
is true and φ→ ψ is true, we conclude φ. Why?
Def: A proof of ψ from premises φ1, . . . , φn is a finite sequence of
propositions ending with ψ, such that each member of the sequence
is either a premise (φi), or is derived from previous members of the
sequence by a valid rule of inference.
In this case we say that φ1, . . . , φn syntactically entails ψ and write
φ1, . . . , φn ` ψ
and say that φ1, . . . , φn ` ψ is a valid sequent.
9
Proof Rules of Natural Deduction
While there exists more than one proof system for propositional
(and predicate) logic Natural Deduction is one of the most useful
systems.
It formalizes rules of mathematical proof you are already familiar
with, e.g.,
To prove condition φ implies situation ψ, assume φ is true
and show that ψ follows.
While there are variations in natural deduction proof systems (e.g.,
see Rubin vs. Huth+Ryan), they all have the same basic elements:
- Rules to eliminate operators, and
- Rules to introduce operators.
10
Proof Rules: → e
We know that φ, φ→ ψ |= ψ, so we can use this as a proof rule.
If φ1, . . . φn ` φ and φ1, . . . φn ` φ→ ψ, then φ1, . . . φn ` ψ.
This rule is known as modus ponens or “implies (arrow)
elimination” which we will abbreviate by → e and summarize as
follows:
φ φ→ ψ
ψ→ e
11
Proof Rules: → i
Another useful rule follow from the following useful fact:
φ |= ψ iff |= φ→ ψ
Thus φ1 . . . φn, φ ` ψ iff φ1 . . . φn ` φ→ ψ.
This rule is a form of the Deduction Theorem, a.k.a. conditional
premise or “implies (arrow) introduction”, denoted by → i, and
summarized as follows:
φ
...
ψ
——— → i
φ→ ψ
12
A First Formal Proof
Example: Show that p→ q, q → r ` p→ r
Proof:
row Premises Deduce Rule
1 p→ q, q → r ` p→ q Premise
2 p→ q, q → r, p ` p Assumption
3 p→ q, q → r, p ` q → e1, 2
4 p→ q, q → r, p ` q → r Premise
5 p→ q, q → r, p ` r → e3, 4
6 p→ q, q → r ` p→ r → i2 − 5
Note: We could show that:
p→ q, q → r, r → s ` p→ s
13
Proof Rules: ∧i
Its getting pretty tedious writing φ1, . . . , φn and I’m basically lazy
so henceforth I’ll write Γ (“Big gamma”), to represent this
sequence of premises.
Assume (1) Γ |= φ and (2) Γ |= ψ.
Then we must have Γ |= φ ∧ ψ. (why?)
So if (1) Γ ` φ and (2) Γ ` ψ then Γ ` φ ∧ ψ.
This result is known as part of the Rules of Adjunction, a.k.a.
“conjunction (and) introduction”, denoted by ∧i, and summarized
as follows:
φ ψ
φ ∧ ψ∧ i
15
Proof Rules: ∧e1,∧e2
Consider the following pair of valid arguments:
(1) φ ∧ ψ |= φ and (2) φ ∧ ψ |= ψ
To paraphrase these arguments:
(1) says “When φ ∧ ψ is true, then φ is true.”
(2) says “When φ ∧ ψ is true, then ψ is true.”
So if Γ ` φ ∧ ψ then (1)Γ ` φ and (2)Γ ` ψ.
This and the previous result are known as the Rules of Adjunction.
We will call this part “conjunction (and) elimination”, denoted by
∧e1 and ∧e2 respectively, and summarized as follows:
φ ∧ ψ
φ∧ e1
φ ∧ ψ
ψ∧ e2
16
Proof Rules: ↔ e1,↔ e2
The rules we will use for dealing with ↔ are all based upon the
following semantics equivalent:
φ↔ ψ ≡ (φ→ ψ) ∧ (ψ → φ) (1)
The rules for “if and only if elimination” follow from the valid
argument:
φ↔ ψ |= (φ→ ψ) ∧ (ψ → φ)
which in turn provides the valid arguments:
(1)φ↔ ψ |= φ→ ψ, and
(2)φ↔ ψ |= ψ → φ.
We denote ↔ elimination by ↔ e1 and ↔ e2 respectively, and
summarized as follows:
φ↔ ψ
φ→ ψ↔ e1
φ↔ ψ
ψ → φ↔ e2
17
Proof Rules: ↔ i
Let us now consider the other valid argument that follows from (1),
namely
(φ→ ψ) ∧ (ψ → φ) |= φ↔ ψ
which by the defs. of ∧ and |= is the same as:
(φ→ ψ), (ψ → φ) |= φ↔ ψ
This rule is also known as “double arrow introduction” which we
will denote by ↔ i and summarize as follows:
φ→ ψ ψ → φ
φ↔ ψ↔ i
So if Γ ` φ→ ψ and Γ ` ψ → φ then Γ ` φ↔ ψ.
Example: Show ` (p→ (q → r)) ↔ (p ∧ q → r)
18
Proof Rules: ¬¬e and ¬¬i
It is easy to check that ¬¬φ ≡ φ. Hence:
(1)¬¬φ |= φ and (2)φ |= ¬¬φ
So we know:
(1) if Γ ` ¬¬φ then Γ ` φ, and
(2) if Γ ` φ the Γ ` ¬¬φ.
This results are known as “double negation elimination” and
“double negation introduction”, denoted by ¬¬e and ¬¬i
respectively, and summarized as follows:
¬¬φ
φ¬¬e
φ
¬¬φ¬¬i
19
Proof Rules: MT
Recall the proof rule → e.
φ φ→ ψ
ψ→ e
If Γ ` φ and Γ ` φ→ ψ, then Γ ` ψ.
Suppose it is still the case that Γ ` φ→ ψ, but instead of Γ ` φ we
know that Γ ` ¬ψ. If φ were true, then by → e we would have ψ,
but since we have φ→ ψ and ¬ψ, we must have ¬φ.
This reasoning is borne out by the valid argument:
φ→ ψ,¬ψ |= ¬φ
The resulting proof rule is known as modus tollens or MT and
20
Proof Rules: ∨i
Consider the following pair of valid arguments:
(1) φ |= φ ∨ ψ and (2) ψ |= φ ∨ ψ
To paraphrase these arguments:
(1) says “When φ is true, then φ or ψ is true.”
(2) says “When ψ is true, then φ or ψ is true.”
So if (1)Γ ` φ or (2)Γ ` ψ then, either way, Γ ` φ ∨ ψ.
We will call this “disjunction (OR) introduction” denoted ∨i1 or
∨i2 respectively and summarized as follows:
φ
φ ∨ ψ∨ i1
ψ
φ ∨ ψ∨ i2
22
Proof Rules: ∨e1,∨e2
Suppose we want to check if the following argument is valid
φ ∨ ψ |= χ
“When φ is true or ψ is true, then χ is true”
Then there are two cases that we must consider:
i) When φ is true, then χ is true (φ |= χ)
ii) When ψ is true, then χ is true (ψ |= χ)
This covers all possible case when φ ∨ ψ is true, including the case
when both are true.
23
Proof Rules: ∨e1,∨e2 (cont)
This rule is a form of the Rule of Alternative Proof, a.k.a.
“disjunction (or) elimination” denoted ∨e and summarized as
follows:
φ ∨ ψ
φ
...
χ
ψ
...
χ
——————— ∨ e
χ
How can we use it? To show Γ, φ ∨ ψ ` χ split proof. Show:
1. Γ, φ ` χ
2. Γ, ψ ` χ
24
Proof Rules: ⊥e
Consider the following valid argument:
⊥ |= φ
⊥ is a valid argument for any formula! Why? Because you can’t
find a counter example in the truth table where ⊥ is true and φ is
false.
Ex falso quod libet!
(From false all things are possible!)
This rule is called “bottom elimination”, denoted ⊥e and
summarized as:
⊥
φ⊥e
Thus if Γ ` ⊥ then Γ ` φ for any φ.
26
Proof Rules: ¬e
Consider the following semantic equivalence:
φ ∧ ¬φ ≡ ⊥
which represents that ⊥ is itself a contradiction. If both φ and ¬φ
are true, then we have an inconsistent set of premises. In fact when
ever φ is both true and false (since ¬φ is true), the ⊥ is also valid.
Although one might think that the following rule should be called
“bottom introduction”, to logicians perhaps this is too close to the
idea of “introducing inconsistencies” which is a “Bad ThingTm”,
hence they call it “negation elimination” denoted ¬e and
summarized as:
φ ¬φ
⊥¬e
27
Proof Rules: ¬i
Let us assume that when we add φ to our premises Γ
Γ, φ |= ⊥
Then everywhere that all of the premises in Γ are true, φ must be
false. (Why?) Therefore we must have:
Γ |= ¬φ
In terms of syntactic entailment this will mean that if Γ, φ ` ⊥ then
Γ ` ¬φ.
This rule is often known as indirect proof, “negation (not)
28
Proof Rules: Copy
This rule is a bit of a kludge, but it will save us extra effort when
applied correctly.
Suppose a formula ψ appears on a previous line of our proof where
we had a sequence of premises Γ, i.e., Γ ` ψ.
Further suppose that our current sequence of premises (formulas on
the left of `) is Γ′.
Q: Can we use ψ on the current line of our proof (i.e., does Γ′ ` ψ)?
A: Yes, provided our current sequence of premises Γ′ contains all of
the formulas appearing in Γ.
E.g., p→ q, q → r ` p→ r
Therefore p→ q, q → r, r ` p→ r.
30
Proof Rules: LEM
This next rule is based upon the valid argument:
|= φ ∨ ¬φ
which say that a formula is either true, or it is false. There is no
middle ground.
Since φ ∨ ¬φ is a tautology, for any set of premises Γ |= φ ∨ ¬φ
(why?). Thus in using this rule in proofs we have Γ ` φ ∨ ¬φ.
It is an example of a derived rule, i.e., we can prove it from the
rules we have already seen (` p ∨ ¬p - try it!).
The “Law of the Excluded Middle” denoted LEM is summarized as:
φ ∨ ¬φLEM
Example: Show ` ¬(p ∧ q) ↔ ¬p ∨ ¬q.
31
Proof Rules: RAA
Two of the other rules we have seen so far, MT and ¬¬i, are also
derived rules. These derived rules are short cuts that represent
patterns of the other rules.
An additional derived rule that is useful is reductio ad absurdum
(RAA) that can be viewed as another form of ¬i.
It says that if Γ,¬φ ` ⊥ then Γ ` φ.
We summarize RAA as follows
¬φ...
⊥
——— RAA
φ
32
Go back and compare this to the ¬i summary. You can use RAA
to shorten the previous example proof.
33
Proof Rules: Adding Your Own
In practice, people use many more proof rules than those we have
shown here. Provided they are based upon valid arguments, they
will result in valid proof rules.
E.g., It is easy to show p→ Q ≡ ¬p ∨ q. This could be used to add
the two proof rules:
φ→ ψ
¬φ ∨ ψ→ 2∨
¬φ ∨ ψ
φ→ ψ∨ 2 →
Thus Γ ` φ→ ψ iff Γ ` ¬φ ∨ ψ.
This is actually another example of a derived rule (i.e., we could
prove it from our existing rules and then just use it as a notational
short cut for that proof pattern.
Do we have “enough” proof rules (i.e. are they complete)? Are any
other valid proof rules derived rules? Do our rules “work correctly”
34
Soundness:
Def: A proof system is sound (or consistent) if whenever Γ ` ψ,
then Γ |= ψ.
Our system of proof rules given above is sound. We can show this
via induction on the length of our proofs. This is an immediate
result of the fact that all of our proof rules are based upon valid
arguments.
Stating this more formally:
Theorem (Soundness): Let φ1, φ2, . . . , φn and ψ be a
propositional formulas. If φ1, φ2, . . . , φn ` ψ then
φ1, φ2, . . . , φn |= ψ.
If we let Γ represent φ1, . . . , φn then the above says: “If Γ ` ψ then
Γ |= ψ.”
36
Completeness:
Def: A proof system is complete if whenever Γ |= ψ, then Γ ` ψ.
Our system of proof rules given thus far is complete. We can show
this via induction on the height of the parse tree of ψ.
Stating this formally:
Theorem (Completeness): Let φ1, φ2, . . . , φn and ψ be a
propositional formulas. If φ1, φ2, . . . , φn |= ψ then
φ1, φ2, . . . , φn ` ψ.
If we let Γ represent φ1, . . . , φn then the above result together with
the previous one gives us the following corollary:
Corollary: Γ ` ψ iff Γ |= ψ.
37