
by eminent mathematician G. Polya, How to Solve It will show anyone in any field how to think straight. In lucid and appealing prose, Polya reveals how the mathematical method of demonstrating a proof or finding an unknown can be of help in attacking any problem that can be “reasoned” out—from building a bridge to winning a game of anagrams. Generations of readers have relished Polya’s deft—indeed, brilliant—instructions on stripping away irrelevancies and going straight to the heart of the problem.
Also Mathematics should be approached from multiple perspectives including (but not limited to) Imagination, Conceptual, Graphical, Symbolic, Applications, Modeling, Sets/Relations/Definition/Theorem/Proof.
As i mentioned, for studying Mathematics you need both 1) Overview/General books which help in building interdisciplinary intuition/insight and 2) Textbooks which teach methods/tools and put them to use in solving real-world problems. You will find plenty of recommendations for textbooks both on HN and elsewhere on the web (especially college/university websites).
One excellent must-have book that straddles both is; Mathematics: Its Content, Methods and Meaning by Aleksandrov/Kolmogorov/Lavrent'ev. It covers almost all domains of mathematics until the early 20th century in an introductory succinct form up to undergraduate level. You can then look for individual textbooks for each of the domains given there. See the ToC at - https://store.doverpublications.com/products/9780486157870
W.r.t. books on Proofs, my first suggestion would be to not focus too much on the formal mechanics of it but try to understand the reasoning/logic behind it in a informal way i.e. the "proof idea" problem-solving process.
The first book to read here is George Polya's classic; How To Solve It. It gives a problem-solving process with heuristics and thumbrules which is the prerequisite to mathematical formalization - https://en.wikipedia.org/wiki/How_to_Solve_It
With the problem-solving process in hand, you can now get a gentle introduction to Logic/Discrete Maths leading to Proofs. One very accessible book with broad coverage and a bent towards CS is Nimal Nissanke's Introductory Logic and Sets for Computer Scientists. The author wrote it as the needed background mathematics for formal methods and hence contains everything (including doing Proofs) within one pair of covers - https://www.amazon.com/Introductory-Computer-Scientists-Inte...
I highly recommend getting all of the above before looking for more. Given your background (as i understood it) i think this would be the best and easiest path.
It really is about teaching you how to solve arbitrary problems. It teaches how to think. You can read pages xvi and xvii (in [0]) which will give you a good sense at what the book teaches. Half the first chapter is available too (this is an easy book to find online).
It's also technically a math book, but treating it as a standard math book is missing the point (honestly, missing the point of math altogether). It is really about how to solve problems, which that's what math is about. Math is really a collection of logics (plurality intended) that can be used to solve problems. Thing is, this is usually done in the abstract as mathematicians are usually interested in solving the general form of a problem. (The other part being that math is a high precision language, which is another thing it shares with programming languages). People might be scared off by the math notation in it, but I'd wager that anyone who can write anything more complicated than a hello world program is smart enough to make it through this book[1].
You do not need to be a mathematician to benefit from it, nor need to know much math at all. I'll make the strong claim that every single programmer, and anyone doing anything related to STE(A)M will benefit. If the "A" is surprising, I think you'll understand after reading a bit.
[0] https://www.amazon.com/How-Solve-Mathematical-Princeton-Scie...
[1] Variables in math are no different than in programming. The main difference is math is terse because it's typically hand written. I'd add that programming also has types but most people are writing with languages that do duck typing.
> only a small subset will contain actual understanding, a property that is independent of the model's input-output behavior?
I think this is close enough. I'd say "a model's ability to make accurate predictions is not necessarily related to the model's ability to generate counterfactual predictions."I'm saying, you can make extremely accurate predictions with an incorrect world model. This isn't conjecture either, this is something we're extremely confident about in science.
> I don't think I can agree. In your 2+a+b-2 example, that is an unnecessarily convoluted, but entirely correct model of addition.
I gave it as a trivial example, not as a complete one (as stated). So be careful with extrapolating limitations of the example with limitations of the argument. For a more complex example I highly suggest looking at the actual history around the heliocentric vs geocentric debate. You'll have to make an active effort to understand this because what you were taught in school is very likely an (very reasonable) over simplification. Would you like a much more complex mathematical example? It'll take a little to construct and it'll be a lot harder to understand. As a simple example you can always take a Taylor expansion of something so you can approximate it, but if you want an example that is wrong and not through approximation then I'll need some time (and a specific ask).Here's a pretty famous example with Freeman Dyson recounting an experience with Fermi[0]. Dyson's model made accurate predictions. Fermi is able to accurately dismiss Dyson's idea quickly despite strong numerical agreement between the model and the data. It took years to determine that despite accurate predictions it was not an accurate world model.
*These situations are commonplace in science.* Which is why you need more than experimental agreement. Btw, experiments are more informative than observations. You can intervene in experiments, you can't in observations. This is a critical aspect to discovering counterfactuals.
If you want to understand this deeper I suggest picking up any book that teaches causal statistics or any book on the subject of metaphysics. A causal statistics book will teach you this as you learn about confounding variables and structural equation modeling. For metaphysics Ian Hacking's "Representing and Intervening" is a good pick, as well as Polya's famous "How To Solve It" (though it is metamathematics).
[0] (Mind you, Dyson says "went with the math instead of the physics" but what he's actually talking about is an aspect of metamathematics. That's what Fermi was teaching Dyson) https://www.youtube.com/watch?v=hV41QEKiMlM
I think Euclid is fine as a historical document and interesting in a broad sense, but its kind of silly to start with a document from 300 BCE when you could start with, for example, "How to Solve It" (Polya). And even that text could use a rewrite to make it much more readable.
I have completed substantial education in both mathematics and physics and I would say one of the weaknesses of the standard system of courses in physics is that it more or less recapitulates the development of physics in a historical shape, which substantially obscures mathematical structures which are shared between disciplines developed at different times. For example, unless you were lucky or very curious you might never appreciate that the bras and covectors relate to kets and vectors in fundamentally the same way. You might only have had a vague sense that physics involves making a lot of sandwiches.
Don't get me wrong, I'd be delighted if my kid's school broke out The Elements, but I just don't think its an obvious pedagogical strategy to start math instruction (self or otherwise) there.
Read How To Solve It by Polya. The frustrations, dead ends, and trials are all a part of the process. It’s how we convince ourselves of truth and reinforce our understanding. It develops our curiosity and creativity.