This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
Ivor is a type theory based theorem prover, with a
Haskell API, designed for easy extending and embedding
of theorem proving technology in Haskell
applications. It provides an implementation of the
type theory and tactics for building terms, more or
less along the lines of systems such as Coq or Agda,
and taking much of its inspiration from Conor
McBride's presentation of OLEG.
The API provides a collection of primitive tactics and
combinators for building new tactics. It is therefore
possible to build new tactics to suit specific
applications. Ivor features a dependent type theory
similar to Luo's ECC with definitions (and similar to
that implemented in Epigram), with dependent pattern
matching, and experimental multi-stage programming
support. Optionally, it can be extended with
heterogeneous equality, primitive types and operations,
new parser rules, user defined tactics and (if you
want your proofs to be untrustworthy) a fixpoint
combinator.