Formal Methods Like Never Before

From complex industrial software to common applications, executable formal specifications in the Tau development tool meet your every demand. Experience the power of describing software through sentences that work as the product itself.

With Tau, innovation knows no bounds. The future of software development is here.

Your Description of the Software​ is the Software

Software as Sentences™ a widely desired development approach come true, allows you to describe or give software requirements in simple logical sentences, which are directly executable as working software. This makes it easier for anyone to develop and scale the most complex software, bringing a new era of complete correct-by-construction  development, free from coding, verification and validation.

Amplify your software development process with Tau Pro. Conquer your biggest project yet with unlimited scalability, access to external knowledge, VIP customer service and more.

Unleash the Spectrum of Software Complexity

Tau-ARC image


Basic Applications

Enterprise Software

Complex Industrial Software

Mission-Critical Systems

Tau Language
Common Specification Languages

Assessed for ease of implementation and coverage of the entire development process.

ChatGPT & AI code tools

Accurate software generated with proof it’s correct

Full logical reasoning on complex software & formalized information

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 behaviour is automatically rejected

Use domain-specific knowledge & definitions in descriptions

Chat GPT & AI code tools

Code is often inaccurate, never guaranteed to be correct

Generally incapable of reliably handling logical reasoning

Bugs are always possible & 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 behaviour

Ignores domain-specific knowledge & ability to define meaning

Other Formal Methods

Simple. Software as Sentences™.
Directly executable specifications of real-world software.
Verification & Validation

Correct-by-construction according to specification.
Verification not required, and simplified validation.

Highly scalable, enabling any number of concurrent devs on the same part of the software.
Other Formal Methods
Productivity Bottlenecks

Coding, testing, specification, validation and verification steps are required, resulting in lengthy, costly processes that reduce productivity.

Limited Scope

Methods are confined to certain development phases, not covering the full software lifecycle.

Limited Specification and Guarantees

Unable to directly describe real-world software, and simultaneously guarantee to answer every question in finite time.

Programming Languages
Code & Bug Free

No coding required and bug free according to your requirements.
What not How

You simply describe the required software and that's all.
Cost Efficient

Rigourous and efficient software development at a fraction of the cost of traditional methods
Programming Languages
Inefficient Cycles

Code is prone to bugs and errors, especially in complex cases, which lead to lengthy coding, testing, debugging, and deployment cycles.

Implementation Challenges

Code requires you to define how the software should function at each step, leading to differences between requirements and actual software behavior.

High Testing & Verification Expenses

Testing and verification costs companies $312bn/year, along with scaling problems in merging code from multiple developers.

Endless Development Capability

Apply Tau’s advanced formal methods to develop the entire software across a wider software spectrum. Bring formal advantages such as reasoning over the entire software, guarantees per your requirements and much more, over a broader range of applications that covers the entire development process.

Mission-Critical Systems

Reduce Risk & Time to Market
Tau's correct-by-construction approach directly reduces critical risks inherent in mission-critical systems such as avionics and medical machinery.

Ensure Compliance
Tau ensures timely adherence to industry-specific requirements at every stage of development by allowing you to enforce compliance rules within the software, effectively minimizing the risk of deviations.

Complex Industrial Software

Strengthen Software Control
Prohibit software manipulation entirely with Tau's capability to define and enforce complex rules for change.

Enhance Robustness & Security
Tau ensures that the software behaves exactly as intended for a wider range of software than achieved by common formal languages.

Enterprise Software

Streamline Software Creation
Software-as-Sentences™ method allows speeding up the development of enterprise solutions like ERP and BPM, while retaining high quality.

Real-World Knowledge Management
Tau improves decision-making with advanced reasoning over real-world knowledge and complex data.

Common Applications

Enhance Collaboration
Tau's approach eliminates merging conflicts, as specifications from multiple contributors are integrated into the software based on the rules you set.

