@inproceedings{1bebafc864f64fd194e804f780350989,
title = "A Graphical Language for Proof Strategies",
abstract = "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.",
author = "Gudmund Grov and Aleks Kissinger and Yuhui Lin",
year = "2013",
doi = "10.1007/978-3-642-45221-5_23",
language = "English",
isbn = "978-3-642-45220-8",
series = "Lecture Notes in Computer Science ",
publisher = "Springer",
pages = "324--339",
editor = "Ken McMillan and Aart Middeldorp and Andrei Voronkov",
booktitle = "Logic for Programming, Artificial Intelligence, and Reasoning: 19th International Conference, LPAR-19, Stellenbosch, South Africa, December 14-19, 2013. Proceedings",
address = "United Kingdom",
}