Freedom251 › Formal Verification Tools
TLA+

What TLA+ is
TLA+ is a free, open-source language and toolset for modeling software and hardware, especially concurrent and distributed systems. It helps teams express designs as specifications and check for fundamental errors before they become difficult or expensive to fix in code. PlusCal lets users describe algorithms and translate them into TLA+ models. TLC checks executable specifications for safety and liveness properties, while TLAPS mechanically checks TLA+ proofs.
The TLA+ Toolbox supports editing, PlusCal translation, TLC runs, error-trace exploration, and proof checking. A Visual Studio Code extension provides syntax highlighting, translation, parsing, TLC execution, result visualization, completion, and formatting for TLA+ and PlusCal. Command-line tools use tla2tools.jar and require Java 11 or later. The tools and Toolbox repository are licensed under the MIT License. The Eclipse-based Toolbox GUI is currently unmaintained, has minor unfixed bugs, and has help pages as its only user manual. The listed platforms are extension, Linux, macOS, and Windows.
Who it suits
TLA+ suits software and hardware designers modeling concurrent or distributed systems. It is relevant to teams that want to check specifications with TLC or mechanically check proofs with TLAPS.
What it does well
- Free and open source.
- TLC checks safety and liveness properties.
- TLC can run across multiple computers or cloud systems.
- TLAPS mechanically checks proofs.
- Visual Studio Code extension supports TLA+ and PlusCal.
What to know first
- Command-line tools require Java 11 or later.
- The Toolbox GUI is currently unmaintained.
- The Toolbox has minor unfixed bugs.
- Its help pages are its only user manual.
Limits
The TLA+ tools are free. Command-line tools require Java 11 or later; the Toolbox GUI is currently unmaintained and has minor unfixed bugs.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| TLA+ | Open-source specification language and tools · command-line tools require Java 11+ | Free |
As lamport.azurewebsites.net lists them, read 9 Oct 2026. The maker's own page has the final word.
Getting started
- Visit the TLA+ website.
- Choose the TLA+ Toolbox, Visual Studio Code extension, or command-line tools.
- For command-line use, obtain tla2tools.jar and use Java 11 or later.
- Write a TLA+ specification or describe an algorithm in PlusCal.
- Run TLC to check an executable specification, or use TLAPS to check a proof.
Verdict
TLA+ provides model checking, proof checking, and editor options for system design verification. The Toolbox is an available interface, but its stated maintenance and documentation limitations are worth considering.
Questions
Is TLA+ free?
Yes. TLA+ is free and open source, and its tools and Toolbox repository are licensed under the MIT License.
Which platforms does TLA+ support?
Listed platforms are extension, Linux, macOS, and Windows.
What does TLC check?
TLC checks executable TLA+ specifications for safety and liveness properties. It can run across multiple computers or cloud systems.
Does TLA+ have an editor integration?
A Visual Studio Code extension supports TLA+ and PlusCal syntax highlighting, translation, parsing, TLC runs, result visualization, code completion, and formatting.
What should I know about the Toolbox?
The Eclipse-based Toolbox GUI is currently unmaintained, has minor unfixed bugs, and its help pages are its only user manual.
Are there command-line requirements?
The command-line tools run using tla2tools.jar and require Java 11 or later.
Facts from TLA+'s own pages
- Command line and Java
- The tools can run from the command line using tla2tools.jar and require Java 11 or later. · github.com, 9 Oct 2026
- Design verification
- TLA+ and its tools are intended to help find fundamental design errors that can be difficult and expensive to correct in code. · lamport.azurewebsites.net, 9 Oct 2026
- Editor integration
- A Visual Studio Code extension supports TLA+ and PlusCal syntax highlighting, translation, parsing, TLC runs, result visualization, code completion, and formatting. · marketplace.visualstudio.com, 9 Oct 2026
- IDE features
- The TLA+ Toolbox supports editing specifications, running the PlusCal translator and TLC, exploring error traces, and running the proof system. · lamport.azurewebsites.net, 9 Oct 2026
- Known limitations
- The Toolbox page notes that it has minor unfixed bugs and that its help pages are its only user manual. · lamport.azurewebsites.net, 9 Oct 2026
- License
- The TLA+ tools and Toolbox repository is licensed under the MIT License. · github.com, 9 Oct 2026
- Model checking
- TLC checks executable TLA+ specifications for safety and liveness properties and can run across multiple computers or cloud systems. · lamport.azurewebsites.net, 9 Oct 2026
- Platforms
- The Toolbox download instructions cover Windows, Mac OS, and Linux. · lamport.azurewebsites.net, 9 Oct 2026
- PlusCal
- PlusCal describes algorithms and translates them into TLA+ models that can be checked with TLA+ tools. · lamport.azurewebsites.net, 9 Oct 2026
- Proof checking
- TLAPS mechanically checks proofs written in TLA+. · lamport.azurewebsites.net, 9 Oct 2026
- Purpose
- TLA+ is a high-level language for modeling software and hardware systems, especially concurrent and distributed systems. · lamport.azurewebsites.net, 9 Oct 2026
- Support
- The TLA+ Foundation directs technical questions and issues to the appropriate GitHub issue tracker. · foundation.tlapl.us, 9 Oct 2026
- Toolbox maintenance
- The repository describes the Eclipse-based Toolbox GUI as currently unmaintained. · github.com, 9 Oct 2026
Where TLA+ stands on Freedom251
- Formal Verification Tools#22 of 34