Merging Procedural and Declarative Proof
There are two different styles for writing natural deduction proofs: the ‘Gentzen’ style in which a proof is a tree with the conclusion at the root and the assumptions at the leaves, and the ‘Fitch’ style (also called ‘flag’ style) in which a proof consists of lines that are grouped together in nested boxes.
In the world of proof assistants these two kinds of natural deduction correspond to procedural proofs (tactic scripts that work on one or more subgoals, like those of the Coq, HOL and PVS systems), and declarative proofs (like those of the Mizar and Isabelle/Isar languages).
In this paper we give an algorithm for converting tree style proofs to flag style proofs. We then present a rewrite system that simplifies the results.
This algorithm can be used to convert arbitrary procedural proofs to declarative proofs. It does not work on the level of the proof terms (the basic inferences of the system), but on the level of the statements that the user sees in the goals when constructing the proof.
The algorithm from this paper has been implemented in the ProofWeb interface to Coq. In ProofWeb a proof that is given as a Coq proof script (even with arbitrary Coq tactics) can be displayed both as a tree style and as a flag style proof.
Unable to display preview. Download preview PDF.
- 2.Asperti, A., Wegner, B.: MOWGLI – A New Approach for the Content Description in Digital Documents. In: Proceedings of the Nineth International Conference on Electronic Resources and the Social Role of Libraries in the Future, vol. 1 (2002)Google Scholar
- 6.Guilhot, F., Naciri, H., Pottier, L.: Proof explanations: using natural language and graph view, Slides for a talk at a MoWGLI presentation (2003)Google Scholar
- 9.Kaliszyk, C., van Raamsdonk, F., Wiedijk, F., Wupper, H., Hendriks, M., de Vrijer, R.: Deduction using the ProofWeb system. Technical Report ICIS–R08016, Radboud University Nijmegen (September 2008)Google Scholar