Discrete Mathematics for CS
Intuitively, the concept of proof should already be familiar. We all like to assert things, and few of us like to
say things that turn out to be false. A proof provides a means for
Proofs in mathematics and computer science require a precisely stated proposition to be proved. But what
exactly is a proof? How do you show that a proposition is true? Recall that there are certain propositions
called axioms or postulates, that we accept without proof (we have to start somewhere). A formal proof is a
sequence of statements, ending with the proposition being proved, with the property that each statement is
either an axiom or its truth follows easily from the fact that the previous statements are true. For example,
in high school geometry you may have written two-column proofs where one column lists the statements
and the other column lists the justifications for each statement. The justifications invoke certain very simple
rules of inference which we trust (such as if
is true and
is true, then
is true). Every proof has these
elements, though it does not have to be written in a tabular format. And most importantly, the fact that each
step follows from the previous step is so straightforward, it can be checked by a computer program.
A formal proof for all but the simplest propositions is too cumbersome to be useful. In practice, mathemati-
cians routinely skip steps to give proofs of reasonable length. How do they decide which steps to include in
the proof? The answer is sufficiently many steps to convince themselves and the reader that the details can
easily be filled in if desired. This of course depends upon the knowledge and skill of the audience. So in
practice proofs are socially negotiated.
During the first few weeks of the semester, the proofs we will write will be quite formal. Once you get more
comfortable with the notion of a proof, we will relax a bit. We will start emphasizing the main ideas in our
proofs and sketching some of the routine steps. This will help increase clarity and understanding and reduce
clutter. A proof, for the purposes of this class, is essentially a convincing argument. Convincing to whom?
First, to you, the author, second, to your classmates, third, to your professor and your TA.
In this lecture you will see some examples of proofs. The proofs chosen are particularly interesting and
elegant, and some are of great historical importance. But the purpose of this lecture is not to teach you about
these particular proofs (and certainly not for you to attempt to memorize any of them!). Instead, you should
see these as good illustrations of various basic proof techniques. You will notice that sometimes when it is
hard to even get started proving a certain proposition using one proof technique, it is easy using a different
technique. This will come in handy later in the course when you work on homework problems or try to