Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Armael/coq-procrastination

A small Coq library for collecting side conditions and deferring their proof
https://github.com/Armael/coq-procrastination

Last synced: about 2 months ago
JSON representation

A small Coq library for collecting side conditions and deferring their proof

Awesome Lists containing this project

README

        

# coq-procrastination

A small Coq library for collecting side conditions and deferring their proof.

```coq
Goal exists x, <... complicated expression ...>.
(* what might x be? *)
begin defer assuming x. exists x.
(* go on with the proof *)
...
(* discover some side-conditions about x *)
(* |- x <= 15 *)
defer. (* keep that for later! *)
...
(* |- x >= 2 /\ x / 2 = 1 *)
defer.
...
end defer.
(* |- x <= 15 /\ x >= 2 /\ 3/2 = 1 *)
(* Finding a valid instantiation is now easy/automatable *)
exists 3. repeat split; auto; omega.
Qed.
```

## Purpose & documentation

See the [manual](https://armael.github.io/coq-procrastination/manual/manual.pdf)
for a detailed introduction, and the [Tactics reference](TacticsReference.md).

## Installation

Using opam:
```
opam install coq-procrastination
```

## Examples

See [examples/](examples/).