# Formalization of mathematics

Mathematics is a beautiful game played on strings, which mathematicians call "theorems".
Here is a more understandable description of the semi-satire that follows: math.stackexchange.com/questions/53969/what-does-formal-mean/3297537#3297537
• certain arbitrarily chosen initial strings, which mathematicians call "axioms"
• rules of how to obtain new strings from old strings, called "rules of inference" Every transformation rule is very simple, and can be verified by a computer.
Using those rules, you choose a target string that you want to reach, and then try to reach it. Before the target string is reached, mathematicians call it a "conjecture".
Mathematicians call the list of transformation rules used to reach a string a "proof".
Since every step of the proof is very simple and can be verified by a computer automatically, the entire proof can also be automatically verified by a computer very easily.
Finding proofs however is undoubtedly an uncomputable problem.
Most mathematicians can't code or deal with the real world in general however, so they haven't created the obviously necessary: website front-end for a mathematical formal proof system.
The fact that Mathematics happens to be the best way to describe physics and that humans can use physical intuition heuristics to reach the NP-hard proofs of mathematics is one of the great miracles of the universe.
Once we have mathematics formally modelled, one of the coolest results is Gödel's incompleteness theorems, which states that for any reasonable proof system, there are necessarily theorems that cannot be proven neither true nor false starting from any given set of axioms: those theorems are independent from those axioms. Therefore, there are three possible outcomes for any hypothesis: true, false or independent!
Some famous theorems have even been proven to be independent of some famous axioms. One of the most notable is that the Continuum Hypothesis is independent from Zermelo-Fraenkel set theory! Such independence proofs rely on modelling the proof system inside another proof system, and forcing is one of the main techniques used for this.

## Proof assistant

Much of this section will be dumped at Section "Website front-end for a mathematical formal proof system" instead.

## QED manifesto

If Ciro Santilli ever becomes rich, he's going to solve this with: website front-end for a mathematical formal proof system, promise.

## The Math Genome Project (2023-)

Appears to support multiple proof assistant backends including Lean, Hol and Coq.
A discussion on the Lean Zulip: leanprover.zulipchat.com/#narrow/stream/113488-general/topic/The.20Math.20Genome.20Project/near/352639129. Lean people are not convinced about the model in general it seems however.
Has conjectures feature.
Built by this dude John Mercer: www.linkedin.com/in/johnmercer/. He must be independently wealthy or something? What a hero.
Does the website actually automatically check the formal proofs, or is this intended to be implemented at some point? And if yes, is it intended to allow proofs to depend on other proofs of the website (possibly by other people)
Owner:
Hi Ciro, yes we will be releasing in-browser proof assistant environments/checkers (e.g. Lean). Our goal is not to replace the underlying open-source repos (e.g. Mathlib) so the main dependency will be on the current repos; then when statement formalizations and proofs come in and are certified they can be PR'd to the respective repos. So we will be the source of truth for the informal latex code but only a stepping stone and orchestration layer on the way to the respective formal libraries.
So apparently there will be proof checking, but nodependencies between proofs, you still have to pull request everywhing back and face the pain.

## Formal proof

A proof in some system for the formalization of mathematics.

## Formal proff is useless

The only cases where formal proof of theorems seem to have had actual mathematical value is for theorems that require checking a very large number of case, so much so that no human can be fully certain that no mistakes were made. Some examples:

## Zermelo-Fraenkel set theory (ZF)

One of the first formal proof systems. This is actually understandable!
This is Ciro Santilli-2020 definition of the foundation of mathematics (and the only one he had any patience to study at all).
TODO what are its limitations? Why were other systems created?

## Metamath

It seems to implement Zermelo-Fraenkel set theory.

## Consistency

A set of axioms is consistent if they don't lead to any contradictions.
When a set of axioms is not consistent, false can be proven, and then everything is true, making the set of axioms useless.

## Independence (mathematical logic)

A theorem is said to be independent from a set of axioms if it cannot be proven neither true nor false from those axioms.
It or its negation could therefore be arbitrarily added to the set of axioms.

## Conjecture

A conjecture is an open problem in mathematics for which some famous dude gave heuristic arguments which indicate if the theorem is true or false.

## Famous conjecture

This section groups conjectures that are famous, solved or unsolved.
They are usually conjectures that have a strong intuitive reasoning, but took a very long time to prove, despite great efforts.

## Collatz conjecture (1937-)

Given stuff like arxiv.org/pdf/2107.12475.pdf on Erdős' conjecture on powers of 2, it feels like this one will be somewhere close to computer science/Halting problem issues than number theory. Who knows. This is suggested e.g. at The Busy Beaver Competition: a historical survey by Pascal Michel.

## Erdős' conjecture on powers of 2

Described at: arxiv.org/pdf/2107.12475.pdf where a relation to the Busy beaver scale is proven, and the intuitive relation to the Collatz conjecture described. Perhaps more directly: demonstrations.wolfram.com/CollatzSequenceComputedByATuringMachine/

## Corollary

An easy to prove theorem that follows from a harder to prove theorem.

## Lemma (mathematics)

A theorem that is not very important on its own, often an intermediate step to proving something that the author feels deserves the name "theorem".

## Set (mathematics)

