In this article I’ll demonstrate things that the Tau Language can do that were never possible before, and why it matters so much.
Consider an interactive AI agent that accepts commands from the user and performs them. The agent is a program implemented in some language L, and the commands are given in some language K. Suppose the user gives the command “if any of my future commands contradicts those given safety conditions, then do not perform those commands”. This setting is already impossible in any formal language other than the Tau language, let it be a logical language, programming language, or any language that computers can work with. And that for the following reason: the above command is a sentence in K. This sentence speaks about future sentences, also in K (and the safety condition is also in K but this doesn’t change the picture). So K has to be a language that allows to speak of its own sentences, including speaking of contradictions between them.
That’s it. As basic as it may sound, already this setting alone is impossible without the Tau language, in two ways: in logics, no one knows how to come up with a language that can speak of its own sentences without running into internal inconsistencies and paradoxes, cf. Tarski’s Undefinability of Truth. In programming languages, one program may indeed speak of other programs, but then undecidability comes in, which tells us that an answer is not guaranteed, and moreover, we’re guaranteed that the program will not return an answer at all in many cases.
The Tau language not only allows us to do so in a consistent and decidable manner, but it even supports the case where L=K, namely where the agent is programmed in the very same language that is used for its user commands. The agent can be implemented in the Tau language in one line and nine characters: u[t]=i[t]. But we will leave the explanation of this line to another opportunity.
There are three layers of innovation here. One is to come up with a language that can speak of its own sentences, and this I discovered in 2021 and called this language NSO. It allows to refer to its own sentences by abstracting them into what is called Boolean Algebra elements, and that’s why the Tau language revolves around the theory of Boolean algebras, in particular infinite ones, not to be confused with the very simple Boolean algebra with only zero and one. Moreover, in order to find the necessary algorithms for NSO, I had to solve previously-unsolvable open problems in the field of Boolean algebras.
But NSO was still not expressive enough to describe programs, like our agent and its commands, or really any meaningful program. In 2022 I was able to enhance it with a temporal dimension into the language GS which is the generic name of the brand name Tau language. That’s the second layer. GS can fully support the agent we described including the case of K=L, and where each command is actually a software update to the agent, changing its code.
However there’s a practical problem here that requires a third layer. If we update the agent’s code, apparently the new code will need to contain not only the new command, but also all the old information. This is impractical. I needed to find a way to maintain all the old information except the part that matters to the update. This problem is in general unsolvable, and is dealt with in a branch of logic called Belief Revision. Revision is basically impossible because there are too many choices for which of the old information to discard. But in the setting of the Tau language there is an elegant, absolute, and complete solution. It is called Pointwise Revision, discovered this year.
Imagine a scenario where two people have completely different and contradictory opinions, and in a certain case an action is needed. In that case they happen to agree on which action to take, each of them for totally different and incompatible reasons, but they still agree on the very action. Then, we should focus on what matters and take that action, no matter why. This is basically what Pointwise Revision is about. “Action” in programs means an output, and the only thing that matters is what to output at the current point in time given the current state. So pointwise revision basically says “if exists an output that admits both the old and new conditions, output it, and if not, find one that admits only the new conditions”.
Those three layers give a comprehensive solution to the problem of software evolving according to its user’s will. The Tau language is therefore the only setting that can support user-controlled blockchain as in my previous article.
Further, it should be clear that those abilities are an absolutely necessary part of any meaningful safe AI.
The Team has been working on implementing the Tau language since 2022 and it is very close to supporting the agent we described. We will then demonstrate how it works. The work was very hard as the code design is highly nontrivial, but the team heroically managed to bring it to life, yet the struggle did not end. Aside from major open bugs and the yet-missing pointwise revision implementation, it is still hard to implement real life programs in the language as it stands now since additional language features are required, first and foremost support for arrays (tables) that may themselves contain arrays.
The Tau language is so innovative and so different from any other technologies that we couldn’t even find a single third-party code or libraries or software that implements, at least very partially, what is required.
As final words, I extremely appreciate the tremendous patience and trust from the community. I hope it’s clear that this work cannot be done in a short time as it deeply taps into the unknown. We’re in uncharted territory but there’s no doubt we will reach our destination, the revolutionary Tau Net blockchain, the endgame of all blockchains.