ALLIGATORA Natural Deduction Theorem Prover

ALLIGATOR is a natural deduction theorem prover which can deal with propositional, predicate and higher order logics. It has been implemented in both Sicstus and the freely available SWI prolog. The source code is available free of charge under a Creative Commons license.
ALLIGATOR is based on Dependent Type Systems. The main advantage of using Dependent Type Systems for theorem proving is that if the prover can infer a certain proposition from given a set of assumptions, it will not only tell you so but also return a representation of the (natural deduction) proof. This proof object is a term of the typed lambda calculus. The proof object can be thought of as a tree, as illustrated with an example in this paper.