{"id":51861760,"url":"https://github.com/logsem/iris-tutorial-lean","last_synced_at":"2026-07-24T08:30:23.255Z","repository":{"id":371414676,"uuid":"1268482785","full_name":"logsem/iris-tutorial-lean","owner":"logsem","description":"Iris tutorial in Lean","archived":false,"fork":false,"pushed_at":"2026-07-14T21:48:18.000Z","size":51,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-07-14T23:24:45.604Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lean","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/logsem.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-06-13T15:32:06.000Z","updated_at":"2026-07-14T21:48:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/logsem/iris-tutorial-lean","commit_stats":null,"previous_names":["logsem/iris-tutorial-lean"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/logsem/iris-tutorial-lean","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logsem%2Firis-tutorial-lean","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logsem%2Firis-tutorial-lean/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logsem%2Firis-tutorial-lean/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logsem%2Firis-tutorial-lean/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/logsem","download_url":"https://codeload.github.com/logsem/iris-tutorial-lean/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/logsem%2Firis-tutorial-lean/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35835401,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-24T02:00:07.870Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2026-07-24T08:30:21.831Z","updated_at":"2026-07-24T08:30:23.250Z","avatar_url":"https://github.com/logsem.png","language":"Lean","funding_links":[],"categories":[],"sub_categories":[],"readme":"# The Iris Tutorial in Lean\n\nA Lean 4 port of the [Iris tutorial](https://github.com/logsem/iris-tutorial),\noriginally developed as a Rocq tutorial, based on\n[iris-lean](https://github.com/leanprover-community/iris-lean).\n\nThe book is written in [Verso](https://github.com/leanprover/verso):\nprose and Lean proofs live together in the same `.lean`\nfiles, and every proof is elaborated (type-checked) by the same toolchain\nthat renders the book. \n\nThe build produces two outputs from one source:\n- the rendered **HTML book**, and\n- a downloadable **`code.zip`** of the extracted, compilable example modules.\n\n## Porting status\n\nThis is a work in progress. The following chapters are fully ported and\ntype-checked:\n\n- **Basics**\n- **Pure**\n- **Lang**\n- **Specifications**\n- **Persistently**\n- **Linked Lists**\n\nThe remaining chapters are stubs (\"This chapter has not yet been ported\")\npending translation from their Rocq sources.\n\n## Building\n\nThe Lean toolchain is pinned in `lean-toolchain` (`leanprover/lean4:4.30.0`).\n`verso` and `iris-lean` are pinned in `lakefile.toml`; the three versions\nmust stay in lockstep.\n\n| Command | What it does |\n| --- | --- |\n| `lake exe textbook` | Build the book: elaborate every chapter (type-checking all proofs) and write HTML to `_out/html-multi/` plus extracted example code to `_out/example-code/`. |\n| `make` / `make out` | Build, then assemble `out/html-multi/` and `out/code.zip` for publishing. |\n| `make serve` | Build and serve the HTML locally (`PORT=8000` by default; override with `make serve PORT=9000`). |\n| `make clean` | Remove `out/` and `_out/`. |\n\n## Repository layout\n\n- `IrisTutorialBook.lean` — the `#doc` book root: front matter, authors, and\n  the `{include}` directives that order the chapters.\n- `IrisTutorial/*.lean` — one file per chapter, aggregated by\n  `IrisTutorial.lean`.\n- `BookGen/`, `BookGenMain.lean` — book-generation infrastructure inherited\n  from the Verso textbook template (the `textbook` executable and the custom\n  `savedLean` / `savedImport` / `savedComment` code-block elaborators that\n  make a block both type-checked inline *and* extracted to a file).\n\n## License and attribution\n\nThe Lean port is released under the [MIT License](LICENSE), matching the\nupstream tutorial. It derives from the Iris Tutorial originally written by\nLars Birkedal, Simon Gregersen, Mathias Adam Møller, Mathias Pedersen, and\nAmin Timany (Aarhus University). Lean port by Zongyuan Liu.\n\nThe files under `BookGen/` and `BookGenMain.lean` are\ninherited from the Verso textbook template and remain under their original\ncopyright (Lean FRO LLC, Apache 2.0).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogsem%2Firis-tutorial-lean","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flogsem%2Firis-tutorial-lean","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flogsem%2Firis-tutorial-lean/lists"}