facebook

Accurate software generation with guaranteed AI safety

Tau is a software development tool that allows you to describe your ideas,
then automatically transforms them into guaranteed accurate software.

Tau is the only AI safe software development tool.

The AI software development experience

ChatGPT showed the world’s eyes that the software development experience can be for everyone. But, that experience is flawed. You still need to be a developer as code isn’t always accurate or complete. Tau is ChatGPT for software, but correct.

Impactful software, not just code snippets

Tau

Accurate software generated with proof it’s correct

No bugs, no traditional testing required

Create & model complete complex fully running programs

Multi-user & roles: Allows collaboratively agreed development

Safe AI: Locked to any described AI safety requirements

Secure AI: Undesirable behavior is automatically rejected

Use domain-specific knowledge & definitions in descriptions

ChatGPT and AI code tools

Code is often inaccurate, never guaranteed to be correct

Bugs are always possible and requires coding knowledge to test

Generates basic code snippets, not complex robust programs

Bottlenecks: Limited number of people that can collaborate

Incapable of implementing robust AI safety restrictions

Can't prevent updates or hacking that allow unwanted behavior

Ignores domain-specific knowledge and ability to define meaning

Simple approach for complex deliverables

What makes Tau work

Formal specification

Tau generates provably-correct software directly from agreed specifications, using formal specification to eliminate errors and bugs that may occur by ambiguity or misinterpretation.

Logical AI agreement calculation

Tau enables any number of collaborators to specify software constraints, and uses logic to automatically calculate the agreement among them.

No ambiguity

On Tau, you specify your definitions for words to the system, ensuring the resulting software is exactly what you want it to be.

End-user involvement

Tau’s methodology allows for early and direct end-user input, resulting in software that better meets user needs from the get go.

Create Complex Systems

Tau allows you to create complex systems with an infinite number of states as Tau Language permits infinite datawords.

Why choose Tau?

Collaborative decisions made easy

Bring order to discussions and decisions among departments, teams, and end users. Tau detects agreements and disagreements and calculates logically implied outcomes automatically.

Eliminate bugs & reduce testing

Create provably correct software from specifications and easily update it by modifying your requirements.

Guaranteed AI safety & security

Generate software that is provably correct, safe according to your specifications, and secure from tampering or post-release changes that might alter its behavior.

Cut costs & time by 90%

Ensure faster and rule-compliant software updates (industry and academic reports show using formal methods can reduce costs up to 90%).

Our team

Meet our team of world-class scientists and experts, united by a passion for empowering individuals, teams, and organizations to create impactful software.

FAQ

Browse our frequently asked questions below for more information.

THE PRODUCT

Tau is an AI software generation tool that generates accurate software, with AI safety features. Tau enables you to create complex complete programs with a robust user interface for enterprise and allows developing software through multi-user collaborative agreements. 

At its core, Tau uses logic-based AI, created by combining logic or formal specification and knowledge representation. This unique approach allows Tau to create software that is provably correct, safe, and secure.

Tau stands out as the only currently available software generation tool that guarantees accurate and secure software, enables AI safety and security controls, generates complete programs, and allows for collaborative multi-user experiences.

  • Accuracy: Tau allows you to describe your software ideas in your own terms, and specify word and phrase definitions. This results in complete accuracy in the software you describe and generate.
  • AI safety: Tau generates software according to your definition of “safe”, including complex rules and filters, and ensures that the behavior of the software remains consistent.
  • Complete programs: Tau generates complex and complete programs that do not require manual coding. This means that businesses, teams, and independent users are able to reduce development time and costs dramatically, with efficiency and software quality gains.
  • Multi-user experience: Tau uses logic to automatically calculate agreements and disagreements among any number of discussion participants. This solution enables people with diverse backgrounds and varying levels of technical expertise to participate in software development equally and effectively.

Tau development cycle is divided into three simple steps:

