The Tinker tool for graphical tactic development

PSGraph (Grov et al. in LPAR. Springer, Berlin, pp 324–339, 2013) is a graphical language to support the development and maintenance of proof tactics for interactive theorem provers. By using labelled hierarchical graphs this formalisation improves upon analysis and maintenance found in traditional tactic languages. Tool support for PSGraph is achieved by Tinker (Grov et al. in UITP 2014, ENTCS, vol 167. Open Publishing Association, London, pp 23–34, 2014; Lin et al. in Tools and algorithms for the construction and analysis of systems. Springer, Berlin, pp 573–579, 2016): a theorem prover-independent system, which is connected to several different provers, with a graphical user interface including novel features to develop and debug proof tactics graphically. In this paper we provide a detailed and formal account of PSGraph and show how theorem prover independence is achieved by Tinker. We then show practical use of PSGraph and Tinker by developing several proof patterns using the language and tool.

[1]  Aleks Kissinger,et al.  Equational reasoning with context-free families of string diagrams , 2015, ICGT.

[2]  Leon Sterling,et al.  Solving Symbolic Equations with PRESS , 1989, J. Symb. Comput..

[3]  Maris A. Ozols,et al.  XIsabelle: A System Description , 1997, CADE.

[4]  Lars Hupel Interactive Simplifier Tracing and Debugging in Isabelle , 2014, CICM.

[5]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[6]  Gudmund Grov,et al.  A Graphical Language for Proof Strategies , 2013, LPAR.

[7]  Aleks Kissinger,et al.  Quantomatic: A proof assistant for diagrammatic reasoning , 2015, CADE.

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

[9]  Ian Green,et al.  Automatic Synthesis of Recursive Programs: The Proof-Planning Paradigm , 2004, Automated Software Engineering.

[10]  Gudmund Grov,et al.  'The Tinker' for Rodin , 2016, ABZ.

[11]  Gudmund Grov,et al.  Developing and Debugging Proof Strategies by Tinkering , 2016, TACAS.

[12]  Gudmund Grov,et al.  A Super Industrial Application of PSGraph , 2016, ABZ.

[13]  Jim Woodcock,et al.  Using Z - specification, refinement, and proof , 1996, Prentice Hall international series in computer science.

[14]  Iain Whiteside,et al.  Proof Patterns for Formal Methods , 2014, FM.

[15]  Rod M. Burstall ProveEasy: helping people learn to do proofs , 2000, Electron. Notes Theor. Comput. Sci..

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

[17]  Markus Wenzel,et al.  An Isabelle Proof Method Language , 2014, ITP.

[18]  Dines Bjørner,et al.  The Vienna Development Method: The Meta-Language , 1978, Lecture Notes in Computer Science.

[19]  Lawrence Charles Paulson,et al.  Isabelle: A Generic Theorem Prover , 1994 .

[20]  Alan Bundy,et al.  The Use of Rippling to Automate Event-B Invariant Preservation Proofs , 2012, NASA Formal Methods.

[21]  Tomer Libal,et al.  Advanced Proof Viewing in ProofTool , 2014, UITP.

[22]  Herbert A. Simon,et al.  Why a Diagram is (Sometimes) Worth Ten Thousand Words , 1987, Cogn. Sci..

[23]  Gudmund Grov,et al.  Tinker, tailor, solver, proof , 2014, UITP.

[24]  Colin O'Halloran Automated verification of code automatically generated from Simulink® , 2012, Automated Software Engineering.

[25]  Karol Pak THE ALGORITHMS FOR IMPROVING AND REORGANIZING NATURAL DEDUCTION PROOFS , 2010 .

[26]  Tiziana Margaria,et al.  Tools and algorithms for the construction and analysis of systems: a special issue for TACAS 2017 , 2001, International Journal on Software Tools for Technology Transfer.

[27]  Jacques D. Fleuriot,et al.  Higher Order Rippling in IsaPlanner , 2004, TPHOLs.

[28]  Jasmin Christian Blanchette,et al.  Three years of experience with Sledgehammer, a Practical Link Between Automatic and Interactive Theorem Provers , 2012, IWIL@LPAR.

[29]  Gudmund Grov,et al.  Understanding and maintaining tactics graphically OR how we are learning that a diagram can be worth more than 10K LoC , 2016, J. Formaliz. Reason..

[30]  Cliff B. Jones,et al.  Case studies in systematic software development , 1990 .

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

[32]  Richard Bornat,et al.  Jape: A Calculator for Animating Proof-on-Paper , 1997, CADE.

[33]  Markus Wenzel,et al.  Isabelle, Isar - a versatile environment for human readable formal proof documents , 2002 .

[34]  Mark Adams,et al.  Refactoring Proofs with Tactician , 2015, SEFM Workshops.

[35]  Alan Bundy A Science of Reasoning (Extended Abstract) , 1998, TABLEAUX.

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

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