====== Welcome to the TLA+ Wiki ======
This wiki is community driven, and aims to become a useful resource for TLA+ users.
===== TLA+ and TLC ======
TLA+ is a high-level language for modeling programs and systems--especially concurrent and distributed ones. It's based on the idea that the best way to describe things precisely is with simple mathematics. TLA+ and its tools are useful for eliminating fundamental design errors, which are hard to find and expensive to correct in code.
TLC is a model checker for specifications written in TLA+.
----- MODULE HourClock -----
EXTENDS Naturals
VARIABLE hr
HCini == hr \in (1 .. 12)
HCnxt == hr' = IF hr # 12 THEN hr + 1 ELSE 1
HC == HCini /\ [][HCnxt]_hr
------------------------
THEOREM HC => []HCini
=======================
----- CONFIG HourClock -----
(***************************************************************************)
(* This is a TLC configuration file for testing that HCini is an invariant *)
(* of the specification HC *)
(***************************************************************************)
SPECIFICATION HC
\* This statement tells TLC that HC is the specification that it
\* should check.
INVARIANT HCini
\* This statement tells TLC to check that formula HCini is an
\* invariant of the specification--in other words, that the
\* specification implies []HCini.
======================
==== Contributing ====
These are some of the ways you can contribute.
=== Wiki ===
Contributions to the wiki are very welcome!
To contribute you will need to register an account on this website (it only requires a username, email and password). Should you need it, TLA+ was created by Leslie **Lamport**.
You can learn the syntax from [[wiki:syntax|here]]. Markdown is not supported.
=== Tools ===
Currently the main areas are the [[codebase:start|TLC model checker]] (java), and the [[using:vscode:start|Visual Studio Extension]].
If you're looking for some inspiration, be sure to check the monthly development update that usually has good first contribution ideas: [[https://foundation.tlapl.us/blog/index.html]]
----