{"id":13632775,"url":"https://github.com/apalache-mc/apalache","last_synced_at":"2026-03-04T15:02:56.468Z","repository":{"id":34566075,"uuid":"38512019","full_name":"apalache-mc/apalache","owner":"apalache-mc","description":"APALACHE: symbolic model checker for TLA+ and Quint","archived":false,"fork":false,"pushed_at":"2026-02-11T20:30:12.000Z","size":65122,"stargazers_count":527,"open_issues_count":269,"forks_count":47,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-02-12T04:32:12.165Z","etag":null,"topics":["apalache","model-checking","quint","smt","tla","tlaplus","verification"],"latest_commit_sha":null,"homepage":"https://apalache-mc.org/","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apalache-mc.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["konnov"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2015-07-03T21:56:22.000Z","updated_at":"2026-02-11T20:30:25.000Z","dependencies_parsed_at":"2024-01-26T03:27:37.238Z","dependency_job_id":"4a9b09b8-9da7-4ab2-b1b7-5f40aa2be6b7","html_url":"https://github.com/apalache-mc/apalache","commit_stats":null,"previous_names":["apalache-mc/apalache","informalsystems/apalache"],"tags_count":142,"template":false,"template_full_name":null,"purl":"pkg:github/apalache-mc/apalache","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apalache-mc%2Fapalache","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apalache-mc%2Fapalache/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apalache-mc%2Fapalache/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apalache-mc%2Fapalache/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apalache-mc","download_url":"https://codeload.github.com/apalache-mc/apalache/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apalache-mc%2Fapalache/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30084685,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T13:22:36.021Z","status":"ssl_error","status_checked_at":"2026-03-04T13:20:45.750Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apalache","model-checking","quint","smt","tla","tlaplus","verification"],"created_at":"2024-08-01T22:03:15.401Z","updated_at":"2026-03-04T15:02:56.434Z","avatar_url":"https://github.com/apalache-mc.png","language":"Scala","funding_links":["https://github.com/sponsors/konnov"],"categories":["Scala"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cimg\nsrc=\"https://raw.githubusercontent.com/informalsystems/apalache/99e58d6f5eebcc41f432a126a13a5f8d2ae7afe6/logo-apalache.svg\"\nalt=\"Apalache Logo\"\u003e\n\n\u003ch1\u003e\u003ca href=\"https://apalache-mc.org/\"\u003eAPALACHE\u003c/a\u003e\u003c/h1\u003e\n\n\u003cp\u003eA symbolic model checker for TLA+\u003cp\u003e\n\n\u003c/div\u003e\n\n[![build](https://github.com/apalache-mc/apalache/actions/workflows/main.yml/badge.svg)](https://github.com/apalache-mc/apalache/actions/workflows/main.yml)\n\nApalache translates [TLA+][] into the logic supported by SMT solvers such as\n[Microsoft Z3][]. Apalache can check inductive invariants (for fixed or bounded\nparameters) and check safety of bounded executions (bounded model checking). To\nsee the list of supported TLA+ constructs, check the [supported features][]. In\ngeneral, Apalache runs under the same assumptions as [TLC][]. However, Apalache\nbenefits from constraint solving and can handle potentially larger state-spaces,\ne.g., involving integer clocks and Byzantine faults.\n\nTo learn more about TLA+, visit [Leslie Lamport's page on TLA+][] and his [Video\ncourse][].\n\n## Releases\n\nCheck the [releases page][] for our latest release.\n\nFor a stable release, we recommend that you pull the latest docker image with\n`docker pull ghcr.io/apalache-mc/apalache:main`, use the jar from the\nmost recent release, or checkout the source code from the most recent release\ntag.\n\nTo try the latest cool features, check out the head of the [main branch][].\n\nYou can also find Apalache packaged via Nix at [cosmos.nix](https://github.com/informalsystems/cosmos.nix)\n\nFor more information on installation options, see [the\nmanual][user-manual-installation].\n\n## Success stories\n\nCheck [Apalache examples][] that demonstrate how to use the strengths of Apalache.\nAlso, check the [standard repository of TLA+ examples][].\n\n## Getting started\n\n- Read the [Beginner's tutorial][].\n- Read the [Apalache user manual][user-manual].\n- Consult the (WIP) [Idioms for writing better TLA+][idioms].\n- Consult the (WIP) [TLA+ language manual for engineers][language-manual].\n\n## Community\n\n- Discuss the use of Apalache and R\u0026D on the [Apalache Forum][].\n- [Contribute](./CONTRIBUTING.md) to the development of Apalache.\n\n## Funding and Sponsorship\n\nCurrently, Apalache is not funded by any organization. As a result,\nit is de-facto funded by its current maintainers and contributors,\nincluding [Igor Konnov][], [Jure Kukovec][], and [Thomas Pani][].\nIf you would like to sponsor the project, please contact us.\n\nWe are grateful for the past financial support in the form of grants or\nemployment from the following organizations:\n\n - [Informal Systems][] (Canada/Switzerland/Austria): 2020-2024\n - [Vienna Business Agency][] (Austria): 2021-2023\n - [Interchain Foundation][] (Switzerland): 2019-2023\n - [WWTF][] (Austria): Vienna Science and Technology Fund 2016-2020\n - [Inria Nancy][] and [LORIA][] (France): 2018-2019\n - [TU Wien][] (Austria): 2016-2020\n\nMore details on the [Funding page](./FUNDING.md).\n\n## Website\n\nOur current website is served at https://apalache-mc.org .\n\nThe site is hosted by github, and changes can be made through PRs into the\n[gh-pages](https://github.com/apalache-mc/apalache/tree/gh-pages) branch of this repository. See the README.md on that\nbranch for more information.\n\nThe user documentation is automatically deployed to the website branch as per\nthe [CI configuration](./.github/workflows/deploy.yml).\n\n\u003c!-- TODO:this section should go to the website\n\n## Talks\n\n- [Informal Systems Tutorial: TLA+ Basics](https://www.youtube.com/watch?v=peKYddIvCIs)\n\n- [Extended version of the Apalache tutorial](https://www.youtube.com/watch?v=Ml7d_3vlH88).\n  TLA+ tutorial at DISC 2021 (October 2021).\n\n- [How TLA+ and Apalache Helped Us to Design the Tendermint Light Client](https://www.crowdcast.io/e/interchain-conversations-II/38).\n  Interchain Conversations 2020 (December 2020).\n\n- [Model-based testing with TLA+ and Apalache](https://youtu.be/aveoIMphzW8).\n  TLA+ Community Event 2020 (October 2020).\n\n- [Type inference for TLA+ in Apalache](https://youtu.be/hnp25hmCMN8).\n  TLA+ Community Event 2020 (October 2020).\n\n- [Formal Spec and Model Checking of the Tendermint Blockchain Synchronization Protocol](https://youtu.be/h2Ovc1KWlXM)\n  2nd Workshop on Formal Methods for Blockchains (July 2020).\n\n- [Showing safety of Tendermint Consensus with TLA+ and Apalache](https://www.youtube.com/watch?v=aF20-28sMII).\n  Dev session at Informal Systems (May 2020).\n\n- [TLA+ model checking made symbolic](https://www.youtube.com/watch?v=e66FGgRzaqw)\n  OOPSLA 2019 (October 2019).\n\n- [Bounded model checking of TLA+ specifications with SMT](https://www.youtube.com/watch?v=Xl1--arESl8)\n  TLA+ Community Event 2018 (July 2018).\n--\u003e\n\n\u003c!-- TODO: This section should also go to the website\n## Academic papers\n\nTo read an academic paper about the theory behind Apalache,\ncheck our [paper at OOPSLA19](https://dl.acm.org/doi/10.1145/3360549).\nFor the details of our novel encoding using SMT arrays, check our\n[paper at TACAS23](https://link.springer.com/chapter/10.1007/978-3-031-30823-9_7).\nRelated reports and publications can be found at the\n[Apalache page at TU Wien](http://forsyte.at/research/apalache/).\n--\u003e\n\n---\n\n[tla+]: http://lamport.azurewebsites.net/tla/tla.html\n[microsoft z3]: https://github.com/Z3Prover/z3\n[supported features]: https://apalache-mc.org/docs/apalache/features.html\n[tlc]: http://lamport.azurewebsites.net/tla/tools.html\n[leslie lamport's page on tla+]: http://lamport.azurewebsites.net/tla/tla.html\n[video course]: http://lamport.azurewebsites.net/video/videos.html\n[releases page]: https://github.com/apalache-mc/apalache/releases\n[master]: https://github.com/apalache-mc/apalache/tree/master\n[main branch]: https://github.com/apalache-mc/apalache/tree/main\n[tendermint specs]: https://github.com/tendermint/tendermint/tree/master/spec/light-client/accountability\n[tendermint blockchain]: https://github.com/tendermint\n[standard repository of tla+ examples]: https://github.com/tlaplus/Examples\n[apalache benchmarks]: https://github.com/apalache-mc/apalache-tests\n[checking inductive invariants]: https://github.com/apalache-mc/apalache-tests/blob/master/results/001indinv-report.md\n[bounded model checking]: https://github.com/apalache-mc/apalache-tests/blob/master/results/002bmc-report.md\n[user-manual]: http://apalache-mc.org/docs/index.html\n[user-manual-docker]: https://apalache-mc.org/docs/apalache/installation/docker.html\n[user-manual-installation]: https://apalache-mc.org/docs/apalache/installation/index.html\n[language-manual]: https://apalache-mc.org/docs/lang/index.html\n[idioms]: https://apalache-mc.org/docs/idiomatic/index.html\n[light client specs]: https://github.com/tendermint/tendermint/tree/master/spec/light-client/verification\n[model-based testing]: https://github.com/informalsystems/tendermint-rs/tree/master/light-client/tests/support/model_based#light-client-model-based-testing-guide\n[apalache-mc.org]: https://apalache-mc.org\n[TLA-Apalache workshop]: https://github.com/informalsystems/tla-apalache-workshop\n[Beginner's tutorial]: https://apalache-mc.org/docs/tutorials/entry-tutorial.html\n[Apalache examples]: https://github.com/konnov/apalache-examples\n[Apalache Forum]: https://apalache.discourse.group/\n[WWTF]: https://wwtf.at/index.php?lang=EN\n[TU Wien]: https://www.tuwien.at/\n[Inria Nancy]: https://www.inria.fr/en/inria-centre-universite-lorraine\n[LORIA]: https://loria.fr\n[Interchain Foundation]: https://interchain.io/\n[Informal Systems]: https://informal.systems/\n[Vienna Business Agency]: https://viennabusinessagency.at/\n[Igor Konnov]: https://github.com/konnov\n[Jure Kukovec]: https://github.com/kukovec\n[Thomas Pani]: https://github.com/thpani\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapalache-mc%2Fapalache","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapalache-mc%2Fapalache","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapalache-mc%2Fapalache/lists"}