Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/co-dan/bi-cutelim
Cut elimination for the logic of Bunched Implications (BI), and some extensions.
https://github.com/co-dan/bi-cutelim
coq formalization logic metatheory
Last synced: about 1 month ago
JSON representation
Cut elimination for the logic of Bunched Implications (BI), and some extensions.
- Host: GitHub
- URL: https://github.com/co-dan/bi-cutelim
- Owner: co-dan
- License: bsd-3-clause
- Created: 2021-06-18T15:32:45.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-07-27T09:27:48.000Z (over 1 year ago)
- Last Synced: 2024-11-06T08:44:13.432Z (3 months ago)
- Topics: coq, formalization, logic, metatheory
- Language: Coq
- Homepage:
- Size: 769 KB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
A semantic cut admissibility proof for the logic of Bunched Implications and extensions.
See the [preprint](https://groupoid.moe/pdf/cutelim-ext.pdf) for more details and information.## Intro
We formalize the sequent calculus of BI and give an algebraic proof of
cut admissibility. We parametrize the calculus by an arbitrary
collection of "simple structural rules" (see `theories/seqcalc.v` for
the definition).Structure (in the `theories` directory):
- `syntax.v`, `terms.v` -- formulas of BI and "bunched terms".
A bunched term is essential a formula built up only from `∗/,` and
`∧/;` and variables.
- `interp.v` -- interpretation of formulas and bunched terms in a BI algebra
- `seqcalc.v` -- sequent calculus + soundness
- `bunch_decomp.v` -- helpful lemmas about decompositions of bunches
- `seqcalc_height.v` -- the same sequent calculus, but with the notion of proof height.
Includes proofs of invertibility of some of the rules.
- `algebra/bi.v`, `algebra/interface.v` -- BI algebras
- `algebra/from_closure.v` -- BI algebra from a closure operator
- `cutelim.v` -- the universal model for cut elimination
- `analytic_completion.v` -- the analytic completion for arbitary structural rulesThere is also a formalization of the same method but for BI with an S4-like box modality.
See `seqcalc_s4.v`, `seqcalc_height_s4.v`, `interp_s4.v`, and `cutelim_s4.v` in the `theories` folder.## Compilation
You will need a copy of std++ installed.
This version is tested with Coq 8.17 and std++ 1.8.0.
You can install the dependency with opam using `opam install --deps-only .` or the whole developement with `opam install .`If you have std++ installed then you can compile the project with `make -jN` where `N` is the number of threads you want to use.
Compile the HTML docs with `make html`.Note: this Coq developement is automatically tested for Coq versions 8.16 and 8.17, and we will try to support the two latest versions of Coq.
![CI workflow status](https://github.com/co-dan/BI-cutelim/actions/workflows/build.yml/badge.svg)## Copyright
The Coq formalization is distributed under the BSD-3 licence.
Some code was adapted from the Iris project .