Drive Innovation
Bridge the gap between desire and end product with direct transformation of sentences into functioning software. Tau opens new innovative possibilities for various applications, including blockchain networks and smart contracts.

Software as Sentences™

The Future of Software Development

Scale effortlessly, collaborate seamlessly, and reduce development costs significantly.

Wider software applicability

Provable correctness

Unparalleled decidable expressiveness

Input & output as sentences

Directly executable specifications

Enhanced KRR

Supports logical reasoning

System reliability

Easier maintenance

Optimized for complex programs

Multi-user experience

Easier specification with CNLs

Supports Infinite states

Scalable development process

Frictionless developer scaling

Rich system specification

Various abstraction levels

Post-release control

No coding

Development cost reduction up to 90%

Simple validation

No verification

No traditional test cycle

Structured & modular approach

Light Years Ahead

Advancing formal methods in Every. Single. Way.


Formal languages

Assessed for performance across a wide, complex software spectrum; narrow or trivial scopes excluded.

Assessed for performance across a wide, complex software spectrum; narrow or trivial scopes excluded.

No Data Found

You're Spending 10x More on Software Development than You Need to

Using formal specification techniques ensures early error detection, increased reliability, and smoother project workflows, resulting in significant time and cost savings in software development.

While effective, these methods have often posed accessibility challenges, but with Tau’s advancements, the benefits of formal specification are now accessible to everyone.

See What Tau Can Do For You


Browse our frequently asked questions below for more information.


Tau is a software development tool built for creating reliable enterprise software to mission-critical industries such as industrial control systems, aerospace, automotive, industrial and medical machinery, banking, and semiconductors.

At its core Tau is an advanced formal software development tool that uses Software as Sentences methodology, which has been developed in-house. This method allows you to describe your desired software in sentences and the description (or specifications) work as correct and operational software. 

Tau reduces 90% of costs and development time for flawless operational software according to your specification.

Tau stands out as the only currently available software generation tool that guarantees accurate and reliable software created correct-by-construction according to the description of the desired software.

  • Accurate: Tau uses Software as Sentences to allow you to describe your software ideas in your own terms, and specify word and phrase definitions. The description itself is executable as working software. This results in complete accuracy in the software you create.
  • Complete Complex programs: On Tau, you may describe the systems far more complex  than the current industry standard and with it the entire system, not just elements of it.
  • Reliability & Safety: Safety and security conditions expressible in Tau are guaranteed at any point of the execution. The software will adhere to your definition of “safe”, including any complex rule, and the behavior of the software will remain consistent.
  • Multi-user experience: Tau uses logic to automatically calculate agreements and disagreements among any number of discussion participants. This solution enables people with varying levels of technical expertise to participate in software development equally and effectively.

For this, we compare with Tau the current state of the art in software development being AI, coding & formal specification.

Current state of the art


At the minimum, software needs to be coded and tested. Formal methods can then be used to specify and verify certain aspects of the software before it’s deployed.

Tau employs the Software as Sentences method that allows you to directly describe the software as sentences, which are executable software. Tau removes coding, verification & testing from the process entirely.

To use formal methods, you need a highly skilled formal specification engineer. Further the world of coding requires coding experience.

Users simply describe their desired software in sentences and get all the advantages of formal methods.

AI code assistants e.g ChatGPT & Co-pilot:

1. Coding experience needed to implement the code

2. Does not produce perfect code according to your description

3. Only produces code snippets, not complete programs

4. Unsuitable for any complex development due to frequency of bugs

Your description is the software, which may delineate a highly complex system or a simple one in its entirety. There will be no bugs according to your description.

Currently, formal methods cannot specify entire complex systems

Tau allows you to specify entire complex systems, ensuring that the entire system works as desired guaranteed

Code is only about saying what should happen in each state, and doesn’t allow you to say what it should never do.

Tau enables you to manage the software’s behavior by adding both prohibitive and obligating constraints with complete coverage over any part of the software. e.g. “Never send private data over the network”. This will be in effect indefinitely post-release.

