https://github.com/innovativeinventor/tree-logics
[WIP] Formally verified, shallow embeddings of various tree logics, in Coq, along with some consistency, completeness, and soundness proofs. For funsies.
https://github.com/innovativeinventor/tree-logics
Last synced: about 2 months ago
JSON representation
[WIP] Formally verified, shallow embeddings of various tree logics, in Coq, along with some consistency, completeness, and soundness proofs. For funsies.
- Host: GitHub
- URL: https://github.com/innovativeinventor/tree-logics
- Owner: InnovativeInventor
- Created: 2022-02-28T06:21:41.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-08-18T21:12:26.000Z (almost 4 years ago)
- Last Synced: 2025-01-09T07:20:36.342Z (over 1 year ago)
- Language: Coq
- Homepage:
- Size: 61.5 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## tree-logics
This repo is an attempt to create various formally verified shallow embeddings of sentential logic in Coq, following along [PHIL 454](https://courses.illinois.edu/schedule/2022/spring/PHIL/454).
The goal is to build up (totally equivalent!) consistency and soundness proofs to explore various features of Coq.
In particular, there will be some ltac automation (in the manner of [CPDT](https://mitpress.mit.edu/books/certified-programming-dependent-types)).
For now, no external Coq libs are used -- just vanilla Coq.
This may change in the future.
See [sl.v](/sl.v) for the proofs/code.
## TODOs
Ongoing/Planned:
- [x] construct shallow embeddings of classical sentential logic (assume decidability)
- [x] prove demorgan, double-negation elim, negated conditional are sound
- [x] prove the composition of demorgan, double-negation, and negated conditional elim are sound (wrt the shallow embeddings) (i.e. "driving negations")
- [x] visual exporter of the embedded two-sided proof system
- [ ] optimization passes to obtain smaller, more concise proofs
- [ ] prove that the implementation of "driving negations" results in only negated atomics (correctness)
- [ ] embed [two-sided proof system](https://doi.org/10.5840/teachphil2019116101)
- [ ] prove soundness and completeness of two-sided proof system
- [ ] embed natural deduction (as rewrite rules?)
- [ ] prove soundness and completeness of natural deduction
Considering:
- [ ] Extract formally verified two-sided proof system as a calculator from Coq (and maybe expose as a web app)