“No general method for the solution of questions in the theory of 
probabilities can be established which does not explicitly recognize, not 
only the special numerical bases of the science, but also those universal 
laws of thought which are the basis of all reasoning, and which, whatever 
they may be as to their essence, are at least mathematical as to their form." 
Boole


This is a short paper on infinities, plural, and why we should have a 
proper, and properly formed, instance in Julia. The paper divides into 3 
sections:


1) Introduction 

2) The state of the art – and why should do better –

3) A proposal



*1 – Introduction*

While there is a long history, going back At least as far as the 
Antikythera mechanism, a short introduction which will skip over Galileo, 
Pascal, and Newton – while important historically they are not important to 
the thrust of this paper. But what is important is the work of Whitehead 
and Russell. In three papers published 1910, 1912, and 1913 with an amended 
text in 1927 proved, so the thought, that all infinities resolved to a pair 
of true/false assertions. However in 1931 and obscure dissertation was 
published by Gödel which showed that in any system that would allow for a 
sufficiently mathematically complex structure, which he decided to call PM, 
would not resolve. And in fact if it were consistent it could not be 
complete, and if the consistency of the axioms cannot be proved within the 
system that created them. Which has led to a computer bully innumerable set 
of axioms of finite number of sets either 

1. Finite,

2. or it will have a principal which will lead to a third state, with a 
limited number of axioms,

3. or it will be infinite. 

The problem is twofold: the finite systems disallow certain mathematical 
concepts which we need to do adequate work. Multiplication and division are 
two such sets. And for those PM which are in the second state, numbers are 
close at hand. For example, real numbers could be either the second level 
of infinity, or they could be more. This means that in any computable 
universe, as stated by Turing, some equations will not terminate.

This is not in dispute, and can be looked up in variety of mathematical 
textbooks. 

Now for a practically computable system there are workarounds, and as we 
push the limits of the practically computable, the result will break and we 
have to fix it. It is the position of this paper that that time is an 
extended now, and that the previous definition is inadequate.



*2 – The State of the Art*

The State of the Art is actually very smooth from here. Codd and Date 
formed a new theory of NULL and why it should be included in a database. 
This influenced both IBM, and what would eventually be called Oracle. Thus 
SQL has a NULL value in any particular row. Codd and date were specifically 
influenced by Gödel and the logicians who came after him. But the null 
field was inadequate, and they tried to make improvements to it, but none 
of these have caught on. This leads one to the conclusion that there must 
be a Nash equilibrium which turns out to be the first move.

This should be a lesson for all new programming languages – the original 
default of anything is the most likely default. This is why we cannot wait 
on this issue, because if it is not decided – it will be decided by 
default. But is that the right decision?

This cannot known exactly, because of the nature of the problem – but one 
can say if it is better than the least worst version of the problem. In 
this case, the answer is that the least worst is SQL, which has an almost 
Gödelian operator involved with every number and string in its basic 
structure. Since the Julia language is worse than SQL, and therefore 
implies that the Julia language cannot actually control SQL. Since 
commending SQL is in the concept of the language, it is there for not the 
best possible version of the language, by its own definition. 

Moreover, there are at least two problems which will have too be decided in 
the probable lifespan of Julia: one is an old problem, the Zeta function, 
and the other is quite new – the definition of the continuum hypothesis. 
Since these problems are greater than the scope of this paper, future 
papers will be needed to explain them.

But in closing, the data function of Julia is not sufficient for the net 
total language, and must be better than the SQL standard. This standard has 
to involve an array of Gödelians, such that any program can adequately 
explain the level of postulates which will be sufficient to explain the 
logical structure. This will mean not only that it has a Gödelian, but an 
array of them, such that the bottom level will explain why it is not going 
farther. 

This leads us to a structure which has been explained, partially, but not 
fully. In the world of Gödelians, there are three basic features which stop 
a language from going farther: a mathematical basis, a physical basis, and 
a computational basis. The first is explained in the Gödel paper and the 
Turing paper: it requires that the logical basis is not one which is either 
cared about, or known, at the time of consolation. The second says that 
limit of the problem exceeds one of the small constants of the universe: 
such as the Plank constant. The third, and most likely, is that we cannot 
make a detector which would supply the necessary value. For example, 
weather can be known in theory a great deal more than in practice: out over 
the water detectors cannot be made accurate because they are not able to be 
fixed in all possible cases.

