4

Ask HN: How to learn mathematical proofs from scratch?

 1 year ago
source link: https://news.ycombinator.com/item?id=31800081
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

Ask HN: How to learn mathematical proofs from scratch?

Ask HN: How to learn mathematical proofs from scratch?
71 points by greymalik 4 hours ago | hide | past | favorite | 53 comments
Where can I find an exceedingly gentle introduction to writing proofs? My math education is limited to non-AP high school classes many years ago. I’m now trying to relearn what I’ve forgotten (and then go beyond that) so I would like to grasp the underlying principles rather than only doing rote exercises to memorize techniques for getting answers without deeply understanding what’s behind those techniques. But I need to start with really, really simple proofs that explain the very basic techniques. For example, I know things like (a^b)^c = a^bc, and that I can solve for x in x/a = b/c by cross multiplying so that xc = ab, but I can’t prove either of those things. How do I learn to develop their formal proofs? Any of the texts I’ve seen so far are much too advanced for me.
“Proofs from the Book” is a great (and IMO fun) book. The 3Blue1Brown YouTube channel is amazing as well.
Undergrad discrete mathematics and symbolic logic made proof writing click for me. You have a set of things known to be true as handed down from on high, you have a set of operations to transform those true things into equivalent statements, you then go about the work of using those transformations to connect true statements together into a massive graph and extend that graph through speculation if possible.

With that intuition it's simply a matter of slogging through a proof textbook like Velleman's "How to Prove It" until you have the confidence to work through the texts that truly interest you. If you don't feel like a clueless fool you're not trying hard enough. Confusion and self-doubt are sure signs you're finally learning something.

s.gif
"How to Prove It" was my textbook in my Abstract Algebra class. Absolutely loved it.
I did math in undergrad and struggled with proofs at first.

I learned a lot from working through An Infinite Descent into Pure Mathematics by Clive Newstead. It's designed to get someone with minimal math background started with the basics of pure math. Becoming comfortable with proofs happens along the way.

https://infinitedescent.xyz/

Lately, I have also really enjoyed 99 Variations on a Proof by Philip Ording, which is not a textbook. Rather it is an Exercises in Style type book that explores many different ways to express a mathematical proof of the same simple fact. Some of the proofs are whimsical, and others offer genuine insight. If you're looking for something lighter than a textbook that is still interesting and somewhat useful, this book is more approachable.

https://www.amazon.com/99-Variations-Proof-Philip-Ording/dp/...

At Imperial College London there's an intro to proofs course taught with interactive exercises supported by a proof assistant, Lean. The exercises (and the proof assistant) are freely available online at https://www.ma.imperial.ac.uk/~buzzard/xena/natural_number_g....

Disclaimer: I didn't fully work through this game, I never studied at ICL and I can't vouch for its effectiveness, I simply heard about it and thought it was interesting and relevant to your question.

