Results 1  10
of
19
The Refinement Calculator: Proof Support for Program Refinement
 Formal Methods Pacific ’97
, 1997
"... . We describe the Refinement Calculator, a tool which supports ..."
Abstract

Cited by 27 (2 self)
 Add to MetaCart
. We describe the Refinement Calculator, a tool which supports
Recording and Checking HOL Proofs
 Higher Order Logic Theorem Proving and Its Applications. 8th International Workshop, volume 971 of LNCS
, 1995
"... Formal proofs generated by mechanised theorem proving systems may consist of a large number of inferences. As these theorem proving systems are usually very complex, it is extremely difficult if not impossible to formally verify them. This calls for an independent means of ensuring the consistency o ..."
Abstract

Cited by 14 (1 self)
 Add to MetaCart
Formal proofs generated by mechanised theorem proving systems may consist of a large number of inferences. As these theorem proving systems are usually very complex, it is extremely difficult if not impossible to formally verify them. This calls for an independent means of ensuring the consistency of mechanically generated proofs. This paper describes a method of recording HOL proofs in terms of a sequence of applications of inference rules. The recorded proofs can then be checked by an independent proof checker. Also described in this paper is an efficient proof checker which is able to check a practical proof consisting of thousands of inference steps. 1 Introduction Formal methods have been used in the development of many safetycritical systems in the form of formal specification and formal proof of correctness. Formal proofs are usually carried out using theorem provers or proof assistants. These systems are based on wellfounded formal logic, and provide a programming environmen...
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.
A HOL Formalisation of the Temporal Logic of Actions
 Higher Order Logic Theorem Proving and Its Applications, volume 859 of Lecture Notes in Computer Science (LNCS
, 1994
"... . We describe an attempt to formalise the semantics of the ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
. We describe an attempt to formalise the semantics of the
A Method of Program Refinement
, 1993
"... ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.8 Comments on the Specification . . . . . . . . . . . . . . . . . . . . . 107 6.9 The Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.10 Comments on the Refinement . . . . . . . . . . . . . . . . . . . . . ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
ion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 6.8 Comments on the Specification . . . . . . . . . . . . . . . . . . . . . 107 6.9 The Refinement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 6.10 Comments on the Refinement . . . . . . . . . . . . . . . . . . . . . . 115 7 Conclusions 119 7.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Contents ix Appendixes A Definitions 123 A.1 Pairs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 A.2 Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 A.3 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125 B Refinement of the Line Editor 127 B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 B.2 The Refinement of INIT . . . . . . . . . . . . . . . . . . . . . . . . . 127 B.3 The Refinement of EDIT . . . . . . . . . . . . . . . . . . . . . . . . 134 B.4 The Refinem...
Inplace Refinement for Effect Checking
 IN SECOND INTERNATIONAL WORKSHOP ON AUTOMATED VERIFICATION OF INFINITESTATE SYSTEMS (AVIS’03
, 2003
"... The refinement calculus is a powerful framework for reasoning about programs, specifications, and refinement relations between programs and specifications. In this paper ..."
Abstract

Cited by 9 (4 self)
 Add to MetaCart
The refinement calculus is a powerful framework for reasoning about programs, specifications, and refinement relations between programs and specifications. In this paper
Program Window Inference
 SOFTWARE VERIFICATION RESEARCH CENTRE, THE UNIVERSITY OF QUEENSLAND, ST
, 1995
"... 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 (3 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 has been incorporated into the proof development tool Ergo, and this tool has been adapted to support program window inference for program refinement.
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.
Program Derivation Using the Refinement Calculator
 Theorem Proving in Higher Order Logics: 9th International Conference, volume 1125 of Lecture Notes in Computer Science
, 1996
"... . The refinement calculus provides a theory for the stepwise refinement ..."
Abstract

Cited by 6 (3 self)
 Add to MetaCart
. The refinement calculus provides a theory for the stepwise refinement
A Review of Existing Refinement Tools
 15TH INTERNATIONAL CONFERENCE ON PATTERN RECOGNITION, ICPR2000
, 1994
"... This report examines the requirements for a support tool for the stepwise refinement of program specifications to program code using the refinement calculus. This calculus, which was developed independently by Back, Morgan and Morris, is described briefly and the requirements for a tool to support t ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
This report examines the requirements for a support tool for the stepwise refinement of program specifications to program code using the refinement calculus. This calculus, which was developed independently by Back, Morgan and Morris, is described briefly and the requirements for a tool to support the major roles of refinement are outlined. These broad requirements are expanded to identify more specific functionality, and some existing tools are compared within this functional framework. After a general comparison, five selected case studies are described, which are used for a more detailed and specific comparison. The results of these comparisons are then classified to identify common and distinctive features of the two major tools. Finally the results obtained are summarized in terms of consequences for the generic program refinement tool project.