ivor: Theorem proving library based on dependent type theory

Deprecated. in favor of idris

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.

Versions 0.1.5, 0.1.8, 0.1.9, 0.1.10, 0.1.10.1, 0.1.11, 0.1.12, 0.1.14, 0.1.14.1 base (>=3 && <4.4), binary, containers, directory, haskell98 (<2), mtl, parsec [details] BSD-3-Clause Edwin Brady Edwin Brady Revision 1 made by HerbertValerioRiedel at Thu Feb 11 20:58:06 UTC 2016 Theorem provers, Dependent Types http://www.dcs.st-and.ac.uk/~eb/Ivor/ by EdwinBrady at Mon Apr 18 10:09:30 UTC 2011 NixOS:0.1.14.1 5003 total (8 in the last 30 days) (no votes yet) [estimated by rule of succession] λ λ λ Docs not available All reported builds failed as of 2016-11-28 Hackage Matrix CI

Modules

• Ivor
• Ivor.Construction
• Ivor.CtxtTT
• Ivor.Equality
• Ivor.EvalTT
• Ivor.Plugin
• Ivor.Primitives
• Ivor.Shell
• Ivor.TT
• Ivor.TermParser
• Ivor.ViewTerm