Results 1  10
of
15
Functional Design and Implementation of Graphical User Interfaces for Theorem Provers
 UNDER CONSIDERATION FOR PUBLICATION IN J. FUNCTIONAL PROGRAMMING
, 1999
"... The design of theorem provers, especially in the LCFprover family, has strongly profited from functional programming. This paper attempts to develop a metaphor suited to visualize the LCFstyle prover design, and a methodology for the implementation of graphical user interfaces for these provers an ..."
Abstract

Cited by 19 (7 self)
 Add to MetaCart
The design of theorem provers, especially in the LCFprover family, has strongly profited from functional programming. This paper attempts to develop a metaphor suited to visualize the LCFstyle prover design, and a methodology for the implementation of graphical user interfaces for these provers and encapsulations of formal methods. In this problem domain, particular attention has to be paid to the need to construct a variety of objects, keep track of their interdependencies and provide support for their reconstruction as a consequence of changes. We present a prototypical implementation of a generic and open interface system architecture, and show how it can be instantiated to an interface for Isabelle, called IsaWin, as well as to a tailored tool for transformational program development, called TAS.
Social and Semiotic Analyses for Theorem Prover User Interface Design
 Formal Aspects of Computing
, 1999
"... We describe an approach to user interface design based on ideas from social science, narratology (the theory of stories), cognitive science, and a new area called algebraic semiotics. Social analysis helps to identify certain roles for users with their associated requirements, and suggests ways to m ..."
Abstract

Cited by 19 (11 self)
 Add to MetaCart
(Show Context)
We describe an approach to user interface design based on ideas from social science, narratology (the theory of stories), cognitive science, and a new area called algebraic semiotics. Social analysis helps to identify certain roles for users with their associated requirements, and suggests ways to make proofs more understandable, while algebraic semiotics, which combines semiotics with algebraic specification, provides rigorous theories for interface functionality and for a certain technical notion of quality. We apply these techniques to designing user interfaces for a distributed cooperative theorem proving system, whose main component is a website generation and proof assistance tool called Kumo. This interface integrates formal proving, proof browsing, animation, informal explanation, and online background tutorials, drawing on a richer than usual notion of proof. Experience with using the interface is reported, and some conclusions are drawn.
An Overview of the Tatami Project
, 2000
"... This paper describes the Tatami project at UCSD, which is developing a system to support distributed cooperative software development over the web, and in particular, the validation of concurrent distributed software. The main components of our current prototype are a proof assistant, a generator fo ..."
Abstract

Cited by 13 (8 self)
 Add to MetaCart
(Show Context)
This paper describes the Tatami project at UCSD, which is developing a system to support distributed cooperative software development over the web, and in particular, the validation of concurrent distributed software. The main components of our current prototype are a proof assistant, a generator for documentation websites, a database, an equational proof engine, and a communication protocol to support distributed cooperative work. We believe behavioral specification and verification are important for software development, and for this purpose we use first order hidden logic with equational atoms. The paper also briefly describes some novel user interface design methods that have been developed and applied in the project
Algebraic Semiotics, ProofWebs, and Distributed Cooperative Proving
 Proceedings, User Interfaces for Theorem Provers
, 1997
"... : We describe a new approach to interface design called algebraic semiotics, combining semiotics with algebraic specification to give a rigorous theory of representation quality, and we apply it to the tatami distributed cooperative proving project. This project uses standard html, Java, etc. for r ..."
Abstract

Cited by 11 (9 self)
 Add to MetaCart
(Show Context)
: We describe a new approach to interface design called algebraic semiotics, combining semiotics with algebraic specification to give a rigorous theory of representation quality, and we apply it to the tatami distributed cooperative proving project. This project uses standard html, Java, etc. for remote proof browsing, servers for remote proof execution, a protocol to maintain truth of distributed cooperative proofs, and a tool combining proof assistance with website editing. Its proof paradigm reduces theorems to problems solvable by proof servers. ProofWebs integrate browsing, execution, animation, and informal explanation with formal proofs, and their design has been driven by semiotic ideas. 1 Introduction The landscape of theorem proving can be seen as two main peaks with a great plane between. These peaks represent fully automatic theorem provers and proof checking theorem provers; the plane represents the difficulty of combining their virtues. The peaks are steep and dark bec...
The CtCoq System: Design and Architecture
 FORMAL ASPECTS OF COMPUTING
, 1998
"... We present issues that arose in the design of the CtCoq userinterface for proof development. Covered issues include multiprocessing, data display, mouse interaction, and script management. ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
(Show Context)
We present issues that arose in the design of the CtCoq userinterface for proof development. Covered issues include multiprocessing, data display, mouse interaction, and script management.
Webbased support for cooperative software engineering
 Annals of Software Engineering
