Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A proof of false in Coq.

Post on Hacker News:

This is an implementation in the Coq proof assistant of the 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.


Install with opam for Coq:

opam repo add coq-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:

make install

In a tedious development:

Require Import Falso.All.

Lemma hard : forall (A : Prop), A.
  destruct falso.

(** Print the list of axioms used by [hard]. This list is empty. *)
Print Assumptions hard.


This proof technique was discovered by Maxime Dénès and Pierre-Marie Pédrot. This package is made by Guillaume Claret, under MIT license.

You can’t perform that action at this time.