The alf proof editor

Alf is an interactive proof editor. It is based on the idea that to prove a mathematical theorem is to build a proof object for the theorem. The proof object is directly manipulated on the screen, diierent manipulations correspond to diierent steps in the proof. The language we use is Martin-LL of's monomorphic type theory. This is a small functional programming language with dependent types. The language is open in the sense that it is easy to introduce new inductively deened sets. A proof is represented as a mathematical object and a proposition is identiied with the set of its proof objects.