, 2001
"... recent advances in web technology, interface design, and specification. Our effort to improve the usability of such systems has led us into algebraic semiotics, while our effort to develop better formal methods for distributed concurrent systems has led us into hidden algebra and fuzzy logic. This p ..."
Abstract

Cited by 7 (2 self)
 Add to MetaCart
(Show Context)
recent advances in web technology, interface design, and specification. Our effort to improve the usability of such systems has led us into algebraic semiotics, while our effort to develop better formal methods for distributed concurrent systems has led us into hidden algebra and fuzzy logic. This paper discusses the Tatami system design, especially its software architecture, and its user interface principles. New work in the latter area includes an extension of algebraic semiotics to dynamic multimedia interfaces, and integrating Gibsonian affordances with algebraic semiotics. 1
Support for Interactive Theorem Proving: Some Design Principles and Their Application
 In Proc. 4th Workshop on User Interfaces for Theorem Provers (UITP’98
, 1998
"... . This paper proposes a set of guidelines for use in the design of automated support for theorem proving. In particular they are aimed at graphical user interfaces to existing interactive proof engines. The application of these guidelines to the design of a graphical user interface to Isabelle is de ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
(Show Context)
. This paper proposes a set of guidelines for use in the design of automated support for theorem proving. In particular they are aimed at graphical user interfaces to existing interactive proof engines. The application of these guidelines to the design of a graphical user interface to Isabelle is described. 1 Introduction This paper presents a number of principles formulated to guide the design of enhancements to a graphical user interface of an interactive theorem prover. An interactive theorem prover is a tool in which a user chooses and applies proof steps to terms in a given logic, to produce theorems. The prover actually performs the proof steps and ensures that only valid chains of inference are developed. Although there are many standards and texts which provide general guidelines for designing GUIs there is great benefit in attempting to formulate principles and guidelines that are specific to the problem domain of an application. Such specific principles can be informed by th...
The User Interface of the KIV Verification System  A System Description
 UITP 2005 PRELIMINARY VERSION
, 2005
"... This article describes the sophisticated graphical user interface (GUI) of the KIV verification system. KIV is a verification system that works on structured algebraic specifications. The KIV GUI provides means for developing and editing structured algebraic specifications and for developing proofs ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
This article describes the sophisticated graphical user interface (GUI) of the KIV verification system. KIV is a verification system that works on structured algebraic specifications. The KIV GUI provides means for developing and editing structured algebraic specifications and for developing proofs of theorems. The complete development process is performed through the GUI with two exceptions. For editing the specification files XEmacs is used, and for the management of the structured algebraic specifications we use daVinci, an extendable graph drawing tool. As proving is the most timeconsuming part of formal verification, the most important part of the KIV GUI is our user interface for proof development. The proof is represented as a tree and can be manipulated through context menus. The main proof work is done in a proof window where the sequent of the current goal, the applicable rules and the main menu are displayed. Which rules are applicable depends on the current goal. KIV also supports the contextsensitive application of proof rules.
Proving as Editing HOL Tactics
, 1999
"... We introduce an Emacs interface for writing HOL proof scripts in SML based on the ComputingasEditing paradigm. Tactics in a proof script are considered as constraints, and the process of interactive theorem proving becomes that of solving constraints. In addition, constraint solving is subsumed by ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We introduce an Emacs interface for writing HOL proof scripts in SML based on the ComputingasEditing paradigm. Tactics in a proof script are considered as constraints, and the process of interactive theorem proving becomes that of solving constraints. In addition, constraint solving is subsumed by the process of editing a proof script. Tactics are executed while the script is being edited. The user does not have to pay attention to the status of the HOL prover. In our interface, the user can also enjoy proofbypointing. The result of proofbypointing is inserted as a tactic into a proof script. We expect that our interface will be widely used as an extension of the familiar HOL mode on Emacs.
Towards Tool Support for Program Verification and Construction
, 1999
"... Mathspad is a document preparation system designed and developed by the authors and oriented towards the calculational construction of programs. PVS (Prototype Verification System) is a theorem checker developed at SRI that has been extensively used for verifying software, in particular in safetycr ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Mathspad is a document preparation system designed and developed by the authors and oriented towards the calculational construction of programs. PVS (Prototype Verification System) is a theorem checker developed at SRI that has been extensively used for verifying software, in particular in safetycritical applications. This paper describes how these two systems have been combined into one. We discuss the potential benefits of the combination seen from the viewpoint of someone wanting to use formal methods for the construction of computer programs, and we discuss the architecture of the combined system for the benefit of anyone wanting to investigate combining the Mathspad system with other programming tools.