Step 1: Team members, departments, end-users or anyone you permit shares ideas at any level of abstraction, from high-level project goals to step-by-step program instructions. Tau’s combination of software specification and description logics allows such descriptions to include real-world knowledge and concepts. Users are able to input descriptions directly in the Tau Language, use a natural language interface, or upload any formalized document, such as a business plan, software description, and legal conditions.

Step 2: Tau automatically calculates the agreed specifications for the software, which are executable within its runtime environment. Users are able to customize the definition of “agreement,” such as the majority, ideas of key individuals, or other configurations.

Step 3: The Tau runtime environment executes the specification. Because the program is correct-by-construction, the generated program provably meets the requirements. Changing the behavior of the program only requires modifying the specification.

Tau’s AI uses formal specification to generate software that precisely matches the user-defined specifications, and provides a verifiable proof of correctness. This proof ensures that the generated software performs its intended functions without errors or ambiguities.

Tau offers a comprehensive approach to handling software constraints. Users are able to specify both global and local software constraints, which may be either positive or negative statements. These constraints define the behavior of the software with greater precision, leading to safer and more secure software development. For example, a negative statement could be “do not send any user private data over the network,” which covers the entire software globally. On the other hand, a positive statement such as “make the alert message system do X” could partially affect the software in a specific way.

On Tau, multiple users are able to collaborate and provide their descriptions for software constraints, allowing for rapid software development. As descriptions are added, Tau combines them into the complete software and makes accurate adjustments.

Tau offers a variety of support options, including user guides, online tutorials, and direct support from the Tau team. For more information, please refer to services@tau.net

THE SCIENCE

Tau uses logic-based AI at its core. Unlike machine learning, logic-based AI provides provably correct results. Tau’s logic-based engine is chosen for its ability to accurately self-build complex software from knowledge input. Users are enabled to simply specify how any aspect of the software should function and Tau will generate it to provably meet the specifications. 

Logic-based AI is also capable of machine learning but, unlike machine learning, it’s able explain its decision process to you, which is a huge advancement over machine learning-type AI. Meanwhile, machine learning AI is unsuitable for accurately building any serious software, because it can only learn by examples. Machine learning always has a probability of its outcome being incorrect. It can explain the outcomes by examples, but it’s unable to show you the reason why it made the decisions, or prove that its results are correct. It’s essentially a black box.. Thanks to Tau’s logic-based AI, users will be able to give global instructions such as “do not send private data over the network” and they will affect the entire codebase.

Formal methods are used to describe the software that is being developed at different levels of detail. A formal description is also used to verify that the system’s requirements have been accurately and completely specified. This is achieved by expressing the system requirements in a formal language with precise and unambiguous syntax and semantics. This makes it possible to identify any errors or inconsistencies in the requirements before development. Using formal methods in software development helps ensure that the resulting software meets the desired specifications and is free of errors and ambiguities.

Using formal specification for software development has several advantages:

  • The development of a formal specification provides insights and understanding of the software requirements and the software design. 
  • Given a formal system specification and a complete formal programming language definition, it may be possible to prove that a program conforms to its specifications. 
  • Formal specification may be automatically processed. Software tools can be built to assist with their development, understanding, and debugging. 
  • Depending on the formal specification language being used, it may be possible to animate a formal system specification to provide a prototype system. 
  • Formal specifications are mathematical entities and may be studied and analyzed using mathematical methods. 
  • Formal specifications may be used as a guide to the tester of a component in identifying appropriate test cases.

Reasoning refers to the ability to use information and knowledge to draw conclusions and make decisions. Tau supports reasoning through its logical AI-based approach to software development. Due to Tau’s use of proprietary formal language and knowledge representation techniques, users are even able to ask questions about the software being created and if it meets certain requirements and get accurate answers.

By using this approach, Tau ensures that the software meets the desired specifications and adheres to the set safety guidelines. The logical AI-based approach also enables Tau to provide verifiable proofs of correctness, which are essential in safety-critical applications. Additionally, Tau’s ability to reason about the software being developed allows for efficient bug detection and correction, saving valuable time and resources in the software development process.

