Lean 4 port of Iris, a higher-order concurrent separation logic framework
Lean
219
526 commits
updated Sep 22, 2026
Lean 4 port of Iris, a higher-order concurrent separation logic framework.
"Iris is a framework that can be used for reasoning about safety of concurrent programs, as the logic in logical relations, to reason about type-systems, data-abstraction etc."
– https://iris-project.org/
Rocq formalization of Iris: https://gitlab.mpi-sws.org/iris/iris/
Currently, Iris-Lean has support for
IProp, the standard model of IrisHeapLang, the Iris example language and logicUsers of Iris-Lean should be aware of the documentation:
master branch may contain features added since the last release:[[require]]
name = "iris"
git.url = "https://github.com/leanprover-community/iris-lean.git"
git.subDir = "Iris"
rev = "master"
[[require]]
name = "iris"
git.url = "https://github.com/leanprover-community/iris-lean.git"
git.subDir = "IrisMath"
rev = "master"
Development for Iris-Lean coordinates in:
We always welcome new contributors! For questions, contribution guidance, and development information, feel free to introduce yourself on the Zulip.
Most of the unicode characters used in Iris can be written with the Lean extension replacement, e.g. \ast will automatically be replaced with ∗. To add additional replacements, edit the Lean extension setting lean4.input.customTranslations. Suggested additional replacements are listed below.
"sep": "∗",
"wand": "-∗",
"pure": "⌜⌝",
"bientails": "⊣⊢",
"emb": "⎡⎤",
"auth": "●",
"frag": "◯",
"incl": "≼",
"valid": "✓",
"later": "▷",
"except0": "◇",
"plainly": "■",
"intuit": "□",
"credit": "£",
Lean
98.0%
Python
1.7%
Lean 4 port of Iris, a higher-order concurrent separation logic framework
Lean
219
526 commits
updated Sep 22, 2026
Lean 4 port of Iris, a higher-order concurrent separation logic framework.
"Iris is a framework that can be used for reasoning about safety of concurrent programs, as the logic in logical relations, to reason about type-systems, data-abstraction etc."
– https://iris-project.org/
Rocq formalization of Iris: https://gitlab.mpi-sws.org/iris/iris/
Currently, Iris-Lean has support for
IProp, the standard model of IrisHeapLang, the Iris example language and logicUsers of Iris-Lean should be aware of the documentation:
master branch may contain features added since the last release:[[require]]
name = "iris"
git.url = "https://github.com/leanprover-community/iris-lean.git"
git.subDir = "Iris"
rev = "master"
[[require]]
name = "iris"
git.url = "https://github.com/leanprover-community/iris-lean.git"
git.subDir = "IrisMath"
rev = "master"
Development for Iris-Lean coordinates in:
We always welcome new contributors! For questions, contribution guidance, and development information, feel free to introduce yourself on the Zulip.
Most of the unicode characters used in Iris can be written with the Lean extension replacement, e.g. \ast will automatically be replaced with ∗. To add additional replacements, edit the Lean extension setting lean4.input.customTranslations. Suggested additional replacements are listed below.
"sep": "∗",
"wand": "-∗",
"pure": "⌜⌝",
"bientails": "⊣⊢",
"emb": "⎡⎤",
"auth": "●",
"frag": "◯",
"incl": "≼",
"valid": "✓",
"later": "▷",
"except0": "◇",
"plainly": "■",
"intuit": "□",
"credit": "£",
Lean
98.0%
Python
1.7%