**Relativity**

Relativity says that there is no privileged, "objective" viewpoint for certain observations. Let's imagine that two ships are in the sea in a very dark night, and that each of them only has a positioning light at the tip of the mast. The night is so dark that neither points at the horizon nor the waves in the water can be seen to check on which direction each ship is moving. Under these conditions, any of the captains could say that his ship is the one that is "still", while the other ship is moving, or vice versa.

Similarly, for hundreds of years we have known that the earth is not "still" in the universe, but revolves around the sun. But, at what speed does the sun move? We need a reference view point to measure speed. We can measure the speed of the sun related to a distant object, like another star, the center of the Milky Way, the center of our star cluster, but there is nothing we could call "the absolute speed of the sun". Surely, we could measure the speed of the sun relative to the space surrounding it, which is not exactly empty but has some particles, but those particles are also moving. Any attempt to determine an absolute speed is useless, as there is always an alternative view point that is equally valid and that produces a speed that is completely different. Speed is relative.

Now, if things move relative to each other, then obviously their positions at a given time are also measured relative to each other. The universe, as we know it, has no "center" with special characteristics, and even if it had it, clearly it would be completely arbitrary to say that something is "up", "down", "to the left" or "to the right". In space, these things have no meaning. Position and direction are relative. Any measurement of them requires a frame of reference.

So far, so good, but things get a bit more complicated. Let's think for a moment, how do we measure time? We measure it with changes of position and speed: the time a certain thing takes to fall to the ground, the time a ray of light takes to move between two points, etc. A direct consequence of the fact that position and speed are relative, is that time is also relative. There is no "now" that is simultaneous to the whole universe. There is no big clock ticking for the entire universe at the same time. The following experiment has been repeatedly made: if we synchronize two very precise clocks, and then we move them, for instance, by taking one of them in a plane and making a trip around the world, while the other remains in the ground, when they are together again we can see that one of the clocks has measured a longer time than the other. If we let more time pass and we increase the speed, we obtain the typical image of an astronaut on a space trip that takes a few years for him, but that returns to earth and notices that hundreds of years have passed. While relativity of
motion itself is a very old concept, Albert Einstein first showed that even time is not absolute.

Do not confuse this with subjectivity: in a movie I once heard a dialog like "for Einstein, everything was relative, for instance, half an hour with a person you love or half an hour waiting for the metro are not the same". This is not relativity, it is called subjectivity and it's a different story. Relativity says that, even with the most precise instruments, there are no "absolute" measurements, and different view points can produce measurements that are "objectively" different. This does not mean there is no objective truth, but rather that there are no privileged view points.

**Uncertainty**

Baseball could be played with a smaller ball, the size of a ping-pong ball, or with a larger ball, the size of a volley ball; it would look weird but the game would still be playable. The rules of the game at our scale, are the same for a small, medium or large ball. We could even figure out how to play a table version of a mini-baseball with small balls of 1 millimeter of diameter. The dynamics of the game would be the same: the ball is thrown, the ball describes a curve, the ball is hit.

However, on the scale of the very small, if we continue reducing the size of the ball until it is the size of an atom or the size of an electron, the scenario is radically changed. At atomic scale, all sort of things that would look very weird at our scale happen. An example of how different things are, when we see them at atomic scale, is the following: if we have in our living room a lamp with a control to make the light brighter or darker, we can fine-tune how much light there is in the room. If the lamp has a certain luminosity, we have the impression that we can always lower a bit the luminosity without turning off the lamp completely. This is just an illusion, because if we look closely and take a very precise source of light, then we could see that there is a point in which if we lower a little more the light, we switch it off; there is a limit under which there are no more intermediary intensity levels. Light has a minimal unit, indivisible, it is called a "photon". All subatomic particles have an indivisible unit called a "quantum", and a "photon" is a quantum of light. Because of this phenomenon, the theory that tries to explain how everything works at a very small scale is called quantum mechanics.

Now, let's get back to the baseball game. Now we no longer throw a rubber and leather ball but a very small particle, let's say an electron. This electron goes on its way to a miniaturized baseball bat with which we want to hit it. We need to know where is the electron, but to see it, we need light. The only problem is that light is made of photons, and the electron is so small that a photon hitting it will move it from its trajectory. We aim a miniature lamp to the electron to see it and we receive the photons back, but once we have received the photons we have altered the trajectory of the electron. We could try to use just a single photon but that would be enough to move the electron. We can try to make this photon less capable of moving the electron, by having less momentum, but the problem is that for doing that we should have to generate light with longer waves and that would not allow us to see the electron precisely.