AI SAFETY & SECURITY

For its AI, Tau uses logical AI instead of machine learning because logical AI provides provably correct results. While other AI-based coding assistants may use machine learning algorithms to suggest code based on existing patterns, Tau uses logic-based AI to generate software that accurately reflects user-defined specifications, ensuring that the resulting software meets user needs and is provably correct. 

Furthermore, machine learning-based AIs are unable to explain their reasoning, which makes it impossible to identify potential errors or inaccuracies in the software that is being developed. It should be noted that machine learning is incapable of logic, but logic is capable of machine learning, so we get the best of both worlds. Logical AI enables users to understand and verify the software’s behavior and correctness in advance, making it easier to address any potential issues.

Tau’s performant runtime ensures that software is generated efficiently and effectively, without requiring excessive computational resources: 

  •   Tau’s computational processing leverages advances in binary decision diagrams.
  •   Tau uses Proof-of-Execution, meaning only one node needs to run code, and all others simply trust its validity.

Tau ensures AI safety and security by offering a unique software development tool that generates provably correct software according to your definition of safe. With Tau, nothing may tamper or amend the software post-release, ensuring that the behavior of the software remains consistent.

For example, when you ask Tau to build software, it will be correct to your description without any bugs or ambiguities. Tau will also provide verifiable proof that it met the description. To be considered correct, AI must be able to provide proof.

Tau generates software according to your definition of “safe”, including complex rules and filters in how your team contributes to development. For instance, if your definition of safe includes not sending private data over the network, Tau will ensure that the software adheres to that rule and provide verifiable proof.

Moreover, you have full control over what and how updates are accepted post-release into any complex configuration in the indefinite future. Any update or tampering that does not comply with your embedded safety guidelines is automatically rejected by the software itself, thus providing an additional layer of security.

SSC is a set of principles that ensures AI systems are safe, secure, and correct while meeting user needs.

Safe

Software should be designed to align with your definition of “safe”, taking into account any specific safety requirements you may have. For instance, if you specify that private data should never be transmitted over the network, the software should be developed to prevent such an occurrence. Additionally, it should be capable of providing proof of its safety standards, giving you the assurance that it meets your safety requirements.

Secure

The software has a built-in mechanism to reject any updates or changes that do not comply with the safety rules you have established. This ensures that the software remains secure and operates according to your specified safety guidelines.

Correct

The software must be developed with a high degree of accuracy and precision, adhering closely to your description. This means that it should be free of any bugs or ambiguities, ensuring that it performs its intended functions correctly. In the case of AI, it should be capable of providing proof of its correctness, giving you confidence in its capabilities.

USING TAU

Tau is used for any type of software development, from simple applications to complex systems. Its approach to software development, which combines collaboration, correctness, safety, and security, makes it well-suited for the development of complex systems.

Tau is a top choice for any industry that demands precise and safe software development while also requiring efficient development speed.

Tau is primarily designed for software development, but can also be used in some hardware development applications.

One of the significant benefits of Tau’s approach to software development is its accessibility to individuals who may not have a background in coding or programming. Since Tau generates software directly from user agreement on software requirements, users do not need to have any specific technical skills or knowledge to use it effectively.

This means that businesses and organizations are enabled to involve individuals from a variety of backgrounds in the software development process, not just those with traditional technical expertise. For example, product managers, marketing teams, and even end-users are able to provide valuable input and help shape the software development process using Tau.

Tau’s specification language is uniquely combined with description logics allowing controlled natural languages, which are further enhanced with Natural Language Processing (NLP) techniques. To users, it’s like using everyday languages, while machines are able process them as well.

Users will be able to add their desired languages to the system by defining translators. With this feature, Tau will make each new language interoperable with all existing languages in the system, allowing users to seamlessly switch between languages used for both creation and software output. To streamline this process, we’ve developed Tau Meta-language (TML), a valuable tool for creating translators.

