Theoretical Computer Science
Mathematical Knowledge Management in HELM
Annals of Mathematics and Artificial Intelligence
TYPES '96 Selected papers from the International Workshop on Types for Proofs and Programs
Logic in Computer Science: Modelling and Reasoning about Systems
Logic in Computer Science: Modelling and Reasoning about Systems
From deduction graphs to proof nets: boxes and sharing in the graphical presentation of deductions
MFCS'06 Proceedings of the 31st international conference on Mathematical Foundations of Computer Science
Capturing hiproofs in HOL light
CICM'13 Proceedings of the 2013 international conference on Intelligent Computer Mathematics
Hi-index | 0.00 |
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.