## Proof General meets IsaWin — combining textbased and graphical user interfaces (2004)

### Cached

### Download Links

Venue: | In International Workshop on User Interfaces for Theorem Provers (UITP’03), volume 104 of Electronic Notes in Theoretical Computer Science |

Citations: | 2 - 0 self |

### BibTeX

@INPROCEEDINGS{Aspinall04proofgeneral,

author = {David Aspinall and Christoph Lüth},

title = {Proof General meets IsaWin — combining textbased and graphical user interfaces},

booktitle = {In International Workshop on User Interfaces for Theorem Provers (UITP’03), volume 104 of Electronic Notes in Theoretical Computer Science},

year = {2004}

}

### OpenURL

### Abstract

We describe the design and prototype implementation of a combination of theorem prover interface technologies. On one side, we take from Proof General the idea of a prover-independent interaction language and its proposed implementation within the PG Kit middleware architecture. On the other side, we take from IsaWin a sophisticated graphical metaphor using direct manipulation for developing proofs. We believe that the resulting system will provide a powerful, robust and generic environment for developing proofs within interactive proof assistants that also opens the way for studying and implementing new mechanisms for managing interactive proof development. 1

### Citations

605 |
Communicating and Mobile Systems: the π-Calculus
- Milner
- 1999
(Show Context)
Citation Context ...>>>=) :: Event a-> (a-> IO b)-> Event b (+>) :: Event a-> Event a-> Event a This allows us to write concurrent functional programs in a notation reminiscent of process algebras such as the π-calculus =-=[28]-=-. Events contain PGIP messages. To model PGIP faithfully in Haskell, we use HaXML [36]. From a given DTD, HaXML generates a series of Haskell datatypes, one for each element, along with functions to r... |

86 | Proof General: A generic tool for proof development
- Aspinall
(Show Context)
Citation Context ...udying and implementing new mechanisms for managing interactive proof development. 1 Introduction Proof General is a generic interface for interactive proof assistants, built on the Emacs text editor =-=[4,7]-=-. It has proved rather successful in recent years, and is popular with users of several theorem proving systems. Its success is due to its genericity, allowing particularly easy adaption to a variety ... |

84 | Haskell and XML: Generic Combinators or Type-Based Translation
- Wallace, Runciman
- 1999
(Show Context)
Citation Context ...s us to write concurrent functional programs in a notation reminiscent of process algebras such as the π-calculus [28]. Events contain PGIP messages. To model PGIP faithfully in Haskell, we use HaXML =-=[36]-=-. From a given DTD, HaXML generates a series of Haskell datatypes, one for each element, along with functions to read and write XML. The advantage is that the type security given by the DTD extends in... |

79 | ActiveMath: A generic and adaptive web-based learning environment
- Melis, Andrès, et al.
- 2001
(Show Context)
Citation Context .... The OMEGA prover [9] started as a framework to integrate different automatic provers. It has developed into MathWeb, which uses the XML format OMDoc [20] as an exchange language, and the ActiveMath =-=[27]-=- project, which is a learning environment based on OMDoc. OMEGA has a user interface, LOUI, but it is not generic in our sense; MathWeb uses style sheets for visualisation. Nonetheless, the system arc... |

74 | Isabelle/Isar — a versatile environment for human-readable formal proof documents
- Wenzel
(Show Context)
Citation Context ... itself. By design, we want to interface with existing theorem provers with minimal effort, but recognising that they will need some customization. An experimental effort to PGIP-enable Isabelle/Isar =-=[38]-=- has been undertaken, with the help of the Isabelle development team. The implementation consists of a 500-line extension to the existing Standard ML module for interfacing with Proof General that is ... |

47 | Mbase: Representing knowledge and context for the integration of mathematical software systems
- Kohlhase, Franke
- 2000
(Show Context)
Citation Context ...s not unlike ours: components loosely coupled over sockets using a customised middleware architecture (built from XML-RPC and KQML), a central broker component, and a store for theorems (called MBase =-=[21]-=-). Logosphere [34] is a recently launched project aiming at connecting different provers, but with an emphasis on higher-order logic; the aim is to create a formally verified “Digital Library” of proo... |

32 | A generic approach to building user interfaces for theorem provers
- Bertot, Théry
- 1998
(Show Context)
Citation Context ...cording to progress in the proof: crucially, regions which have been processed by the proof assistant are coloured blue and should not be edited. This is the idea of script management as described in =-=[12]-=-. Proof General provides a simple browsing metaphor for replaying proofs, via a toolbar for navigating in a proof script, see Fig. 1 for a screenshot. Behind the scenes, this works by sending commands... |

30 | Type classes with existential types
- Laufer
- 1996
(Show Context)
Citation Context ...lass: instance Display IsaWin where -- definitions of functions... instance Display Emacs where -- definitions of functions... All displays are kept in one heterogeneous list (using existential types =-=[22]-=-): display events are sent to all elements of this list, and the command events 15sgenerated by all displays are the command events of each display combined with the obvious extension of the binary ch... |

