CS245 - Winter 2010, Lecture 4
Shai Ben-David
Proofs by structural Induction
In the previous lecture we proved that one can apply proofs by structural induc-
tion to show that a property holds for all elements of a set deﬁned as
I
(
A,P
).
Namely,
Theorem [Proof by structural induction]
:
Let
T
denote any property of
elements of a domain set
X
. For any sets
A
and
P
, if
1.
T
holds for all members of
A
.
2.
T
is retained by the operations of
P
. Namely, for every operation,
p
∈
P
and for every
x
1
,...,x
m
∈
X
, if
T
holds for each of
x
1
,...,x
m
then
T
holds for
p
(
x
1
,...,x
m
)
(note that the ’
m
’ here denotes the number of of
inputs the operation
p
requires. So if
p
is operates on single elements, like
the
¬
operation,
m
= 1
, if
p
takes pairs of elements as input, like the
∧
connective, then
m
= 2
, etc.).
Then
T
holds for all members of
I
(
A,P
)
.
A proof by structural induction is quite similar to the familiar ”proofs by
induction” for the natural numbers. That is, we have a
base step
, in which we
show that the property in question applies to all members of the core set,
A
(this
step is analogous to the base step on proofs by induction for natural numbers, in
which one shows that the property holds for the number 0). The second step in
a proof of this type is the
inductive step
. In the inductive step one has to show
that the property is preserved under the application of the operators in
P
. In
other words, one need to show that if any elements
b
1
,...b