Derivations / Reasoning
Limitations of proofs by
calculation
Proofs by calculation are formal and well-structured, but
often undirected and not particularly intuitive.
Example
val
P ∧ (P∨Q) = (P∨F) ∧(P∨Q)
val
=
P∨(F
∧Q)
val
= P ∨ F if y is not
val
=P
free in P
we can prove this
and
Q intuitively by
more
reasoning
Conclusions
val
P ∧ (P∨Q) = P P ∧ (P∨Q)
val
P =T
An example of a mathematical
proof
Theorem
If x2 is even, then x is even (x ∊ Z).
(sub)goal
Proof
Let x∊ Z be such that x2 is even.
We need to prove that x is even too.
generating hypothesis
pure hypothesis
Assume that x is odd, towards a contradiction.
If x is odd than x = 2y+1
∊ Z. in P and
if for
y issome
noty free
Then x2 = (2y+1)2 = 4y2 + 4y + 1 = 2(2y2 + 2y) + 1
and 2y2 + 2y ∊ Z.
conclusion
Q
So, x2 is odd too, and we have a contradiction.
Thanks to Bas Luttik
Exposing logical structure
Theorem
Proof
(sub)goal
If x2 is even, then x is even (x ∊ Z).
generating hypothesis
Let x∊ Z
Assume x2 is even.
Assume that x is odd.
pure hypothesis
conclusion
Then x = 2y+1 for some y ∊ Z.
2 = 4y2 + 4y + 1 =
Then x2 =if(2y+1)
y
is
not
free
in
P
and
2(2y2 + 2y) + 1 and 2y2 + 2y ∊ Z.
Q
So, x2 is odd
a contradiction.
So, x is even
Thanks to Bas Luttik
Single inference rule
Q is a correct conclusion from n premises P1, .. , Pn
iff
val
(P1∧ P2 ∧…∧ Pn) ⊨ Q
val
If n=0, then P1 ∧ P2 ∧… ∧ Pn = T
val
Note that T ⊨ Q means that Q = T
Q holds
unconditionally
Derivation
Q is a correct conclusion from n premises P1, .. , Pn
iff
val
(P1∧ P2 ∧…∧ Pn) ⊨ Q
a formal system
based on the single
inference rule
for proofs that closely
follow our
intuitive reasoning
Two types of inference rules:
elimination rules
for drawing
conclusions out of
premises
introduction rules
for simplifying goals
(particularly useful)
instances of the single
inference rule
and one new
special rule!
Conjunction elimination
How do we use a conjunction in a proof?
val
P∧Q ⊨ P
val
P∧Q ⊨ Q
∧-elimination
|| ||
(k)
(m)
|| ||
P∧Q
(k)
P∧Q
|| ||
|| ||
{∧-elim on (k)}
P
{∧-elim on (k)}
Q
(k < m)
(m)
(k < m)
Implication elimination
How do we use an implication in a proof?
val
P Q ⊨ ???
val
-elimination
(P Q) ∧ P ⊨ Q
|| ||
(k)
P Q
|| ||
(l)
P
|| ||
{ -elim on (k) and (l)}
(m)
Q
(k < m, l < m)
Conjunction introduction
How do we prove a conjunction?
∧-introduction
…
(k)
P
…
(l)
Q
(m)
…
{∧-intro on (k) and (l)}
P∧Q
(k < m, l < m)
val
P∧Q ⊨ P∧Q
Implication introduction
truly new
and
necessary for
reasoning with
hypothesis
How do we prove an implication?
-introduction
(k)
…
{Assume}
P
…
flag shows the validity of a
hypothesis
(l-1) Q
{ -intro on (k) and (l-1)}
(l) P Q
time for an
example!
Negation introduction
How do we prove a negation?
¬-introduction
(k)
val
¬P=P
…
{Assume}
P
…
(l-1) F
{¬-intro on (k) and (l-1)}
(l) ¬P
-intro
F
Negation elimination
How do we use a negation in a proof?
val
P ∧ ¬P ⊨ F
¬-elimination
|| ||
(k)
P
|| ||
(l)
¬P
(m)
|| ||
{¬-elim on (k) and (l)}
F
(k < m, l < m)
time for an
example!
F introduction
How do we prove F?
val
P ∧ ¬P ⊨ F
F-introduction
…
(k)
P
…
the same as ¬-elim
only intended bottom-up
(l)
¬P
(m)
…
{F-intro on (k) and (l)}
F
(k < m, l < m)
F elimination
How do we use F in a proof?
it’s very useful!
val
F⊨P
F-elimination
|| ||
(k)
F
|| ||
{F-elim on (k)}
(m) P
(k < m)
Double negation introduction
How do we prove ¬¬?
val
P ⊨ ¬¬P
¬¬-introduction
…
(k)
(m)
P
…
{¬¬-intro on (k)}
¬¬P
(k < m)
Double negation elimination
How do we use ¬¬ in a proof?
val
¬¬P ⊨ P
¬¬-elimination
|| ||
(k)
¬¬P
|| ||
{¬¬-elim on (k)}
(m) P
(k < m)
Proof by contradiction
Theorem
Proof
(sub)goal
If x2 is even, then x is even (x ∊ Z).
generating hypothesis
Let x∊ Z
Assume x2 is even.
Assume that x is odd.
pure hypothesis
conclusion
Then x = 2y+1 for some y ∊ Z.
2 = 4y2 + 4y + 1 =
Then x2 =if(2y+1)
y
is
not
free
in
P
and
2(2y2 + 2y) + 1 and 2y2 + 2y ∊ Z.
Q
So, x2 is odd
a contradiction.
So, x is even
Thanks to Bas Luttik
Proof by contradiction
How do we prove P by a contradiction?
¬P
proof by
contradiction
(k)
val
val
F ⊨ ¬¬P ⊨
P
{Assume}
¬P
…
¬-intro
(l-1)
F
{¬-intro on (k) and (l-1)}
(l) ¬¬P
{¬¬-elim on (l)}
(l+1) P
(k < m)
¬¬-elim
time for an
example!
Disjunction introduction
How do we prove a disjunction?
val
¬P Q ⊨ P∨Q
val
¬Q P ⊨
P∨Q
∨-introduction
(k)
…
{Assume}
¬P
…
(l-1) Q
{∨-intro on (k) and (l-1)}
(l) P∨Q
-intro
Disjunction introduction
How do we prove a disjunction?
val
¬P Q ⊨ P∨Q
val
¬Q P ⊨
P∨Q
∨-introduction
(k)
…
{Assume}
¬Q
…
(l-1) P
{∨-intro on (k) and (l-1)}
(l) P∨Q
-intro
Disjunction elimination
How do we use a disjunction in a proof?
val
P ∨ Q ⊨ ¬P Q
val
P∨Q⊨
¬Q P
∨-elimination
|| ||
(k)
P∨Q
|| ||
{∨-elim on (k)}
(m) ¬P Q
(k < m)
Disjunction elimination
How do we use a disjunction in a proof?
val
P ∨ Q ⊨ ¬P Q
val
P∨Q⊨
¬Q P
∨-elimination
|| ||
(k)
P∨Q
|| ||
{∨-elim on (k)}
(m) ¬Q P
(k < m)
Proof by case distinction
How do we prove R by a case distinction?
proof by
case distinction
|| ||
(k)
val
(P∨Q)⋀(P R)∧(Q R) ⊨ R
P∨Q
|| ||
(l)
P R
|| ||
(m) Q R
|| ||
(n)
{case-dist on (k), (l), (m)}
R
(k < n, l< n, m<n)
Bi-implication introduction
How do we prove a bi-implication?
-introduction
val
(P Q)∧(Q P) ⊨ P Q
…
(k)
P Q
…
(l)
Q P
∧-intro
…
{ -intro on (k) and (l)}
(m)
P Q
(k < m, l < m)
Bi-implication elimination
How do we use a bi-implication in a proof?
val
P Q ⊨ (P Q)∧(Q P)
-elimination
|| ||
(k)
|| ||
P Q
(k)
|| ||
|| ||
{ -elim on (k)}
(m)
P Q
P Q
{ -elim on (k)}
(m)
(k < m)
Q P
(k < m)
∧-elim
Derivations / Reasoning
with quantifiers
Proving a universal
quantification
To prove
Proof
∀x[x ∊ Z ∧ x ≥2 : x2 - 2x ≥0]
Let x∊ Z be arbitrary and assume that x≥2.
Then, for this particular x, it holds that
if y is
free
x2 - 2x = x(x-2)
≥0not
(Why?)
in P and Q
Conclusion: ∀x[x ∊ Z ∧ x ≥2 : x2 - 2x ≥0].
∀ introduction
How do we prove a universal quantification?
∀-introduction
(k)
with
generating
hypothesis
…
{Assume}
var x; P(x)
…
similar to
-intro
flag shows the validity of a
hypothesis
(l-1) Q(x)
{∀-intro on (k) and (l-1)}
(l) ∀x[P(x) : Q(x)]
Using a universal quantification
We know
∀x[x ∊ Z ∧ x ≥2 : x2 - 2x ≥0]
Whenever we encounter an a ∊ Z such that a≥2,
we can conclude that a2 - 2a ≥0.
For example, (523872 - 2·52387) ≥0
since 52387 ∊ Z and 52387 ≥2.
∀ elimination
How do we use a universal quantification in a proof?
∀-elimination
|| ||
(k)
∀x[P(x) : Q(x)]
a is
an object
(variable, number,..)
which is “known” in line
(l)
|| ||
time for an
example!
similar to
implication
but we need
a witness
(l)
P(a)
(m)
|| ||
{∀-elim on (k) and (l)}
Q(a)
(k < m, l < m)
the same “a” from line (l)
∃ introduction
How do we prove an existential quantification?
∃-introduction
(k)
val
¬ ∀x[P(x):¬Q(x)] ⊨
∃x [P(x) : Q(x)]
…
{Assume}
∀x[P(x) : ¬Q(x)]
…
(l-1) F
{∃-intro on (k) and (l-1)}
(l) ∃x [P(x) : Q(x)]
and ¬-intro
∃ elimination
How do we use an existential quantification in a proof?
val
∃x [P(x) : Q(x)] ⊨
¬ ∀x[P(x):¬Q(x)]
|| ||
∃-elimination
(k)
∃x [P(x) : Q(x)]
|| ||
(l)
∀x[P(x): ¬Q(x)]
(m)
|| ||
{∃-elim on (k) and (l)}
F
(k < m, l < m)
and ¬elimination
time for an
example!
Proofs with ∃-introduction and ∃elimination are unnecessarily long and
cumbersome…
There are alternatives!
Proving an existential
quantification
To prove
Proof
∃x[x ∊ Z : x3 - 2x - 8 ≥0]
It suffices to find a witness, i.e., an x∊ Z satisfying
x3 - 2x - 8 ≥0.
x = 3 is a witness, since
if y3is∊ Znot
andfree
33 - 2·3
in -P8 and
= 13 ≥0
Q
Conclusion: ∃x[x ∊ Z : x3 - 2x - 8 ≥0].
also x = 5 is a witness…
Alternative ∃ introduction
How do we prove an existential quantification?
∃*-introduction
by finding
a witness
…
(k)
P(a)
…
strategy: wait until a witness
object appears
(l)
Q(a)
(m)
…
{∃*-intro on (k) and (l)}
∃x [P(x) : Q(x)]
(k < m, l < m)
does not
always work
Using an existential
quantification
We know
∃x[x ∊ R : a - x < 0 < b - x]
We can declare an x ∊ Z (a witness) such that
a-x<0<b-x
and use it further in the proof. For example:
From a - x < 0, we get a < x.
From b - x > 0, we get x < b.
Hence, a < b.
Alternative ∃ elimination
How do we use an existential quantification in a proof?
we pick a witness
∃*-elimination
|| ||
(k)
∃x [P(x) : Q(x)]
x must be new!
|| ||
{∃*-elim on (k)}
(m) Pick x with P(x) and Q(x)
time for an
example!
(k < m)
© Copyright 2026 Paperzz