A small Coq library for collecting side conditions and deferring their proof
  • TeX 64.7%
  • BibTeX Style 18.7%
  • Rocq Prover 15.9%
  • Makefile 0.7%
Find a file
2019-10-14 15:18:05 +02:00
attic Preserve user-provided names in the "end procrastination" subgoal 2018-07-03 08:34:45 +02:00
examples Use coq_makefile to generate the main makefile 2018-09-21 14:54:50 +02:00
manual Rename and rework the toplevel tactics 2018-07-06 16:37:24 +02:00
src Fixes for Coq 8.10 2019-10-14 15:18:05 +02:00
.gitignore Use coq_makefile to generate the main makefile 2018-09-21 14:54:50 +02:00
_CoqProject Use coq_makefile to generate the main makefile 2018-09-21 14:54:50 +02:00
AUTHORS Add AUTHORS & LICENSE files 2017-11-09 00:29:31 +01:00
CHANGES.md Update CHANGES 2018-09-18 11:17:22 +02:00
LICENSE Add AUTHORS & LICENSE files 2017-11-09 00:29:31 +01:00
Makefile Use coq_makefile to generate the main makefile 2018-09-21 14:54:50 +02:00
opam prepare the move to github 2018-07-02 16:49:36 +02:00
README.md Rename and rework the toplevel tactics 2018-07-06 16:37:24 +02:00
TacticsReference.md Improve the docs & slightly modify "deferred" 2018-07-06 17:43:04 +02:00

coq-procrastination

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

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 for a detailed introduction, and the Tactics reference.

Installation

Using opam:

opam install coq-procrastination

Examples

See examples/.