Intuitively: unordered container where all the values are unique, just like C++ std::set.
More precisely for set theory formalization of mathematics:
• everything is a set, including the elements of sets
• string manipulation wise:
• {} is an empty set. The natural number 0 is defined as {} as well.
• {{}} is a set that contains an empty set
• {{}, {{}}} is a set that contains two sets: {} and {{}}
• {{}, {}} is not well formed, because it contains {} twice

## Cardinality

The size of a set.
For finite sizes, the definition is simple, and the intuitive name "size" matches well.
But for infinity, things are messier, e.g. the size of the real numbers is strictly larger than the size of the integers as shown by Cantor's diagonal argument, which is kind of what justifies a fancier word "cardinality" to distinguish it from the more normal word "size".
The key idea is to compare set sizes with bijections.

## Injective function

Mnemonic: in means into. So we are going into a codomain that is large enough so that we can have a different image for every input.

## Surjective function

Mnemonic: sur means over. So we are going over the codomain, and covering it entirely.

## Codomain

Vs: image: the codomain is the set that the function might reach.
The image is the exact set that it actually reaches.
E.g. the function:
could have:
• codomain
• image
Note that the definition of the codomain is somewhat arbitrary, e.g. could as well technically have codomain:
even though it will obviously never reach any value in .
The exact image is in general therefore harder to characterize.

## Endofunction

A function where the domain is the same as the codomain.

## Function by signature

In this section we classify some functions by the type of inputs and outputs they take and produce.

## Functional function

This is about functions that take functions as input or output.

## Set function

This section is about functions that operates on arbitrary sets.

## Cartesian product

A function that maps two sets to a third set.

## Direct product

A Cartesian product that carries over some extra structure of the input groups.
E.g. the direct product of groups carries over group structure on both sides.

## Numeric function

This section is about functions that operate on numbers such as the integers or real numbers.

## Exponentiation functional equation

We define this as the functional equation:
It is a bit like cauchy's functional equation but with multiplication instead of addition.

## Exponential function differential equation

TODO find better name for it, "linear homogenous differential equation of degree one" almost fully constrainst it except for the exponent constant and initial value.

## Taylor expansion definition of the exponential function

The Taylor series expansion is the most direct definition of the expontial as it obviously satisfies the exponential function differential equation:
• the first constant term dies
• each other term gets converted to the one before
• because we have infinite many terms, we get what we started with!

## Product definition of the exponential function

The basic intuition for this is to start from the origin and make small changes to the function based on its known derivative at the origin.
More precisely, we know that for any base b, exponentiation satisfies:
• .
• .
And we also know that for in particular that we satisfy the exponential function differential equation and so:
One interesting fact is that the only thing we use from the exponential function differential equation is the value around , which is quite little information! This idea is basically what is behind the importance of the ralationship between Lie group-Lie algebra correspondence via the exponential map. In the more general settings of groups and manifolds, restricting ourselves to be near the origin is a huge advantage.
Now suppose that we want to calculate . The idea is to start from and then then to use the first order of the Taylor series to extend the known value of to .
E.g., if we split into 2 parts, we know that:
or in three parts:
so we can just use arbitrarily many parts that are arbitrarily close to :
and more generally for any we have:
Let's see what happens with the Taylor series. We have near in little-o notation:
Therefore, for , which is near for any fixed :
and therefore:
which is basically the formula tha we wanted. We just have to convince ourselves that at , the disappears, i.e.:
To do that, let's multiply by itself once:
and multiplying a third time:
TODO conclude.

## Matrix exponential

Is the solution to a system of linear ordinary differential equations, the exponential function is just a 1-dimensional subcase.
Note that more generally, the matrix exponential can be defined on any ring.
The matrix exponential is of particular interest in the study of Lie groups, because in the case of the Lie algebra of a matrix Lie group, it provides the correct exponential map.

## Existence of the matrix logarithm

en.wikipedia.org/wiki/Logarithm_of_a_matrix#Existence mentions it always exists for all invertible complex matrices. But the real condition is more complicated. Notable counter example: -1 cannot be reached by any real .
The Lie algebra exponential covering problem can be seen as a generalized version of this problem, because
• Lie algebra of is just the entire
• we can immediately exclude non-invertible matrices from being the result of the exponential, because has inverse , so we already know that non-invertible matrices are not reachable

## Function space

Most notable example: .

## E notation

What do you prefer, 1 \times 10^{10} or 1E10.

## Real number ()

A good definition is by using Dedekind cuts.

## Complex number

An ordered pair of two real numbers with the complex addition and multiplication defined.
Forms both a:

## Cayley-Dickson construction

Constructs the quaternions from complex numbers, octonions from quaternions, and keeps doubling like this indefinitely.

## Quaternion (, 4)

Kind of extends the complex numbers.
Some facts that make them stand out:

## Octonion (8)

Unlike the quaternions, it is non-associative.

## Ordered pair

Sets are unordered, but we can use them to create ordered objects, which are of fundamental importance. Notably, they are used in the definition of functions.

## Propositional logic

This is the part of the formalization of mathematics that deals only with the propositions.
In some systems, e.g. including Metamath, modus ponens alone tends to be enough, everything else can be defined based on it.