{
  "status": "unknown",
  "advantages": [],
  "limitations": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-11-10",
  "slug": "calm-theorem",
  "term": "CALM theorem",
  "aliases": [
    "Consistency as Logical Monotonicity"
  ],
  "definition": "The CALM theorem connects monotone queries with consistent, coordination-free distributed computation in a relational-transducer model.",
  "note": "Monotonicity: Adding input facts cannot invalidate an output fact already derived. This concerns program results, not increasing timestamps or the monotonic-reads session guarantee. [calm-overview]\n\nExecution: The formal model uses connected networks and fair runs: nodes keep taking steps and buffered messages are eventually delivered. Coordination-free does not mean communication-free or that every node immediately knows the complete answer. [calm-transducers]\n\nDesign: Proving reachability from received edges differs from declaring an object unreachable while edges may still arrive. Reclaiming tombstoned data can require later coordination even when foreground updates do not. [calm-overview]",
  "related": [
    "cap-theorem",
    "invariant-confluence",
    "monotonic-reads",
    "eventual-consistency"
  ],
  "citations": [
    {
      "id": "calm-overview",
      "title": "Hellerstein and Alvaro. Keeping CALM: When Distributed Consistency is Easy. arXiv:1901.01930v2 (2019), sections 1.3-2.2 and 3.4.",
      "url": "https://arxiv.org/pdf/1901.01930v2",
      "accessed": "2026-11-10"
    },
    {
      "id": "calm-transducers",
      "title": "Ameloot, Neven and Van den Bussche. Relational transducers for declarative networking. arXiv:1012.2858v1, sections 4-6.",
      "url": "https://arxiv.org/pdf/1012.2858v1",
      "accessed": "2026-11-10"
    }
  ],
  "provenance": [
    "Source synthesis of the specified formal model and its engineering interpretation; not a runtime performance or fault-tolerance guarantee."
  ]
}