25 |
OMDoc: Towards an openmath representation of mathematical documents
- Kohlhase
- 2000
(Show Context)
Citation Context ...her as a user front-end for the semantic math-web. The OMEGA prover [9] started as a framework to integrate different automatic provers. It has developed into MathWeb, which uses the XML format OMDoc =-=[20]-=- as an exchange language, and the ActiveMath [27] project, which is a learning environment based on OMDoc. OMEGA has a user interface, LOUI, but it is not generic in our sense; MathWeb uses style shee... |

19 | Functional design and implementation of graphical user interfaces for theorem provers
- Lüth, Wolff
- 1999
(Show Context)
Citation Context ...sp API which is somewhat unreliable, often changing, and exists in different versions across different flavours of Emacs. IsaWin is the instantiation of a generic graphical user interface to Isabelle =-=[24,23,25]-=-. It aims at providing an abstract user interface based on a persistent visualisation metaphor and the concept of direct manipulation. Because tactic applications are generated automatically, users ca... |

15 |
Events in Haskell, and How to Implement Them
- Russell
- 2001
(Show Context)
Citation Context ...heavy-weight (e.g. CORBA) for our purposes. 5.1 Events and Messages The mediator is implemented in Concurrent Haskell, using the Glasgow Haskell Compiler, with events as first-class values in Haskell =-=[33]-=-. That is, we have a polymorphic datatype of events containing a value of any type, with operations to synchronise on an event, sequence an action with an event, combine two events via deterministic c... |

11 | TAS and IsaWin: Tools for transformational program development and theorem proving
- Lüth, Tej, et al.
- 1999
(Show Context)
Citation Context ...sp API which is somewhat unreliable, often changing, and exists in different versions across different flavours of Emacs. IsaWin is the instantiation of a generic graphical user interface to Isabelle =-=[24,23,25]-=-. It aims at providing an abstract user interface based on a persistent visualisation metaphor and the concept of direct manipulation. Because tactic applications are generated automatically, users ca... |

10 |
Hiproofs: A hierarchical notion of proof tree
- Denney, Power, et al.
(Show Context)
Citation Context ...ism such as Wenzel’s Isar language [38], or might be designed afresh starting from a very simple language which offers a sequencing and a definitional operator, which describes the notion of hiproofs =-=[14]-=-. Acknowledgements. We’re grateful for the helpful suggestions for improvements to this paper provided by the referees, and for interesting discussions on the topic with Ewen Denney and various partic... |

9 | L (2001) Mathematics and proof presentation in Pcoq
- Amerkad, Bertot, et al.
(Show Context)
Citation Context ...middleware architecture implemented in a functional language and a central broker component with provers (and other tools) connected by loose coupling. CtCoq [10], and its more recent descendent PCoq =-=[1]-=-, are interfaces specifically for the Coq system, based around script management similar to that implemented in Proof General. In CtCoq and PCoq output is sent as abstract syntax to the interface, whe... |

6 |
The CtCoq System: Design and Architecture”, Formal aspects
- Bertot
- 1999
(Show Context)
Citation Context ...tecture: again, a light-weight customised middleware architecture implemented in a functional language and a central broker component with provers (and other tools) connected by loose coupling. CtCoq =-=[10]-=-, and its more recent descendent PCoq [1], are interfaces specifically for the Coq system, based around script management similar to that implemented in Proof General. In CtCoq and PCoq output is sent... |

6 |
A minimal graphical user interface for the jape proof calculator
- Bornat, Sufrin
- 1999
(Show Context)
Citation Context ... of abstract syntax also allows the implementation of features such as proof-by-pointing and rewrite by drag-and-drop. We briefly mention a couple of other notable theorem prover interfaces. The Jape =-=[13]-=- system is a prover with a sophisticated graphical interface which can display sequent-style proofs as lists of inferences or using box-style. User interaction is made very straightforward by selectin... |

6 | L.: Notions of dependency in proof assistants
- Pons, Bertot, et al.
- 1998
(Show Context)
Citation Context ... within Proof General, supposing that the proof assistant itself will not be modified. This works only so far: for advanced features (such as proof-by-pointing [11] and proof-dependency visualisation =-=[26,31]-=-), dedicated support from the proof assistant is inevitably required. To address the limits of the existing Proof General model, and particu4slarly of the Emacs Lisp implementation, Proof General (PG)... |

5 |
and the semantic MathWeb
- Asperti, Padovani, et al.
- 2001
(Show Context)
Citation Context ...view here, and then mention some particular interfaces. 19sHELM [3] and the more recent MoWGLI [29] are centered around semantically annotated mathematical hypertext documents (the “Semantic MathWeb” =-=[2]-=-), and tools supporting this; a user interface is part of this effort as well, but rather as a user front-end for the semantic math-web. The OMEGA prover [9] started as a framework to integrate differ... |

