https://github.com/clarus/falso
A proof of false in Coq.
https://github.com/clarus/falso
Last synced: 3 months ago
JSON representation
A proof of false in Coq.
- Host: GitHub
- URL: https://github.com/clarus/falso
- Owner: clarus
- License: mit
- Created: 2015-03-24T17:14:27.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2019-11-01T16:27:22.000Z (over 5 years ago)
- Last Synced: 2024-10-11T21:47:49.512Z (8 months ago)
- Language: Coq
- Homepage:
- Size: 6.84 KB
- Stars: 92
- Watchers: 5
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Falso
> A proof of false in Coq.*Post on Hacker News: https://news.ycombinator.com/item?id=9259790*
This is an implementation in the [Coq](https://coq.inria.fr/) proof assistant of the [Falso](http://inutile.club/estatis/falso/) proof system. It exploits a bug of the `vm_compute` command when there is a type with more than 255 constructors. The `vm_compute` command evaluates a term efficiently by compilation to a byte-code. This bug concerns all recent stable versions of Coq, including Coq 8.4pl5.
[Edit] This bug was corrected in Coq 8.4.6.
## Use
Install with [opam for Coq](http://coq-blog.clarus.me/use-opam-for-coq.html):
```
opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-falso
```
**Due to a political turmoil, this package was removed from the opam repository.** Although, I think this would be cool to have a maintained package with a proof of false for the various Coq versions when bugs are discovered.Install from the command line, with a working installation of Coq version `8.4.5`:
```
./configure.sh
make
make install
```In a tedious development:
```coq
Require Import Falso.All.Lemma hard : forall (A : Prop), A.
destruct falso.
Qed.(** Print the list of axioms used by [hard]. This list is empty. *)
Print Assumptions hard.
```## Credits
This proof technique was discovered by [Maxime Dénès](http://www.maximedenes.fr/) and [Pierre-Marie Pédrot](http://www.pps.univ-paris-diderot.fr/~pedrot/). This package is made by [Guillaume Claret](http://guillaume.claret.me/), under MIT license.