Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
start [2024/09/28 18:15] – fponzi | start [2024/10/21 22:18] (current) – fponzi | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Welcome to the (unofficial) | + | ====== Welcome to the TLA+ Wiki ====== |
This wiki is community driven, and aims to become a useful resource for TLA+ users. | This wiki is community driven, and aims to become a useful resource for TLA+ users. | ||
- | This wiki was created in response to the [[http:// | + | ===== 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. | ||
- | - **Difficulty Understanding Existing Codebase and Documentation**: | + | TLC is a model checker |
- | - **Navigation and Documentation**: | + | < |
- | | + | ----- 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 | ||
+ | ======================= | ||
- | The takeaway also sums up the mission | + | ----- CONFIG HourClock ----- |
+ | (***************************************************************************) | ||
+ | (* This is a TLC configuration file for testing that HCini is an invariant *) | ||
+ | (* of the specification HC *) | ||
+ | (***************************************************************************) | ||
- | > Streamlining Documentation: | + | SPECIFICATION HC |
+ | \* This statement tells TLC that HC is the specification that it | ||
+ | \* should check. | ||
- | This is a community-backed effort, so if you find errors or suggestions/ | + | INVARIANT HCini |
+ | | ||
+ | \* invariant of the specification--in other words, that the | ||
+ | \* specification implies []HCini. | ||
+ | ====================== | ||
- | If you want to contribute, please check [[wiki: | + | </ |
==== Contributing ==== | ==== Contributing ==== | ||
- | Contribution | + | Contributions |
- | In order to contribute you will need to register | + | To contribute you will need to register an account |
- | You can learn the syntax from [[wiki: | + | You can learn the syntax from [[wiki: |
- | + | ||
- | ==== About ==== | + | |
- | + | ||
- | This wiki is hosted on an Azure VM. The wiki is implemented with the [dokuwiki](https:// | + | |
---- | ---- |