Werner Heisenberg showed that if we built a machine to tell us with high precision were an electron is, this machine could not also tell us the speed of the electron. If we want to measure its speed without altering it we can use a different light but then we wouldn't know where it is. At atomic scale, no instrument can tell us at the same time exactly where a particle is and exactly at what speed it is moving. Clearly, we could try to stop the electron with a wall and in that way we would know exactly where the electron is and we would know that it is still in relation to the wall, but that has no predictive value and doesn't help us in our baseball game. When measuring, we create a distortion and we are always bound by a trade-off in the measurement of certain quantities.

Sometimes a related, but not equivalent example is given: to measure the pressure of the tires of a car, we have to let some air out. So, when the indicator reads 30.000 psi, actually the pressure is 29.999 psi or less. Measure implies interacting, and interacting implies a certain alteration. At our scale, that alteration does not matters, but when we go to the very small, this alteration is a very important part of the rules.

**Incompleteness**

In our normal life, there are many situations that have only two states. If you have to take a train at 8 o'clock in the morning, then there are two possibilities: either you catch the train, or you miss it; if you switch a light, it will either go on or off; the accused of a trial is declared guilty or not guilty, and so on. This logic of true or false is central in mathematics. One plus one equals two? True. Two plus two equals five? False. True or false - there are no other options.

There are many natural phenomena that have intermediate states, but logic only cares about phenomena with two possibilities: true or false, black or white, zero or one, on or off, etc. This is not a weakness of logic, but rather a definition of its scope, as for instance, botanics works with plants or geology with rocks, mathematical logic works with anything that has two states.

Logic is an old discipline whose fundamental tool is deduction or logical deduction. Let A=Mary was murdered with a knife, B=John was at Mary's place at 23:00, C=Mary died at 23:01, D=John knew Mary, E=a hair from John was found in Mary's hands, F=a knife was found with Mary's blood and John's fingerprint. A and B and C and D and E and F could imply: John is guilty. If we take G=John is left-handed and the stabs are right-handed, then A and B and C and D and E and F and G could imply: John is not guilty. Several premises are composed to reach a conclusion.

This deductive, "Sherlock Holmes"-type logic, provides the rules to compose certain facts and reach certain conclusions. For instance, if for something to be true it is necessary that other two things are true, and one of the latter is false, then the former has to be false. If to get snow we need rain and low temperatures, and the weather is warm, then there will not be snow. It's logic. There are several rules in mathematical logic that build a deductive system.

If this system is complete, then anything that is true is provable. Similarly, anything false is provable false. Kurt Gödel got the intuition that traditional mathematical logic was not complete, and devoted several years to try to find one thing, a single thing that was inside the mathematics but outside the reach of logic. Gödel searched, inside the rigidness of the laws of number theory in mathematics, a valid expression that could not neither be proven to be true nor to be false.

Let's consider this expression: "this sentence is false". If "this sentence is false" is false, then it is twice false, hence true ... and if "this sentence is false" is true, then we only need to read it to see it's false. In number theory, Gödel found a way of writing a statement p that is equivalent to "p cannot be proved", using numbers and mathematical formulas, something that is possible to handle using number theory, but that can neither be proved nor disproved within this system. To do it, he had to express many ideas as numbers and weave step by step a very long proof, but he was finally able to prove that mathematical logic is incomplete, this is, that there are true things that we could never prove that are true, and false things that we could never prove that are false.

Gödel's incompleteness means that the classical mathematical logic deductive system, and actually any logical system consistent and expressive enough, is not complete, has "holes" full of expressions that are not logically true nor false.

**Undecidability**

Alan Turing is considered as one of the fathers of computer science. He designed a model of how a computer works that is fundamental to computer science and showed that, for instance, a pocket calculator or a sophisticated video game console work in the same way: they read some data, check a table of rules and a memory and write some data back.

In a calculator, what is read is a key stroke, the table of rules are mathematical operations, memory is the partial result and what is written back is the final result. In a video game console what is read is the controller or joystick status, the rule table are the rules of the game, the memory is the game status and what is written back are the drawings on the screen. Memory, even when it can be very large, is never infinite and the behavior of the machine is completely determined by rules that are always obeyed, so this model is known as a "finite deterministic Turing machine".

