# Applications and libraries/Theorem provers

### From HaskellWiki

< Applications and libraries(Difference between revisions)

EndreyMark (Talk | contribs) m (The description of Agda mentioned dependent types, so I made a link to Dependent types wikipage.) |
DonStewart (Talk | contribs) (+Camila) |
||

Line 5: | Line 5: | ||

* [http://darcs.augustsson.net/Darcs/Djinn Djinn] generates Haskell code * from a type declaration, using a decision procedure from intuitionistic propositional calculus. |
* [http://darcs.augustsson.net/Darcs/Djinn Djinn] generates Haskell code * from a type declaration, using a decision procedure from intuitionistic propositional calculus. |
||

− | * [http://www.math.chalmers.se/~koen/paradox/ Paradox] ”processes first-order logic problems and tries to find finite-domain models for them”. |
+ | * [http://www.math.chalmers.se/~koen/paradox/ Paradox] processes first-order logic problems and tries to find finite-domain models for them. |

− | * [http://www.haskell.org/dumatel/ Dumatel] “is a prover based on many-sorted term rewriting (TRW) and equational reasoning” |
+ | * [http://www.haskell.org/dumatel/ Dumatel] is a prover based on many-sorted term rewriting (TRW) and equational reasoning |

+ | |||

+ | * [http://wiki.di.uminho.pt/wiki/bin/view/PURe/Camila Camila] is a system for software development using formal methods |

## Revision as of 04:44, 29 March 2006

## Theorem provers

- Agda is a system for incrementally developing proofs and programs. Agda is also a functional language with Dependent types. This language is very similar to cayenne and agda is intended to be a (almost) full implementation of it in the future.

- Djinn generates Haskell code * from a type declaration, using a decision procedure from intuitionistic propositional calculus.

- Paradox processes first-order logic problems and tries to find finite-domain models for them.

- Dumatel is a prover based on many-sorted term rewriting (TRW) and equational reasoning

- Camila is a system for software development using formal methods