Code needs to be tested for bugs costing $300bn/yr. Formal methods cannot replace testing entirely, nor does it currently cover the entire software.

Traditional testing is no longer required in Tau as your description of the software is executable so software guaranteed to be accurate. Testing is instead ensuring your description is as desired.

Code and formal specifications currently cannot detect contradictions

Tau will notify you of any contradictory specification and their outcomes on the software, for you to make a decision on prior to implementation.

Even for the most technical engineer, validating what any piece of code does is challenging, especially if not written by you.

You simply read the software description in sentences. Tau supports knowledge representation languages, enabling more expressive specifications that capture real-life descriptions and complex domains.

Simple systems may not take long to code, but enterprise and mission-critical systems may take years. The more complex the longer and more expensive.

Development time & cost decreased by 90% using Tau.

You don’t know 100% certain what your software could do. You cannot query what the software will and won’t do. 

On Tau, you may query the software’s functionality e.g. will you ever send private data over the network. And get an accurate response.

While Tau offers an unmatched range of capabilities, it’s important to note that like any developing technology, it has its boundaries.

While Tau Language has the expressiveness required to allow anyone to collaboratively create software from sentences, there is a trade-off between expressiveness and decidability. However, we have balanced this tradeoff well and ensured that Tau Language is still vastly more expressive than our competitors. 

Although Tau Language will never be able to specify all possible software, you’ll find it exceptionally challenging to discover something it can’t specify.

Tau 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 is used for any type of software development, from simple applications to complex systems. 

Tau is 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.

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 fields 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 development cycle is divided into three simple steps:

Step 1: Anyone you permit such as team members, full departments and end-users share ideas at any level of abstraction, from high-level project goals, step-by-step program instructions, a business plan, software descriptions and legal conditions. Tau’s allows descriptions to include real-world knowledge and concepts. 

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 program accurately meets the requirements. Changing the behavior of the program only requires modifying the specification.

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.

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?”.


As collaborating parties discuss what the software should be, Tau automatically detects agreements and disagreements and calculates the agreed specified software. You are able to customize the definition of what “agreement,” means 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 any number of roles with adequate permissions simultaneously. This allows anyone non-technical, e.g. in government or company departments, and end-users to collaboratively contribute to development. Multiple people may describe ideas for separate parts of the software, which Tau then combines to create the overall 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, 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 simultaneous development 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 more efficiently.. 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 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.


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


Tau ensures software safety and security by employing Software as Sentences, to write provably correct software according to your definition of “Safe”, without any bugs or ambiguities. For instance, if your definition of “Safe” includes never sending private data over the network, Tau will ensure that the software adheres to that rule and provide a verifiable proof.


You have deep control over how updates are accepted into software in the development stage by using Tau’s complex rules and filters in what permissions are given to be able to contribute to any aspect of the software. 

For the first time, you also have post-release control of the software updates, 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, providing an additional layer of security.

Tau uses a logic-based approach instead of machine learning because formal methods provide provably correct results. While other AI-based coding assistants may use machine learning algorithms to suggest or generate code based on existing patterns.

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 Tau gets the best of both worlds.

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


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.

Tau’s highly efficient runtime ensures that software creation is achieved without excessive resource demands. Leveraging advancements in binary decision diagrams, Tau’s computational processing is optimized for efficiency and effectiveness.

Tau uses a logic-based approach 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 Tau gets the best of both worlds.

With Tau, nothing may tamper or amend the software post-release, ensuring that the behavior of the software remains consistent.

Software will be correct to your description without any bugs or ambiguities. Tau will also provide verifiable proof that it met the description. 

Tau generates software according to your definition of “safe”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 into the indefinite future. Including complex rules in how your team contributes to development itself. Any update or tampering that does not comply is automatically rejected by the software itself, providing an additional layer of security.

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.