Skip to content
Randomized Property-Based Testing Plugin for Coq
Coq OCaml Makefile Other
Branch: 8.11
Clone or download

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Merge branch '8.10' into 8.11 Mar 28, 2020
examples fix STLC example Dec 8, 2019
quickChickTool Merge branch '8.9' into 8.10 Oct 22, 2019
scripts fix script on macOS Nov 17, 2018
sf-experiment First nontrivial property for DeepWeb -- BUG FOUND Jun 2, 2017
src Better fix for Decimal.int extraction Apr 9, 2020
test Touch mli file (#192) Apr 6, 2020
.gitignore fix STLC example Dec 8, 2019
CHANGELOG.md Update CHANGELOG.md (#195) Apr 9, 2020
CONTRIBUTING.md set default branch to 8.10 Oct 28, 2019
Dockerfile Merge branch '8.10' into 8.11 Mar 18, 2020
DocumentationCheck.v Merge branch '8.7' into 8.8 Sep 27, 2019
LICENSE Added MIT license Sep 12, 2014
Makefile Merge branch '8.9' into 8.10 Mar 18, 2020
Makefile.coq.local [coq] Remove some more warnings, disable pervasive warning 8 Apr 24, 2019
PROFILING The algorithmic improvements are not useless Oct 19, 2014
QuickChickInterface.v Merge branch '8.7' into 8.8 Sep 27, 2019
README.md Merge branch '8.9' into 8.10 Nov 26, 2019
TODOQC.org Clarify reporting of results Jun 30, 2017
_CoqProject QoL improvements for 8.11 in preparation for updates to QuickChick-SF. Mar 27, 2020
coq-quickchick.opam Merge branch '8.10' into 8.11 Mar 28, 2020
dune-project [dune] Full Dune support. (#151) Apr 9, 2019
example.dir-locals.el Initial Commit Apr 3, 2014
quickchick.opam Merge branch '8.10' into 8.11 Mar 18, 2020

README.md

QuickChick

CircleCI

Description

For more information on QuickChick, look at the tutorial available under the qc folder of the deep spec summer school: https://github.com/DeepSpec/dsss17

Current release dependencies:

  • Branch master:
    • Coq 8.8
    • OCaml >= 4.04.0
    • mathcomp-ssreflect-1.6.4
    • coq-ext-lib-0.9.7
    • coq-simple-io-0.2

Installation

From OPAM

# Add the Coq opam repository (if you haven't already)
opam repo add coq-released https://coq.inria.fr/opam/released
opam update
# Install the coq-quickchick opam package
opam install coq-quickchick

From source

# To get the dependencies, you still need to add the Coq opam repository (if you haven't already)
opam repo add coq-released https://coq.inria.fr/opam/released
opam update
opam install coq-mathcomp-ssreflect coq-ext-lib coq-simple-io

# Then:
make && make install

Simple Examples

  • examples/Tutorial.v
  • examples/RedBlack
  • examples/stlc
  • examples/ifc-basic

Running make tests in the top-level QuickChick folder will check and execute all of these. If successful, you should see "success" at the end.

Top-level Commands

  • QuickCheck c
  • Sample g
  • Derive Arbitrary for c
  • Derive Show for c
  • Derive ArbitrarySizedSuchThat for (fun x => p)
  • Derive ArbitrarySizedSuchThat for (fun x => let (x1,x2...) := x in p)
  • QuickCheckWith args c
  • MutateCheck c p
  • MutateCheckWith args c p
  • MutateCheckMany c ps
  • MutateCheckManyWith args c ps

Other tags

  • coq 8.4pl6:
  • coq 8.5-*:
    • Coq 8.5pl2
    • OCaml 4.03.0
    • mathcomp-ssreflect v1.5
    • 8.5-legacy contains the old typeclass hierarchy
    • 8.5-automation contains the new one
  • coq 8.6:
    • Coq 8.6
    • OCaml 4.03.0
    • mathcomp-ssreflect-1.6.1

Documentation

The public API of QuickChick is summarized in BasicInterface.v.

The main documentation is the DeepSpec summer school tutorial:

Here is some more reading material:

You can’t perform that action at this time.