A good way to learn the <i>idea</i> of proofs is just high school plane geometry.<p>For<p><pre><code> x/a = b/c
</code></pre>
implying<p><pre><code> xc = ab
</code></pre>
that is part of the properties of the real number system. The properties also hold for the complex numbers and some somewhat goofy number systems, e.g., integers modulo a prime number. Since the properties hold for the reals, they also hold for subsets of the reals such as the rationals, integers, and natural numbers.<p>Here is how that goes: Thousands of years ago people could check with just simple examples that<p><pre><code> x/a = b/c
</code></pre>
implies<p><pre><code> xc = ab
</code></pre>
Soooo, thousands of years ago, maybe being less picky, critical, and skeptical than now, people just believed such properties.<p>Then ballpark the late 19th century, along came efforts to be more careful. The approach was, we will just DEFINE some things that look like the real numbers and then from the definitions prove as theorems the properties that hold. So, in short, bluntly, the reason<p><pre><code> x/a = b/c
</code></pre>
implies<p><pre><code> xc = ab
</code></pre>
for the real numbers is that we have DEFINED the real numbers so that what we get looks like the numbers people did work with 1000+ years ago and also have, from some proofs, the properties they observed we want to prove can hold.<p>In the proofs, a favorite tool is <i>mathematical induction</i>. So, suppose A is a non empty set. Suppose 1 is an element of A. Suppose for each n in A n + 1 is also in A. Then A it follows that A must contain the set of natural numbers (or this is the DEFINITION of the set of natural numbers).<p>To apply this tool, suppose B is a set, 1 is an element of B, and for each n in B n + 1 is also in B. Then, sure, A is a subset of B, and whatever property we used to define B, that property must also hold for all the elements of A, that is, all the natural numbers.<p>Thus mathematical induction proofs are also standard tools in proving correctness of iterative schemes in computer software.<p>The careful definition of the various number systems and proofs of their properties is standard material in a college math course in <i>abstract algebra</i>.<p>The course I took used<p>R. E. Johnson, <i>A First Course in Abstract Algebra</i>.<p>Might also consider texts by I. Herstein or S. Lang. But there are no doubt still more.<p>To jump just ahead, the main properties of the number systems that get proved in such texts are<p>identities:<p><pre><code> 0 + a = a
1a = a
</code></pre>
inverses:<p><pre><code> a + (-a) = 0
</code></pre>
for a not 0 there exists a unique <i>inverse</i> of a, 1/a, and<p><pre><code> a(1/a) = 1
</code></pre>
associative:<p><pre><code> a + (b + c) = (a + b) + c
a(bc) = (ab)c
</code></pre>
commutative:<p><pre><code> a + b = b + a
ab = ba
</code></pre>
distributive:<p><pre><code> a(b + c) = ab + ac
</code></pre>
So, define a <i>field</i> -- the leading examples are the rational, real, and complex numbers. But there is also the integers modulo a prime.<p>Then with a field can define a vector space, inner products, norms, metrics, topologies, and continuous functions.<p>Then can define linear functions and how to represent them with matrix algebra. Then can show that matrix algebra has identities, sometimes inverses, and has associative operations. Addition is commutative but multiplication usually is not. But multiplication is distributive over addition.<p>Now we are into the <i>linear algebra</i> part of a course in <i>abstract algebra</i>. There can learn about principle components and dimensionality reduction, IQ testing, etc. maybe useful in some AI approaches. Can learn about convexity, linear programming, Lagrangian relaxation, group representations, error correcting coding, and get a start on Hilbert space.<p>The standards of precision in proofs is especially high.