(Here's also a talk by the professor about his rationale for using Lean: https://youtu.be/Dp-mQ3HxgDE).

s.gif
This might not be the best introduction for someone who hasn't proved "a = b iff a - c = b - c", and e.g. may not be familiar with "if and only if," or the fact that P => Q is considered true if P is false, even if Q is also false.
The moment that clicked for me was when a professor told us that there is just few ways to prove theorems and thats it.

https://www.cs.virginia.edu/~asb/teaching/cs202-spring05/sli...

> I can solve for x in x/a = b/c by cross multiplying so that xc = ab

Multiply both sides by a

xa/a = ba/c; a ≠ 0

Simplify

x = ba/c; a ≠ 0

2 books I recommend: how to prove it, and the book of proof, get a real analysis book, and if possible take a course. it took me around 5 years to be able to prove stuff... you need relaxation, fluid thinking, and a breadth of knowledge of facts you can use to prove stuff

we can try your example

we want to show that (a^b)^c = a^bc

let's work on the LHS

by the definition of an exponent, we know that a^b is just a * a * ... * a b times, so we can rewrite it as:

(a_0 * a_1 * ... * a_b)^c

by the same definition, we can multiply the quantity inside the parenthesis by itself c times:

(a_0 * a_1...a_b)_0 * (a_0 * a_1 * ... * a_b)_1 * ... * (a_0 * a_1 * ... * a_b)_c

now, use the fact that a^m * a^n = a^(m+n) to consolidate the parenthesis, since each factor has an exponent of 1 we can use simple counting:

(a^b)_0 * (a^b)_1 * ... * (a^b)_c

Repeat the previous step c times, we end up with

a^(b_0 + b_1 + ... + b_c)

which of course is just

a^(bc)

therefore (a^b)^c = a^(bc)

I had a lot of fun going through incredible.pm/ which is gamified writing set theory proofs. Following along with Software Foundations[0] also teaches you how to use the Coq proof assistant and write proofs in it, which I found entertaining. I think of proof solving as manipulating symbols from A to B, with a proof that each intermediate transformation is valid and sound.

0: https://softwarefoundations.cis.upenn.edu/

I have checked several books.

The best one right now is Proofs: A Long Form Textbooks by Jay Cummings. I wholeheartedly recommend it. And this is exactly the one you are looking for.

It is fully intended to teach learners how to write proofs, and not to impress one's peers or get citations.

I loved the book.

I picked it up because although I had a decent curriculum-based Maths education as a Physics undergrad and wrote many proofs, these proofs were always learned in a domain-dependent way. I was clueless about writing a new proof in a new domain.

This book filled a large hole in my life.

And I recommend it.

One other book that is good and should be read if you want to rigorously study Calculus from ground up, and it also teaches you a decent amount of Analysis, too. It's Spivak's Calculus. It's one of the best Math books ever written.

I am in a math-learning Discord server led by a PhD guy, where everyone works through math books recommended by him, solves the exercises and posts the solutions to get checked. Of course, you can always ask questions.

All of the math is proof-based, so we start with books that teach just that: proof writing, basic logic and set theory. Then you can branch out and learn what you like. Each person goes at their own pacing.

One thing is that you will have to put a lot of effort into learning yourself; there is no silver bullet, regardless of whether you know proofs or not.

If you want to join, you can PM u/CheapViolin on Reddit.

s.gif
I'm also in this server. It's honestly the single best place, with the one caveat that you must be serious about it. I've gone through proofs, basic algebra, basic analysis, linear algebra, metric spaces, and am currently doing deeper work on Ring Theory, Statistics and Set Theory, all under the PhD's guidance, and it's literally worth its weight in gold.
Math undergrad student here. As another comment has already mentioned we really start learning proofs in Analysis I (the introductory Linear Algebra course in my school wasn't proof heavy) but before that at least in my school we take Intro to math I and Intro to math II, I can't recommend you a book but the topics that are covered are usually basic set theory, rules of logical inference and induction. For Analysis I my prof used baby Rudin however I don't think it's a good book for self study (I'm a bit biased here since I'm really having a hard time with baby Rudin). Two books that are somewhat a more gentle introduction to Analysis are Kenneth A. Ross' Elementary Analysis and Abbott's Understanding Analysis.
Book of Proof by Hammok is a gentle introduction. As others have said you will likely have to go back further , in which case Kahn Academy has great vidoes, and MIT has OpenCourseWare which is great when you figure out the names of the things you are missing, and 3blue1brown has incredible videos on a lots of topics.

It will take time so go at your own pace and enjoy yourself!

You need a good tutor. I suggest finding a math major at a local university to teach you.

The problem is that, from what I can infer from your description, you don't have the fundamental skills necessary to self-tech effectively. You could try using some of the resources mentioned by other commenters, but chances are this process will much more tedious than if you had a mentor, and you'll probably come to believe various incorrect things that you'll have to unlearn later. Real-time feedback and correction would be more effective.

Also, I disagree with some of the advice given here. (Suggesting resources on Coq and ZFC to someone asking how exponents work? Really?) Tread carefully, and prefer the recommendations of people who have experience teaching high school students and undergraduates.

s.gif
Yes, you are right. I've taught proofs many times, both in a Discrete Math class largely for CS majors, and in a Math major course (done inquiry style). People often convince themselves that they have things right when they are mistaken. Everyone does it, even the best students. OP, you should try to get someone to work with you.
Not quite the question you asked, but "Classic Set Theory for Guided Independent Study" by Derek Goldrei is a great self-study intro to ZFC, which is the formal foundation of any other math you'll read about. I think the early chapters are simple enough that they'd make good practice for reading and writing proofs (though I didn't encounter it until I already had some experience doing that. I still think it's an exceptionally good book for self-study, though)

With proofs, I also think there are three layers:

1. How do I draw logical conclusions from premises. This is the most straightforward part.

2. What are some of the clever tricks mathematicians use for doing this (e.g. constructing non-intuitive counterexamples, finding equivalences between two seemingly incompatible things, etc). This requires reading other proofs, and is slower, but can be very fun if you like math and find clever proofs beautiful.

3. Finding the right English words and phrases to capture the logic you have in mind (the language used in proofs is not normal English, and it has its own idiosyncrasies and conventions. Like other mathematical notation, it's often specific to particular fields of math and sometimes to a specific author). This also requires reading proofs, I think, and is also where one benefits the most from formal instruction ("how do I say X in my proof?") but I think you can get there on your own with some persistence. It's not Klingon either—proofs are supposed to be readable—but it's a bit like code, maybe, or legalese. If you just try to write nice prose, other mathematicians may find it confusing or non-rigorous.

It can be good to separate the three. Specifically, when learning a new field of math, the proofs sometimes don't feel rigorous to me right away, but once I get used to the the basics and the linguistic conventions, I'm more able to fill in the holes in my head

s.gif
> Specifically, when learning a new field of math, the proofs sometimes don't feel rigorous to me right away, but once I get used to the the basics and the linguistic conventions, I'm more able to fill in the holes in my head

the most complicated proofs i ever dabbled in were things like proofs of convergence for algorithms, but i encountered various types of proofs in several intro courses: computability and theory of computation, discrete math, introduction to higher math and then some upper div cs courses in ai/ml.

what you say here rings absolutely true to me. as someone coming in with a long time background in coding and computers, i always found myself wanting to apply the same unambiguousness and precision that one uses to express computations in a programming language in mathematical proofs. this was a huge stumbling block for me! proofs are written in shorthand (!) by humans for other humans who have the same base knowledge, obvious things are omitted. once you have that knowledge it makes sense, but before that it seems like giant leaps are being taken without a rigorous line of reasoning between them.

to answer op's question: "an introduction to mathematical reasoning" by peter eccles was helpful for me. it's basically an expanded version of what you'll find at the start of many intro cs/math courses. another option, if sets, number theory and such are confusing to you is the computability angle (cs theory, computation). personally i found this material a lot easier to reason about which then imputed confidence, which is really the magic ingredient for good proofs.

s.gif
I think that if you want to go away from "proofs written in shorthand by humans for other humans", then you are talking about formal verification of proofs. So, you are talking about something like making your proofs understandable to Coq or Isabelle, or maybe reading how others did it: you can start from http://us.metamath.org/
Typically before one gets to the point of really understanding how to prove things a fair amount of brain washing occurs. For instance, few people know why the distributive property holds but they use it all the time. Most people are comfortable with the idea that a negative real number times a positive real number is a negative real number but they can’t prove it. In order to prove these basic facts one needs a fair amount of what is called mathematical maturity.

The most basic subject to understand mathematical proofs is Euclidean geometry. There you will learn the basics of proofs and what it means to prove something.

Let’s look at x/a = b/c. You want to show that this equation has the same exact solution set as xc = ab. In order to prove this rigorously you’ll need to prove things about associativity. You’ll also need to prove that a unit isn’t a zero divisor in the real numbers. What we see is that to prove seemingly simple statements requires some machinery and to understand the necessity of this machinery requires mathematical maturity.

But maybe you don’t want to rigorously prove the above. Maybe you just want to understand why it is plausible that this is true. For that, pick up a beginning algebra book and actually read what it says and try to understand it. This is hard to do on your own.

Here’s a plausible explanation for why x/a = b/c has the same solution set as xc=ab. Note that a and c must be nonzero because we can’t divide by zero (this requires proof!). We note that

(x/a) times a

Is the same thing as x times (1/a times a). This is due to associativity. A nonzero number times it’s reciprocal is 1. And 1 times anything is itself. So x/a times a simplifies to x.

So,starting with

x/a = b/c

I can multiply both sides by a. I can do this since a is invertible and multiplying by an invertible element preserves equality (requires proof!). So what I get, after simplifying, is

x = (b/c) times a

I can rearrange things (by associativity) to write this as

x = (ab)/c

Now multiply both sides by c to get (I skipped a step by multiplying and simplifying at the same time)

xc = ab.

s.gif
Thank you for that. It’s helpful. I suppose my next question is how do I attain mathematical maturity most efficiently?
s.gif
One thing that will help a lot is being thorough. Try to understand as well as you can, try to fill in missing steps and details, make sure the text itself is actually clear and correct and is not missing something. Try to guess how a proof might start before looking at it.

Broadening your field of view will also help a lot. Some introductory abstract algebra (groups, rings, vector spaces) would be a solid next step in my opinion, because there you will have sets of axioms and lots of proofs and you will learn about properties such as commutativity, associativity, inverses and identities in a more abstract and general way.

s.gif
Do you want something at the level of beginning algebra? Or something more advanced?
s.gif
I know how to do beginning algebra and geometry but I don’t necessarily know why the various rote techniques work. So beginner as far as intuition. But also beginner for technique for things like linear algebra and calculus that I never learned at all.
s.gif
There is a book called “Number, Shape, & Symmetry”. You can download it at z-lib.org. It’s a book that will give you the flavor of mathematics and prove some of the basic algebraic properties. It does not require calculus but will require a desire to understand. It’s an art form to read mathematics and understand. I recommend the book along with using a tutor or math.stackexchange.com.

Good luck!

s.gif
+1 for Euclidian geometry. Once you “prove” that you can find angle B and C knowing angle A it’s a pretty eye opening experience. This is why this is/was? emphasized in middle school geometry.
s.gif
I disagree regarding Euclidean geometry. Euclid never does any proofs by induction, which is enough on its own to disqualify Euclid as a good introduction to proof.

What you want is a book that combines an introduction to logic with a bunch of different proofs from different areas of math, such as set axioms, relations, functions, sequences, construction of real numbers, etc. There are many books like this, here is one that includes all of that plus a little number theory and algebra towards the end: http://libgen.rs/book/index.php?md5=7E4D97D2F58B91D052595E68...

The equation x/a = b/c has equivalent fractions on either side of the "equals" sign. You can make equivalent fractions by multiplying or dividing both numerator and denominator by the same non-zero number.

Take a square that has a equal parts, with x parts shaded. It represents x/a.

You can split up the whole square in a different way but keep the same area. This square has c equal parts, with b parts shaded. It represents b/c.

You can represent the work by multiplication and division, too.

Take, for example, 6/12. Divide both numerator and denominator by 3. You get the equivalent fraction 2/4.

The area does not change. Hope it makes sense.

Susan Fowler has a guide for learning math, section 2 is "Introduction to Proofs." She suggests "How to Prove It: A Structured Approach" by Daniel J. Velleman.

https://www.susanrigetti.com/math

Many students begin learning proofs in Analysis 1 or Linear Algebra. The most pedagogically friendly book I've seen for this is Terence Tao's Analysis 1.
For me Coq - the automated proof assistant was it. You can consider it a game where you try to prove something. And it is green and says okay when you are correct. If you just do it on paper you are never sure about if you are correct.
s.gif
So, what would be a gentle introduction to Coq? Any recommendations?
Many people recommend learning to write proofs in the context of a class or text that's focussed on another topic, e.g. geometry or linear algebra or real analysis or abstract algebra. But I preferred learning from a book that was more proof-focussed and added context along the way. Here's the text I learned proof-writing from, and which I highly recommend: https://www.whitman.edu/mathematics/higher_math_online/
Regardless of which text you choose, I recommend writing proofs (full sentences and all) for the solutions that were harder to come by, or you feel difficulty expressing clearly. And if you can, get some feedback on the proofs. (Happy to take a look at a few if you DM me)

The process of writing will hopefully help you:

  - build awareness of when your arguments are not airtight or when you make false assumptions
  - modularize your thinking 
  - become more fluent with logical "vocabulary"
As for books, my personal favorites were Problem Solving Strategies (Engel) and Art and Craft of Problem Solving (Zeitz). They're both really approachable, have plenty of examples, and will give you a different perspective on what math can be about.
When I did my Pure Math undergrad this book was pre-reading for our intro to proofs course:

Journey into Mathematics: An Introduction to Proofs (Dover Books on Mathematics) https://a.co/d/csM8jRd

I seem to remember that by design it didn't require any advanced maths to get started constructing proofs. Good luck!

There is a very useful website where you can prove these basic concepts one by one, they made a little game out of it, in order to show the underlying software, which is leanprover: https://www.ma.imperial.ac.uk/~buzzard/xena/natural_number_g...
There is a website where you can prove these things one by one, they made a little game out of it, using the leanprover software. I highly recommend it! https://www.ma.imperial.ac.uk/~buzzard/xena/natural_number_g...
If you are into Coursera / video lectures this lecture series fits the bill for "exceedingly gentle introduction to writing proofs": https://www.coursera.org/learn/mathematical-thinking

Good luck!

For me the book that changed my perspective on proofs was : Proofs from THE BOOK by Martin Aigner and Günter M. Ziegler. I always thought that proofs are just means to an end, but this book showed me that proofs can be more interesting than the end result. The book begins with six proofs of the infinitude of the primes, and you can read it in any order. It contains some of the most elegant proofs of mathematical theorems.
This book has a creative commons license and is good for beginners:

https://www.people.vcu.edu/~rhammack/BookOfProof/

It’s important to get feedback on your proofs, so it’s worth learning to use Lyx which is a LaTeX editor - once you know some LaTeX, you can post questions on math.stackexchange.com and people are usually glad to help

Which texts have you been looking at that are too advanced for you?

If you're missing some fundamental knowledge of algebra or other high school level math, you should refresh that. You can do so through Khan Academy (https://www.khanacademy.org/math/).

The proof course I took mostly started with examples from number theory to allow students to focus on the mechanics of writing proofs. The course seems to have replaced the book I used (Mathematical Proofs: A Transition to Advanced Mathematics Book by Albert D. Polimeni, Gary Chartrand, and Ping Zhang) with this freely accessible book https://www.people.vcu.edu/~rhammack/BookOfProof/Main.pdf. This course was a prereq to the analysis, algebra, and other proof based upper level courses in math.

The most important thing is to work the examples in the chapters and solve the exercises in the back of the book. You can usually find lecture notes, problem sets, and assignment solutions on the web these days. If you're having problems with material, someone else probably has, so there is a good chance your question has been asked on Reddit or other math specific forums.

If you're more interested in math applied to computer science, then you can look for a book on discrete math. The only discrete math book I'm familiar with doesn't really make it explicit that you're learning proof techniques the way the above books do, so I can't really recommend it as a first book for self-study.

The sequence of topics covered for a course from Book of Proof by Hammack: - Sets and basic definitions: 1.1 - Logic: 2.1, 2.2, 2.3 - Proofs: 4.1, 4.2, 4.3, 4.4, 4.5 - Logic: 2.4, 2.5, 2.6 - Contrapositive Proof: 5.1, 5.2, 5.3 - Logic: 2.7, 2.8, 2.10 - Proving non-conditional statements: 7.1, 7.2, 7.3, 7.4 - Disproof: 9.1, 9.2, 9.3 - Mathematical Induction: 10.1 and 10.3 - Sets: 1.3, 1.4, 1.5, 1.6, 1.7 - Proofs involving sets: 8.1, 8.2, 8.3 - Sets: 1.2 - Relations: 11.1, 11.2, 11.3, 11.4, 11.5 - Functions: Chapter 12 - Proof by contradiction: Chapter 6 - Cardinality: Chapter 14

College class for it, with a book for it.

Lots of people are introduced to it in their linear algebra class which is a terrible way to learn it. You want a book like "Proofs and Fundamentals" by Ethan Bloch.

How to Prove It by Daniel J. Velleman.

"Geared to preparing students to make the transition from solving problems to proving theorems, this text teaches them the techniques needed to read and write proofs. The book begins with the basic concepts of logic and set theory, to familiarize students with the language of mathematics and how it is interpreted. These concepts are used as the basis for a step-by-step breakdown of the most important techniques used in constructing proofs. To help students construct their own proofs, this new edition contains over 200 new exercises, selected solutions, and an introduction to Proof Designer software. No background beyond standard high school mathematics is assumed. "

s.gif
Came to recommend this. This book was used in my undergrad discrete math class. I really enjoyed it and it paid dividends as I finished my math degree.
> For example, I know things like (ab)^c = abc

Is the formatting wrong on this? Because this isn't an identity.

s.gif
a^bc is ambiguous and could mean c × a^b. I encourage you to use a^(bc) to format this operation
I really liked "a book of abstract algebra" as a first step to learning more advanced topics. It isn't as much about deriving proofs, but moreso about how to think of mathematics in terms of abstract objects that are combined together.
Spend time on the mechanics (understanding and writing out full proofs) and spend some time on the intuition (why is this important, examples and counter-examples).

If you keep doing this, you'll build up a whole library of examples and counter-examples for various statements and you'll get a feeling of how you can approach any problem (of similar difficulty).

Start with any Real analysis I and Algebra I book, and try to understand every part of it - don't skim chapters, just work at your own pace. Your pace will improve over time, that's guaranteed.

And keep doing the same thing - work out the proofs, exercises, examples and counter-examples. Re-read old ones, etc.

A lot of math knowledge is really perfect or near-perfect understanding of the basic principles.

s.gif
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK