﻿Everything starts off with logic. You start with logic because you eventually want to understand spacetime, and through some crazy line of reasoning, you need to understand everything in between from first-principles. And it doesn’t get more first-principles than logic.


In logic you have propositions, which are true/false statements, although in theory a proposition is just the abstract idea of a thing that can be true/false. So comparing it to boolean from programming can be quite helpful.


Anyways once you have propositions, you want to start copying what language does with propositions, so that you can express more interesting statements into its components mixed with operators.


So you have unary operators first like not (the most important, and to be honest only relevant unary operators). Then binary operators like and, and or, and implication, and dual implication. This is all great.


The next step is to introduce functions that return booleans, which are also called predicates. This is because later on predicates will end up being quite useful to represent uncertain things. You extend the definition of the operators on propositions to predicates by applying everything pointwise.


You also introduce the “true for all” and “true for one” operators on predicates, although you can’t ask too many questions because you haven’t defined sets yet.


Next is to talk about what an axiomatic system is. What are the rules of the rules (rules for the axioms). We have a system called ATM, which says that to prove something, you must come up with a series of propositions that are either axioms, tautologies, and modus ponens. You move forward in the proof with modus ponens.


Next step is to introduce the axioms for set theory, since set theory is used everywhere.


You first have the two existence axioms. The first one allows you to finally officially turn predicates into propositions, because it says that for the predicate epsilon, applying it to two sets will lead it to be an either true/false statement.


Next is that they give you the first actual set to play with, the empty set. At this point it’s the only set you have, because you don’t have any construction axioms to create any other sets.


Next are the four construction axioms. First is the pair set axiom, which says if you have a set x and a set y, then {x, y} is a set.


Next is the union set axiom, which says that .flatten() is allowed for sets, and that the resulting set is indeed a set. We can use the union axiom in combination with the pair set axiom to make arbitrary finite sets {a, b, c, … }.
Next is the axiom of replacement, which should really be named the .filter_map() axiom, because it allows it for sets and guarantees that the output is a set. This is because the axiom of replacement allows restricted comprehension through the definition of a functional relation. Global comprehension is of course illegal because you can do nasty things with it that break logic.


Next is the power set axiom. It’s quite interesting because normally the powerset operator is defined in terms of universal comprehension, but of course we just said universal comprehension was not allowed in the previous axiom, so we need a new axiom specifically allowing the power set to be a thing.


The final three axioms are exception axioms, basically making sure things are OK.


First is the axiom of infinity, which finally allows you to get an infinite set (not previously possible under the pair/union set axiom mix).


Second is the axiom of choice, which basically says a statement about a set of pairs of socks. It says if you make an arbitrary decision about which sock to choose (left or right), then it’s fine, the resulting set is still a set. Apparently this axiom kind of breaks things later, but mathematicians are sort of forced to include it most of the time to guarantee things like every vector space has a basis (specifically the axiom of choice is needed in the infinite dimension case).


Third is the axiom of foundation, which basically disallows non-fun self referencial things that break logic. It implicitly says that sets can’t contain themselves.


OK so that’s the nine axioms, and now we have set theory.


Next up is a little bit of category theory, because all the math you end up doing will have some nice generalizations, and we might as well plant the seeds now, so you’ll have wonderful understanding later.


Basically, we want to understand sets better. So we ask when will there be an invertible map between two sets? This is called asking when the structure is preserved. And it turns out it has to do with cardinality, for quite interesting reasons. Basically, a bijection exists when the two sets have the same cardinality. Bijections are injections + surjections. Injections guarantee that the target is larger than the domain. Surjections guarantee that the domain is larger than the target. So of course injection + surjection guarantees that a set has the same cardinality. So that is the link between bijection and cardinality.


So now we’ve classified sets. In the future we will classify topological spaces, vector spaces, groups, and literally everything else.


Anyways, now we’ll go and make the numbers. It will pretty much be a mix of quotient sets and creating new (consistent) maps of addition and multiplication for these new sets (from the natural numbers, to integers, to rationals to reals).


Next we pick up at topology. Although I’m going to stop here because I’m tired of explaining, and I’m pretty good at explaining topology anyways.


—


A metric is not actually needed in spacetime to define many important things like geodesics. So we prefer to do our spacetime analysis in three stages. Manifold without connection. Manifold with connection (called affine manifold). A manifold with connection that is compatible with a metric (called a riemannian manifold, although technically a riemannian manifold is when you equip the manifold with a metric directly).


We want to state restrictions on the connection in terms of easier things, namely some tensors. So we arbitrarily create some tensors from the connection that we use in equations to restrict what the connection can be.


That’s what torsion is, since we say connection must be torsion free.


It’s also what curvature is, since we use riemannian curvature indirectly in Einstein’s equations through the metric.


Ricci curvature is the same, but just a more condensed version of the riemannian curvature (since riemannian curvature contains SO much information as a 1,3-tensor).


Apparently saying that the connection is torsion-free ensures you can switch the a and b indices on the 1,3-tensor field.


I should be saying tensor field, since it’s a statement at every point of the manifold rather than just in a specific tangent space.