Results 1 
6 of
6
A Tool for Developing Correct Programs By Refinement
 PROC. BCS 7TH REFINEMENT WORKSHOP
, 1996
"... The refinement calculus for the development of programs from specifications is well suited to mechanised support. We review the requirements for tool support of refinement as gleaned from our experience with a number of existing refinement tools, and report on the design and implementation of a ..."
Abstract

Cited by 13 (4 self)
 Add to MetaCart
The refinement calculus for the development of programs from specifications is well suited to mechanised support. We review the requirements for tool support of refinement as gleaned from our experience with a number of existing refinement tools, and report on the design and implementation of a new tool to support refinement based on these requirements. The main features of the new tool are close integration of refinement and proof in a single tool (the same mechanism is used for both), good management of the refinement context, an extensible theory base that allows the tool to be adapted to new application domains, and a flexible user interface.
Supporting Contexts in Program Refinement
 SCIENCE OF COMPUTER PROGRAMMING
, 1996
"... A program can be refined either by transforming the whole program or by refining one of its components. The refinement of a component is, for the main part, independent of the remainder of the program. However, refinement of a component can depend on the context of the component for information a ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
A program can be refined either by transforming the whole program or by refining one of its components. The refinement of a component is, for the main part, independent of the remainder of the program. However, refinement of a component can depend on the context of the component for information about the variables that are in scope and what their types are. The refinement can also take advantage of additional information, such as any precondition the component can assume. The aim of this paper is to introduce a technique, which we call program window inference, to handle such contextual information during derivations in the refinement calculus. The idea is borrowed from a technique, called window inference, for handling context in theorem proving. Window inference is the primary proof paradigm of the Ergo proof editor. This tool has been extended to mechanize refinement using program window inference.
Window inference in isabelle
 University of Cambridge Computer Laboratory
, 1995
"... Window inference is a transformational style of reasoning that provides an intuitive framework for managing context during the transformation of subterms under transitive relations. This report describes the design for a prototype window inference tool in Isabelle, and discusses possible directions ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
Window inference is a transformational style of reasoning that provides an intuitive framework for managing context during the transformation of subterms under transitive relations. This report describes the design for a prototype window inference tool in Isabelle, and discusses possible directions for the final tool. 1
The Ergo 5 Generic Proof Engine
, 1997
"... s and compressed postscript files are available via http://svrc.it.uq.edu.au The Ergo 5 Generic Proof Engine Mark Utting Abstract This paper describes the design principles and the architecture of the latest version of the Ergo proof engine, Ergo 5. Ergo 5 is a generic interactive theorem pro ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
s and compressed postscript files are available via http://svrc.it.uq.edu.au The Ergo 5 Generic Proof Engine Mark Utting Abstract This paper describes the design principles and the architecture of the latest version of the Ergo proof engine, Ergo 5. Ergo 5 is a generic interactive theorem prover, similar to Isabelle, but based on sequent calculus rather than natural deduction and with a quite different approach to handling variable scoping. An efficient implementation of Ergo 5, based on QuProlog, is also described, together with some benchmark results. 1 Motivation The Software Verification Research Centre, a special research centre of the Australian Research Council, is developing a suite of tools for reasoning about Z specifications and verifying refinement of specifications to code. There are several different projects investigating various aspects and approaches. To gain synergy, we want a common proof tool for all the projects, even though they have differing requi...
Supporting Contexts in the Sequential RealTime Refinement Calculus
 International Refinement Workshop & Formal Methods Pacific ’98, Discrete Mathematics and Theoretical Computer Science
, 1998
"... s and compressed postscript les are available via http://svrc.it.uq.edu.au Supporting Contexts in the Sequential RealTime Renement Calculus Luke Wildman and Ian Hayes Abstract. Program window inference provides support for contextual information such as preconditions and the scope and types ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
s and compressed postscript les are available via http://svrc.it.uq.edu.au Supporting Contexts in the Sequential RealTime Renement Calculus Luke Wildman and Ian Hayes Abstract. Program window inference provides support for contextual information such as preconditions and the scope and types of variables during derivations in the renement calculus. Sequential realtime programs may be developed using a realtime renement calculus in which variables are modelled by their traces over time. We introduce support for the contextual information required for derivations in the realtime renement calculus, providing integrated support for the specication, renement, and validation of sequential realtime programs. 1 Introduction The renement calculus [Bac80,Mor94] enables the systematic derivation of programs from specications via a series of correctness preserving transformations. The realtime renement calculus [Mah92] allows the speci cation of realtime systems an...
On the Desirability of Mechanizing Calculational Proofs
"... Dijkstra argues that calculational proofs are preferable to traditional pictorial and/or verbal proofs. First, due to the calculational proof format, incorrect proofs are less likely. Second, syntactic considerations (letting the "symbols do the work") have led to an impressive array of techniques f ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Dijkstra argues that calculational proofs are preferable to traditional pictorial and/or verbal proofs. First, due to the calculational proof format, incorrect proofs are less likely. Second, syntactic considerations (letting the "symbols do the work") have led to an impressive array of techniques for elegant proof construction. However, calculational proofs are not formal and are not awless. Why not make them formal and check them mechanically?