PML -- a new proof assistant
Résumé
We will present our ongoing work on a new proof assistant and deduction system named PML. The basic idea is to start from an ML-like programming language and add specification and proof facilities. On the programming language side, the language unifies certain concepts: PML uses only one notion of sum types (polymorphic variants) and one notion of products (extensible records). These can then be used to encode modules and objects. PML's typing algorithm is based on a new constraint consistency check (as opposed to constraint solving). We transform the programming language into a deduction system by adding specification and proofs into modules. Surprisingly, extending such a powerful programming language into a deduction systems requires very little work. For instance, the syntax of programs can be reused for proofs.