Balancing expressiveness and decidability is a critical challenge when it comes to software development. Tau’s method has the expressiveness required to allow anyone to collaboratively create software by agreement. There is a trade-off between expressiveness and decidability that we have balanced well, and we’re vastly more expressive than competitors.

Semantic search is a search technique that is capable of searching the context and intent behind a query in order to deliver more relevant and accurate results. Unlike traditional search engines, Tau represents data as the meaning behind the bits, enabling semantic search for pieces of knowledge.

Here are a few examples of how semantic search could be used on Tau:

Problem-solving query:

“Is my program defined over all possible inputs?”

Tau will notify whether the program is capable of processing any valid input.

Outcome verification query:

“Will my software send any end-user’s private data, and does it meet the needs of the end-users?” Tau will provide information on whether the software meets the standards of end-users and whether any end-user private data will be shared.

Social discovery query:

Tau will also allow users to connect with others who have similar interests, by delivering results for such queries as ” “Who else shares my scientific viewpoints on X, Y, and Z topics?”.

THE COLLABORATION

As collaborating parties discuss what the software should be, Tau automatically detects agreements and disagreements and calculates the agreed specifications. Users are able to customize the definition of “agreement,” such as the majority, ideas of key individuals, or other configurations. This allows Tau to serve not only in software development but also as a process management tool. 

Tau enables user input from an infinite amount of roles with permissions. This allows anyone non-technical, e.g. in government or company departments, and end-users to collaboratively create provably correct software through agreement and contribute to development. Multiple people describe ideas for separate parts of the software, which Tau then combines to create the complete software. For example, if the legal team wants the software to admit certain laws, and end-users don’t want their data shared, their agreement automatically combines into that program. This ensures that all stakeholders are involved, leading to a better understanding of the product and bridging the gap between desires and a successful result.

Tau’s software development method allows you to involve people from various backgrounds, not just those with traditional technical expertise. This is made possible through its multi-user input experience, which enables any number of people to contribute to the development process without bottlenecks in technical ability or communication.

Tau’s software development process is exceptionally fast as it allows everyone to suggest their ideas. Tau then calculates the agreed combined description and generates the complete, accurate software. You are able to set complex rules for each user or group for how their descriptions may affect the software, thereby bridging the gap between the desired product and the end-product.

Tau also allows for the specification of your own definitions for words and concepts. This ensures communication and decisions among large groups are streamlined, as Tau understands all discussions and summarizes all agreements, disagreements, decisions, and their implications to the resulting software.

Solving collaboration makes the world work better, simple. Tau tackles the scaling of the workforce and gives you extremely fast development abilities. You’re able to specify the meaning of what you say to Tau, regardless of how you said it. This is important because we all speak differently. Tau shows you the agreements, disagreements, decisions and implications to the software between your team.

Why does that help? Because you’re able to understand what people mean and what they want in large groups at once. With 100 people in a room, you won’t have 100 completely different opinions. This removes the technical bottlenecks in software development, as descriptions are sentences. Everyone adds their description for any part of the software, Tau calculates the agreed combined description that it must satisfy and creates the complete correct software. On Tau, your team gains the crucial ability to understand aspects of the system they weren’t responsible for creating.

You’re able to include as many people as you want in your development process without bottlenecks in technical ability or communication. Everyone adds their ideas for any part of the software, Tau calculates the agreed combined description that it must satisfy and creates the complete correct software. Tau continuously updates the software based on each change to the overall description.

You’re able to set complex limitations as to how data and user descriptions affect what your software does, enabling deep quality control features. For example, within user roles, you may restrict how certain users affect the software regardless of what they describe, e.g. limiting them to working on specific functionality only. Being able to filter out information which prevents its effect and limit results that different users see based on the rules you embed for each user or group allows you to further ensure quality. User and group roles ensure accountability as you’ll be able to detect where information & descriptions that affect your software came from. These quality features are available on Tau as it is able to reason over sentences that have been adequately formally specified by the user.