{
  "id": 11010438,
  "title": "What TLA+ can and can't check",
  "url": "https://urgent.news/2026/09/30/what-tla-can-and-cant-check-11010438",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-09-30T13:57:06.000Z",
  "source": {
    "name": "Hacker News",
    "slug": "hacker-news",
    "url": "https://buttondown.com/hillelwayne/archive/what-tla-can-and-cant-check/"
  },
  "original_language": "en",
  "account": "TLA+ is a powerful tool for designing concurrent systems and ensuring they are free of bugs. However, it has limitations in what it can check. To verify a property, you must have a property to verify. TLA+ divides the system into behaviors, each being a sequence of states. It uses boolean expressions and temporal logical operators to define invariants, action properties, and liveness properties. Safety properties, such as invariants and action properties, ensure that something bad never happens. Liveness properties, like the eventual occurrence of a good outcome, are based on eventual properties.\n\nThe limitation of TLA+ lies in the types of properties it can express. If you cannot represent your property as a logical formula, TLA+ cannot help. Important properties that are difficult to formalize fall into this category. TLA+ safety properties can only express properties at the level of individual states or single steps, making it impossible to define properties over two or more steps or over real-time. It also cannot express properties that are true for some behaviors, only those true for all behaviors. Hyperproperties, which deal with sets of behaviors, are also beyond TLA+'s capabilities. Lastly, TLA+ cannot define properties over the entire state space, limiting its ability to prove metaproperties about the system.",
  "summary": null,
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}