A Graphical Language for Proof Strategies

Complex automated proof strategies are often difficult to extract, visualise, modify, and debug. Traditional tactic languages, often based on stack-based goal propagation, make it easy to write proofs that obscure the flow of goals between tactics and are fragile to minor changes in input, proof structure or changes to tactics themselves. Here, we address this by introducing a graphical language called PSGraph for writing proof strategies. Strategies are constructed visually by “wiring together” collections of tactics and evaluated by propagating goal nodes through the diagram via graph rewriting. Tactic nodes can have many output wires, and use a filtering procedure based on goal-types (predicates describing the features of a goal) to decide where best to send newly-generated sub-goals. In addition to making the flow of goal information explicit, the graphical language can fulfil the role of many tacticals using visual idioms like branching, merging, and feedback loops. We argue that this language enables development of more robust proof strategies and provide several examples, along with a prototype implementation in Isabelle.

[1]  David Delahaye,et al.  A Proof Dedicated Meta-Language , 2002, LFM.

[2]  Aleks Kissinger,et al.  Open-graphs and monoidal theories† , 2010, Mathematical Structures in Computer Science.

[3]  Bob Coecke,et al.  New Structures for Physics , 2011 .

[4]  A. Joyal,et al.  The geometry of tensor calculus, I , 1991 .

[5]  Serge Autexier,et al.  A Tactic Language for Declarative Proofs , 2010, ITP.

[6]  Andrea Asperti,et al.  A new type for tactics , 2009 .

[7]  Jacques D. Fleuriot,et al.  IsaPlanner: A Prototype Proof Planner in Isabelle , 2003, CADE.

[8]  Freek Wiedijk,et al.  MMode, a Mizar Mode for the proof assistant Coq , 2003 .

[9]  Alan Bundy,et al.  Learning from Experts to Aid the Automation of Proof Search. , 2009 .

[10]  John Harrison,et al.  A Mizar Mode for HOL , 1996, TPHOLs.

[11]  Ewen Denney,et al.  A Tactic Language for Hiproofs , 2008, AISC/MKM/Calculemus.

[12]  Gudmund Grov,et al.  Towards Formal Proof Script Refactoring , 2011, Calculemus/MKM.

[13]  Samson Abramsky,et al.  Pictures of processes , 2011 .

[14]  Aleks Kissinger,et al.  Pattern Graph Rewrite Systems , 2012, DCM.

[15]  P. Selinger A Survey of Graphical Languages for Monoidal Categories , 2009, 0908.3347.

[16]  M. Jamnik Mathematical reasoning with diagrams : from intuition to automation , 2001 .

[17]  David Aspinall,et al.  Formalising Java's Data Race Free Guarantee , 2007, TPHOLs.

[18]  Lawrence C. Paulson,et al.  Isabelle: The Next 700 Theorem Provers , 2000, ArXiv.

[19]  Zhong Shao,et al.  VeriML: typed computation of logical terms inside a language with effects , 2010, ICFP '10.

[20]  Gudmund Grov,et al.  Towards Automated Proof Strategy Generalisation , 2013, ArXiv.

[21]  Alan Bundy,et al.  The Use of Explicit Plans to Guide Inductive Proofs , 1988, CADE.

[22]  Alan Bundy,et al.  Rippling - meta-level guidance for mathematical reasoning , 2005, Cambridge tracts in theoretical computer science.

[23]  Alan Bundy,et al.  A Science of Reasoning , 1991, Computational Logic - Essays in Honor of Alan Robinson.