5 |
Protocols for interactive e-proof
- Aspinall
- 2000
(Show Context)
Citation Context ...ry, with each offering advantages to compensate for the other’s shortcomings. This paper describes an attempt to combine their advantages in one system based on the PG Kit infrastructure presented in =-=[5,6]-=-. The resulting system has an event-based architecture and focuses on managing proof scripts as the central underlying artefact. A generic interactive protocol language allows one to connect different... |

5 | Implementing proof by pointing without a structure editor
- Bertot, Kleymann-Schreiber, et al.
- 1997
(Show Context)
Citation Context ...any different proof assistant behaviours within Proof General, supposing that the proof assistant itself will not be modified. This works only so far: for advanced features (such as proof-by-pointing =-=[11]-=- and proof-dependency visualisation [26,31]), dedicated support from the proof assistant is inevitably required. To address the limits of the existing Proof General model, and particu4slarly of the Em... |

4 |
et al. Ωmega: Towards a mathematical assistant
- Benzmüller
- 1997
(Show Context)
Citation Context ...ypertext documents (the “Semantic MathWeb” [2]), and tools supporting this; a user interface is part of this effort as well, but rather as a user front-end for the semantic math-web. The OMEGA prover =-=[9]-=- started as a framework to integrate different automatic provers. It has developed into MathWeb, which uses the XML format OMDoc [20] as an exchange language, and the ActiveMath [27] project, which is... |

4 | More about TAS and IsaWin: Tools for formal program development
- Lüth, Wolff
- 2000
(Show Context)
Citation Context ...sp API which is somewhat unreliable, often changing, and exists in different versions across different flavours of Emacs. IsaWin is the instantiation of a generic graphical user interface to Isabelle =-=[24,23,25]-=-. It aims at providing an abstract user interface based on a persistent visualisation metaphor and the concept of direct manipulation. Because tactic applications are generated automatically, users ca... |

3 |
mathematics on the web: Get it right by logics and interfaces, http: //www.mowgli.cs.unibo.it
- MoWGLI
(Show Context)
Citation Context ...tween theorem proving-like tools, although not always considering interface aspects. We give a brief overview here, and then mention some particular interfaces. 19sHELM [3] and the more recent MoWGLI =-=[29]-=- are centered around semantically annotated mathematical hypertext documents (the “Semantic MathWeb” [2]), and tools supporting this; a user interface is part of this effort as well, but rather as a u... |

3 |
xml schema language
- NG
- 2003
(Show Context)
Citation Context ... PG Kit Architecture The ideas behind the PG Kit system architecture have been outlined above. The architecture is described in more detail elsewhere [6,8], including XML schemas (written in RELAX NG =-=[32]-=-) for the PGIP and PGML languages. This section describes our prototype implementation of the design. The mediator maintains the overall state, comprising the proof scripts under construction, their d... |

2 | editors, “Tools and Algorithms for the Construction and Analysis of Systems - Graf, Schwartzbach - 2000 |

2 |
Improving the PVS user interface, in
- Kiniry, Owre
- 2003
(Show Context)
Citation Context ...sts of inferences or using box-style. User interaction is made very straightforward by selecting premises or conclusions using mouse clicks, and choosing inference rules from menus. The PVS interface =-=[19]-=- is another Emacs-based interface written in Emacs lisp, notable because it provides ways of managing the proof obligations of PVS, so that theories may be constructed in a flexible order. To sum up t... |

1 |
et al., HELM: Hypertextual electronic library of mathematics (2002
- Asperti
(Show Context)
Citation Context ... forstering interoperability between theorem proving-like tools, although not always considering interface aspects. We give a brief overview here, and then mention some particular interfaces. 19sHELM =-=[3]-=- and the more recent MoWGLI [29] are centered around semantically annotated mathematical hypertext documents (the “Semantic MathWeb” [2]), and tools supporting this; a user interface is part of this e... |

1 |
On the Use of Dependency Tracking
- McNeil
- 2000
(Show Context)
Citation Context ... within Proof General, supposing that the proof assistant itself will not be modified. This works only so far: for advanced features (such as proof-by-pointing [11] and proof-dependency visualisation =-=[26,31]-=-), dedicated support from the proof assistant is inevitably required. To address the limits of the existing Proof General model, and particu4slarly of the Emacs Lisp implementation, Proof General (PG)... |

1 |
a formal digital library., http://www.logosphere.org
- Schürmann, Pfenning, et al.
(Show Context)
Citation Context ... components loosely coupled over sockets using a customised middleware architecture (built from XML-RPC and KQML), a central broker component, and a store for theorems (called MBase [21]). Logosphere =-=[34]-=- is a recently launched project aiming at connecting different provers, but with an emphasis on higher-order logic; the aim is to create a formally verified “Digital Library” of proof and theorems. Pr... |

1 |
Emacs package X-Symbol
- Wedler
(Show Context)
Citation Context ...m Proof General, and similarly for undo operations at the file level. Technically, Proof General is implemented mostly in Emacs Lisp, interfacing with other Emacs packages, notably including X-Symbol =-=[37]-=- for displaying mathematical symbols. A considerable effort has been made into making it easy to adapt Proof General to new proof assistants, and it is possible to configure by setting only a handful ... |