Turing wrote many programs, and he worked in deciphering codes for the Allies during the Second World War. He quickly become aware that some programs "hang" and stayed working forever without going anywhere. This happened often when there was something strange given as input. For instance, it is possible to write a program to decipher codes made of numbers that represent the coordinates where an attack will take place, but if this program is accidentally fed with letters instead of numbers, then the program fails, as it is not prepared to this type of input. Even after solving the trivial problem of accepting only numbers, a new problem appears and it is that the coordinates could be inconsistent, for instance, they could represent a place that is farther to the north than the north pole, and so on. Every new problem solved can create new problems in the program.

If we want to write a "perfect" program, that never hangs, then one way is to test it to try all different inputs, but this is often impractical as there are too many combinations; besides this, there is a deeper problem and that's that even if a long time has passed, we can never know for certain if the program is still doing something useful or if it has "hung". Turing thought that this problem could be solved with the help of another program, and he tried to write a "superprogram" that would be able of examining another program and check if it was correct, in the sense that it would terminate at some point, instead of running forever. After several attempts, he started to suspect that it might be impossible to write such a superprogram, and finally he was able to prove that in general it is not possible to check if a program will halt.

Turing's halting problem is one of the problems that fall in to the category of undecidable problems. It says that it is not possible to write a program to decide if other program is correctly written, in the sense that it will never hang. This creates a limit to the verification of all programs, as all the attempts of building actual computers, usable in practice and different from Turing machines have been proved to be equivalent in power and limitations to the basic Turing machine. It is impossible to know if a program will "hang" under some circumstance, and modern programming techniques try to minimize the probability of this occurring, as well as ensuring a smooth recovery and avoiding data loss, but for non-trivial programs, there are usually no guarantees of correctness.

**A "Blind Spot"?**

These fundamental principles should not be taken as limitations to science, and they do not exclude the existence of an objective reality. They are rather limitations to some operations, such as making a measurement or working with formal logic, that have to be taken into account to understand natural phenomena.

There is a certain relationship between these principles. Both relativity and uncertainty arise from physics and are related to observations, while incompleteness and undecidability arise from mathematics and are related to the limitations of formalisms. Uncertainty and undecidability govern our capacity of making predictions, while relativity and incompleteness are related to the fact that references are necessary, but prevent us from doing certain operations. I would not like to try to take these relationships too far, instead, I would like to state another analogy.

The retinal nerves of a mammal's eye converge at a single spot, the optic nerve, which transmits impulses to the brain. This design has a disadvantage and that is that right in the point where the nerves meet, there is no sensitivity to light. This produces a "blind spot", a zone of the visual field where we cannot see. At the same time, it is curious that we usually cannot see that we cannot see. First, the blind spot is rather small; second, the brain compensates the image so we don't see a black disc floating in the air, and third, we have two eyes and their blind spots do not fall in the same visual area. We could use the fact that we know about the blind spot in the design of certain things, such as in the design of the instruments board of an aircraft, but besides that in daily life and for 99.9% of the population the existence of a blind spot has little practical implications.

Something similar happens with the laws we have discussed here. They certainly restrict observations and formalisms, but they do not mean we cannot make observations or formalizations. Even with relativity, if we are caught driving at 80 miles per hour in a 65 miles per hour zone, we will have to pay, even if relative to us the car was not moving, because we have agreed in a certain frame of reference. Even with uncertainty we can still play baseball as the uncertainty in the position of an object the size of a base ball is far smaller than what we can see with our naked eyes. Even when deductive systems are incomplete, incompleteness is not a problem to most mathematicians, and every year very complex and difficult proofs are shown without problems. Even with undecidability, high quality programs control high availability systems and most of the errors do not arise from arcane halting conditions, but rather from simple and avoidable programming mistakes.

The rules of the scientific game include relativity, uncertainty, incompleteness and undecidability. From the point of view of science, understanding these laws can lead us to new discoveries on how the universe works. Through this particular "blind spot", we can see.

**Acknowledgments**

Pepe Flores, computing engineer, entrepreneur, and also my professor, boss, partner and friend, in that chronological order, was the person from whom I first heard that these are the four most important laws in science. Ingmar Weber and several Kuro5hin readers also provided valuable feedback and comments.

**Note:** there is a spanish version of this article.