Why Ternary Logic Could Change the Future of Artificial Intelligence
Modern computing has been built on an extraordinarily simple idea: two states.
0 and 1.
False and true.
Inactive and active.
Absence and presence.
This binary logic has proven sufficient to build virtually all the digital infrastructure we know today. However, when we try to build intelligent systems, a fundamental problem appears: reality is rarely fully determined.
Intelligence does not operate only with true and false. It also needs to represent something much more important:
“I don’t know yet.”
This is where a ternary system can offer a structural advantage.
A Third State with Meaning
We can preserve the classical values:
0= false / inactive1= true / active
and add:
2= indeterminate / open / pending resolution
The difference may seem small, but conceptually it is enormous.
The value 2 does not have to represent merely a third value. It can become a computational state.
When a 2 appears, the system knows that something remains unresolved.
This allows uncertainty to become part of the structure of computation itself.
Instead of representing uncertainty through auxiliary variables, exceptions, flags, or external control structures, it can be represented directly within the data.
AND and OR Still Work
The advantage is that we do not need to abandon traditional logic.
We can extend AND and OR naturally.
Ternary AND
AND
o 0 1 2
0 0 0 0
1 0 1 2
2 0 2 2
In AND, 0 dominates.
If one of the inputs is 0, we can already determine the result:
0 AND 2 = 0
We do not need to know what the 2 will eventually resolve to.
But:
1 AND 2 = 2
because the result still depends on the unresolved value.
And:
2 AND 2 = 2
because the entire relation remains open.
Ternary OR
OR
o 0 1 2
0 0 1 2
1 1 1 1
2 2 1 2
In OR, the opposite happens.
1 dominates.
Therefore:
1 OR 2 = 1
because we already know the result regardless of how the value 2 is eventually resolved.
But:
0 OR 2 = 2
because we still need to resolve the second input.
And:
2 OR 2 = 2
keeps the operation open.
This logic fully preserves the meaning of AND and OR, while adding something binary logic cannot express directly: the possibility that the result has not yet been determined.
The UNKNOWN Function
Here a third logical function becomes especially interesting: UNKNOWN.
The idea is simple.
We don’t know yet if the function is OR and AND. So all results are equal 2, except that one when OR ana AND is the same result.
We can represent it as follows:
UNKNOWN
o 0 1 2
0 0 2 2
1 0 1 2
2 2 2 2
When the inputs match AND and OR function.
UNKNOWN(0,0) = 0
UNKNOWN(1,1) = 1
But when there are different the value:
UNKNOWN(0,1) = 2
UNKNOWN(1,0) = 2
UNKNOWN(0,2) = 2
UNKNOWN(1,2) = 2
UNKNOWN(2,2) = 2
This gives us three operations with a very elegant correspondence:
AND → resolution toward 0
OR → resolution toward 1
UNKNOWN → openness toward 2
This means that the same three values used as data can also be used to represent the behavior of the logical function itself.
0 → AND
1 → OR
Get Aurora Program’s stories in your inbox
Join Medium for free to get updates from this writer.
2 → UNKNOWN
And this is where perhaps the most important consequence appears.
When Data, Function, and Control Share the Same Structure
In conventional computer architecture, there is usually a strong separation between data and the instructions that operate on that data.
But a ternary structure like this allows us to imagine something different.
A value can act as data at one moment and as a function selector at another.
The same logical space can contain:
data, functions, and resolution state.
This means that the state of the information itself can determine how computation should continue.
If the system obtains 0, it may have reached one resolution.
If it obtains 1, it may have reached another.
If it obtains 2, it knows that more context is still required.
The 2 can then become a signal to:
search for new information,
consult memory,
activate another part of the network,
wait for another piece of data,
propagate uncertainty,
or change the direction of computation.
Uncertainty is no longer merely a statistical property.
It becomes computational control.
The Difference Between “Error” and “Not Yet”
This distinction may be especially important for artificial intelligence.
Traditional computer systems tend to demand answers.
An operation ultimately produces some value, even when the available knowledge is incomplete.
An intelligent system should be able to do something different.
It should be able to distinguish between:
“the answer is false”
and
“there is not yet enough information to answer.”
In binary logic, these two situations require additional structures to distinguish between them.
In ternary logic, they can become part of the fundamental language of the system itself.
The value 2 does not represent an error.
It represents a pending dependency.
And that changes the meaning of computation profoundly.
From Calculating Answers to Resolving States
This type of architecture also changes the way we think about what computation means.
In traditional computing, we can imagine:
input → function → output
But with an indeterminate state, we can imagine a different dynamic:
state → partial resolution → new information → new resolution
The system no longer needs to calculate everything immediately.
It can keep parts open.
It can resolve the relations that already contain enough information and leave the others pending.
Computation begins to look less like a rigid sequence of instructions and more like a process of coherence propagation.
Each 2 indicates where work remains to be done.
When new information appears, some 2 values can transform into 0 or 1.
And that resolution can propagate through the system.
A Possible Architecture for Emergent Intelligence
This property becomes especially interesting in distributed systems.
Imagine millions of small logical units connected together.
Each one can exist in one of three states:
0
1
2
Determined values can propagate.
States of 2 can identify areas that are still unresolved.
A central controller would not necessarily need to decide continuously which part of the system should be computed next.
The distribution of states itself could indicate where uncertainty exists and where resolution has already been achieved.
Computation could organize itself around what still requires information.
This opens the possibility of more dynamic, decentralized, and adaptive architectures.
It Is Not Simply About Adding Another Number
Ternary logic has existed for a long time, and ternary computers have existed as well.
So the interesting question is not simply whether three states are better than two.
The deeper question is:
What meaning do we give to the third state?
If 2 is simply another number, the difference may be limited.
But if it represents:
openness, uncertainty, and the possibility of resolution,
then it can become a fundamental component of an intelligent architecture.
Because intelligence does not only need to represent what it knows.
It also needs to represent exactly where it does not yet know.
And perhaps that is one of the fundamental differences between a machine that merely executes operations and a system capable of organizing its own reasoning process.
The true potential of ternary computing may not lie in doing three things where we previously did two.
It may lie in something far more important:
making uncertainty a native part of computation.
Important note:
UNKNOWN keeps the same semantic meaning whether it represents data, a function, or a result.If 2 represents an unknown logical function, we may still be able to determine the result.For example:A = 0, B = 0, M = 2
We do not know whether M is AND or OR,
but:0 AND 0 = 0 0
OR 0 = 0Therefore:R = 0The relation is unknown, but the result is known.
If instead the possible functions produce different results, then R = 2 and the indeterminacy is preserved.
This is what makes the idea particularly interesting: 2 can move between function, data, and result without losing its semantic meaning.The system does not need to translate uncertainty into a different control structure. It can operate with the same ternary representation throughout. In other words:
Unknown remains unknown wherever it appears — but uncertainty only propagates when it actually matters.That may be the key to using ternary logic not merely to represent uncertainty, but to compute through it.








