
Book of Proof – An introduction to the methods of proving mathematical theorems - nonrecursive
http://www.people.vcu.edu/~rhammack/BookOfProof/
======
ColinWright
I've only read small amounts of this just to get a taster. My impression is
that is readable, careful, and (so far) accurate.

It is readable enough that there is a danger that a reader might read it from
cover to cover and believe that they now understand it all. But like
programming, mathematics is not a spectator sport - you need to engage it in
hand-to-hand contact to get the most out of it.

Reading a book about programming without trying to write programs leaves you
with only a superficial understanding, and potentially no extra ability.
However, reading a book about programming and _writing programs_ is immensely
valuable. And so it is with proofs, and mathematics in general.

So don't just idly read this book and believe you now understand proofs -
engage with it. Try to find errors in it, do the exercises, go back and re-
read - you will get more the second time through. And based on the quick dips
I've had, it will be worth it.

------
venomnert
I am planning on using "How to Prove it" by Daniel J. Velleman to prepare for
Tom Apostol's Calculus Vol 1. How does "Book of Proof" compare to "How to
Prove it" .

~~~
jonnybgood
How to Prove It is more comprehensive. Book of Proof is great as a supplement
if you get both.

~~~
venomnert
Sounds good!

------
unclesaamm
I read this book cover to cover and did all of the exercises earlier this
year. I didn't take any upper math in college that involved proofs, and this
book has really helped me get over my fear about it.

------
whitten
I'm interested in Common Logic (a form of First Order Logic that allows for
some almost Second Order Logic activities) (info at
[http://cl.tamu.edu/](http://cl.tamu.edu/) )

Does anyone know how much of this "Book of Proof" would require re-write to
handle Common Logic ?

~~~
pron
"Normal" math is usually not done using any formal logic at all. You can try,
but you'll enter a world of pain regardless of the formal system you choose.
Logic and foundational theories are _designed_ to remain out of the way and
relatively hidden. It's good to know that they're there, but you don't
actually use them in the day-to-day (unless you decide that logic is your
field of expertise, or you're interested in the sisyphean task of formalizing
proofs).

------
stephenitis
Great to see Virginia Commonwealth University(VCU) highlighted for something
other than NCAA basketball. There are some real gems at this university that
often times get overshadowed by the numerous other universities also residing
in Virginia.

------
jimhefferon
A good resource for books that are Free, including this one, is the American
Institute of Mathematics [http://aimath.org/textbooks/approved-
textbooks/](http://aimath.org/textbooks/approved-textbooks/).

------
cgearhart
As a TA at Georgia Tech, this has become my go-to reference for OMS students
preparing to take the Computability, Complexity, and Algorithms course.

------
ausjke
Great book. Another one is "Proofs from THE BOOK"

------
agentultra
Also a good (non-free) book: _A Logical Approach to Discrete Mathematics_

------
jthacker
Is it really true that "all of mathematics can be described with sets"?

~~~
quantumhobbit
Yes. But true in the sense that anything computable can be computed by a
Turing machine. sets are universal building blocks but most of the time you
want a higher level abstraction.

~~~
trurl
"Set theory is the 'assembly language' of mathematics. Type theory is the
'functional language' of mathematics."

~~~
jonnybgood
According to who? I don't think that's a very good analogy. I think it's
better to say type theory is just another language in a 'family of assembly
languages'. Its superiority is very debatable and not commonly accepted as a
foundation.

~~~
fmap
I think it's a nice analogy. It's a bit tongue in cheek, but it does give you
the right idea when you compare it to programming languages.

Set theory is a reductionistic system. It's supposed to give a foundation
which is as "small" as possible. In set theory you start with almost nothing
and you have to encode all useful concepts into sets before you can start
proving/programming.

Compare this to Turing machines, where you start with a very primitive model
of computation. The first step in most treatments of Turing machines is
similar to set theory, you show that some useful concepts (associative memory,
high-level control flow, etc.) can be encoded into Turing machines. You then
use this encoding to construct arbitrary programs.

Type theory starts out with a functional programming language and you derive
new concepts from free constructions. In type theory you shouldn't be encoding
things at all. You should be describing concepts (~adding an API) and possibly
extending your model (~the compiler).

As analogies go, I'd say that this one is pretty accurate.

------
akeck
This is a great resource! I would have loved to have had it in undergrad. I
ended up reading a semi-expensive used copy of 100% Mathematical Proof by
Rowan Garnier and John Taylor for my Abstract Algebra class.

------
j1vms
Excellent book. The chapter on cardinality gives a well-written, clear
treatment of this important concept (e.g. # of elements in countably vs.
uncountably infinite sets).

------
muraiki
This looks wonderful. I've had to give up on some MOOCs because I lacked the
math background to understand proofs. This is exactly what I needed.

------
nathanyo
Used this text for my Introduction to Proofs course I took this summer. Good
quality text and exercises are pretty good.

------
pjscott
Good explanations! As I recall this stuff is usually introduced as part of
classes along the boundary between basic and higher math, so having a mini-
book about it seems a bit unconventional -- but it's a really good idea. Nice
straightforward presentation. Very readable.

------
nickpsecurity
Ok, so this is intro to general proofs instead of software proofs, right?

~~~
blatant
Yes, it most certainly is.

~~~
nickpsecurity
Aight, thanks! Might add it and others in comments to my collection. Need some
basic intros before I do the deep stuff.

