Freek Wiedijk - A Synthesis of the Procedural and Declarative Styles of Interactive Theorem Proving

lmcs:1046 - Logical Methods in Computer Science, March 28, 2012, Volume 8, Issue 1 -
A Synthesis of the Procedural and Declarative Styles of Interactive Theorem ProvingArticle

Authors: Freek Wiedijk

    We propose a synthesis of the two proof styles of interactive theorem proving: the procedural style (where proofs are scripts of commands, like in Coq) and the declarative style (where proofs are texts in a controlled natural language, like in Isabelle/Isar). Our approach combines the advantages of the declarative style - the possibility to write formal proofs like normal mathematical text - and the procedural style - strong automation and help with shaping the proofs, including determining the statements of intermediate steps. Our approach is new, and differs significantly from the ways in which the procedural and declarative proof styles have been combined before in the Isabelle, Ssreflect and Matita systems. Our approach is generic and can be implemented on top of any procedural interactive theorem prover, regardless of its architecture and logical foundations. To show the viability of our proposed approach, we fully implemented it as a proof interface called miz3, on top of the HOL Light interactive theorem prover. The declarative language that this interface uses is a slight variant of the language of the Mizar system, and can be used for any interactive theorem prover regardless of its logical foundations. The miz3 interface allows easy access to the full set of tactics and formal libraries of HOL Light, and as such has "industrial strength". Our approach gives a way to automatically convert any procedural proof to a declarative counterpart, where the converted proof is similar in size to the original. As all declarative systems have essentially the same proof language, this gives a straightforward way to port proofs between interactive theorem provers.

    Volume: Volume 8, Issue 1
    Published on: March 28, 2012
    Imported on: May 19, 2011
    Keywords: Computer Science - Logic in Computer Science,F.4.1, I.2.3, I.2.4

    12 Documents citing this article

    Consultation statistics

    This page has been seen 1140 times.
    This article's PDF has been downloaded 493 times.