Thus, at the bottom of the matrices, will be a Gödelian which will explain 
why the number is not pursued. We will note that this implies that the 
construct is part of the language.

*3 – A Proposal*

So should the default be? The current in Julia, default is that the boolean 
is part of language*,* and that Gödelian is not, type T is part of language 
– and it is different from boolean. The problem with this is that Gödel is 
part of every language that every person would recognize – if it did not 
have Gödelian, it was intentionally defined this way. An example would be a 
simulator system which could never be defined as a real system – ever, 
without exceptions, unless it explicitly brought in a Gödel by importing it 
from a language. One could see, I hope, the problem with this: something 
which is in the language has two then be defined as outside the language if 
it uses a perfectly syntactically correct variable.

One proposal is to use NA in a field of DataArray. This essentially 
simulates the behavior of R's Data.Frame and DataFrame in Panda. 
http://dataframesjl.readthedocs.io/en/latest/introduction.html) however it 
does not extend the data type, becomes it does nothing other than copy the 
essential type of circa 1970. But there are problems with that which need 
to be addressed, some by the same people who came up with the initial type.

Fortunately, there is away to do this.

If one thinks about Gödelian carefully, when we will see that it is the 
same as a binary boolean in some ways, but it is different than it in other 
ways. The key distinction is that a boolean lies on a plane, where as the 
Gödel has a more complex structure, and is a subtype of a Ternary Structure 
which, in turn, is of type tuple. Thus a Boolean is a subtype of what Julia 
would call “any” where as the Gödel is a subtype of a deeper level, and 
could contain the limits of measurability in a tree, such that the lowest 
level will contain the absolute measurement for that level. Thus a Gödel 
would in fact be a tree – this will be explained in a future paper.

What is necessary is that a three type variable be defined, and that one of 
its subtypes is Gödelian. This means that a Gödelian is a balance ternary. 

Does this mean that it has to be done now? The answer to that is “no”, with 
the caveat that the time it is done must be labeled. Because if it is not 
labeled, then certain kinds of simulations will never be able to be done 
now, such as the case where a corporation hires illegal immigrants – who 
therefore do not have legal status, which must therefore be represented as 
“NULL”, even if the actual number is in fact truly known. What does have to 
be done is defining a structure, and implementing it for a known release of 
the Julia compiler. Since there are features which are not described, it is 
not alone. 

Does this mean it has to be done by 1.0. The answer again is “no”. But the 
features which do require Gödels must be eliminated from simulations that 
require it, including a simulation which forms a simulation of real 
results, such as Brexit extending past the vote; now it can be run because 
the actual vote is done, and such “NULLs” can be described in one 
dimension. But it does mean it is an extended now.

What, in practice, does this do?

1. Booleans should be bought of as being the equivalent of the Ternary 
class.

2. Gödelian is not of the same class as Boolean, and it is lower down 
because there is on top of it a more generic type called Ternary. 

3. The type T is used for other things.

This paper does not instruct any particular way of doing this in the llvm 
code, which will need a discussion separate from how to implement.

A side issue is call the number Godel, rather than Gödel – because English 
does not use umlauts, among other things. This paper has no view on this 
important issue, nor on Fahrenheit, Celsius, or Kelvin as the canonical 
format for temperature.



*Bibliography*

Boole, George *The Mathematical Analysis of Logic*

Codd, Edgar F. *The Relational Model for Database Management*

Gödel, Kurt “On Formally Undecidable Propositions of PM and Related Systems”

Kuhn, Harold W.Editor *Classics in Game Theory*

Nash, John Forbe Jr. “Equilibrium Points in n-Person Games.”

Osborne, M. *An introduction to game theory*

Riemann, Bernard “On Number of Primes less than a Given Magnitude”

Turing, Alan “On Computable Numbers with an Application to the 
Entsscheidungsproblem” 

Whithead, Alfred North and Russell, Bertrand *Principia Mathemtica*

Woodin, W Hugh *The Transfinite Universe*

Reply via email to