Results 1 
8 of
8
Exploring Summation and Product Operators in the Refinement Calculus
 Mathematics of Program Construction
, 1994
"... Product and summation operators for predicate transformers were introduced by Naumann [21] and by Martin [15] using category theoretic considerations. In this paper, we formalise these operators in the higher order logic approach to the refinement calculus of [4], and examine various algebraic prope ..."
Abstract

Cited by 19 (10 self)
 Add to MetaCart
Product and summation operators for predicate transformers were introduced by Naumann [21] and by Martin [15] using category theoretic considerations. In this paper, we formalise these operators in the higher order logic approach to the refinement calculus of [4], and examine various algebraic properties of these operators. There are several motivating factors for this analysis. The product operator provides a model of simultaneous execution of statements, while the summation operator provides a simple model of late binding. We also generalise the product operator slightly to form an operator that corresponds to conjunction of specifications. We examine several applications of the these operators showing, for example, how a combination of the product and summation operators could be used to model inheritance in an objectoriented programming language. 1 Introduction Dijkstra introduced weakestprecondition predicate transformers as a means of verifying total correctness properties of ...
Calculating Sharp Adaptation Rules
 Information Processing Letters
, 2000
"... Introduction For reasoning about total correctness of whileprograms, the rules proposed by Hoare [10] have stood the test of time. But for procedure calls, a number of dierent rules have appeared (e.g, [11,9,2,1,5,12]). There appears to be no consensus on the \right" rule, and some proposals even t ..."
Abstract

Cited by 17 (5 self)
 Add to MetaCart
Introduction For reasoning about total correctness of whileprograms, the rules proposed by Hoare [10] have stood the test of time. But for procedure calls, a number of dierent rules have appeared (e.g, [11,9,2,1,5,12]). There appears to be no consensus on the \right" rule, and some proposals even turn out to be unsound. The results reported in this note were found in an attempt to derive an adaptation rule rather than pulling it from a magician's hat using tools from renement calculus. This sheds new light on the subject, explaining and extending the applicability of recent proposals, and it brings to light a new form of specication statement. Adaptation rules. For the moment, let us take for granted a semantics for commands and predicates. Say a triple f pre g S f post g is valid if every computation of command S from a state satisfying pre terminates in
A Categorical Model for Higher Order Imperative Programming
 Mathematical Structures in Computer Science
, 1993
"... This paper gives the first complete axiomatization for higher types in the refinement calculus of predicate transformers. ..."
Abstract

Cited by 14 (13 self)
 Add to MetaCart
This paper gives the first complete axiomatization for higher types in the refinement calculus of predicate transformers.
Fusion and Simultaneous Execution in the Refinement Calculus
 Acta Informatica
, 1997
"... In the refinement calculus, program statements are modelled as predicate transformers. A product operator for predicate transformers was introduced by Martin [18] and Naumann [25] using category theoretic considerations. ..."
Abstract

Cited by 12 (2 self)
 Add to MetaCart
In the refinement calculus, program statements are modelled as predicate transformers. A product operator for predicate transformers was introduced by Martin [18] and Naumann [25] using category theoretic considerations.
From Durational Specifications to TLA Designs of Timed Automata
 IN PROCEEDINGS OF ICFEM04, LECTURE NOTES IN COMPUTER SCIENCE, SEATLE
, 2004
"... Different temporal logics tend to emphasise different aspects of a hybrid system. In this paper, we study the predicative interpretation of Duration Calculus (DC) and Temporal Logic of Actions (TLA) and the link between them. A notation called generic composition is used to simplify the manipulation ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Different temporal logics tend to emphasise different aspects of a hybrid system. In this paper, we study the predicative interpretation of Duration Calculus (DC) and Temporal Logic of Actions (TLA) and the link between them. A notation called generic composition is used to simplify the manipulation of predicates. The modalities of possibility and necessity become generic composition and its inverse of converse respectively. The transformation between different temporal logics is also characterised as such modalities. The formalism provides a framework in which human experience about hybrid system development can be formalised as refinement laws. A highlevel durational specification can be decomposed to two durational specifications driven by an automaton. In such a stepwise design process, durational features are reduced while automaton features increase gradually. The application of the technique is demonstrated in the case study of the gas burner problem.
On the Semantics of Refinement Calculi
, 2000
"... Refinement calculi for imperative programs provide an integrated framework for programs and specifications and allow one to develop programs from specifications in a systematic fashion. The semantics of these calculi has traditionally been de ned in terms of predicate transformers and poses several ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Refinement calculi for imperative programs provide an integrated framework for programs and specifications and allow one to develop programs from specifications in a systematic fashion. The semantics of these calculi has traditionally been de ned in terms of predicate transformers and poses several challenges in defining a state transformer semantics in the denotational style. We de ne a novel semantics in terms of sets of state transformers and prove it to be isomorphic to positively multiplicative predicate transformers. This semantics disagrees with the traditional semantics in some places and the consequences of the disagreement are analyzed.
Deriving Sharp Rules of Adaptation for Hoare Logics
, 1999
"... Abstract. Adaptation rules adapt the prepost specification of a procedure to contexts where it is called. Such rules are important for practical reasons, and are necessary for completeness of proof systems for languages with recursive procedures. A sharp rule is one that gives the weakest precondit ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. Adaptation rules adapt the prepost specification of a procedure to contexts where it is called. Such rules are important for practical reasons, and are necessary for completeness of proof systems for languages with recursive procedures. A sharp rule is one that gives the weakest precondition with respect to a given postcondition. A number of rules have been proposed for simple imperative languages with recursive procedures, most unsound or incomplete or nonsharp. Taking an algebraic approach, we clarify and extend the applicability of previously proposed sharp rules for total correctness, and show how further rules may be found.
Joining Specification Statements
, 1998
"... The specification statement allows us to easily express what a program statement does. This paper shows how refinement of specification statements can be directly expressed using the predicate calculus. It also shows that the specification statements interpreted as predicate transformers form a comp ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
The specification statement allows us to easily express what a program statement does. This paper shows how refinement of specification statements can be directly expressed using the predicate calculus. It also shows that the specification statements interpreted as predicate transformers form a complete lattice, and that this lattice is the lattice of conjunctive predicate transformers. The join operator of this lattice is constructed as a specification statement. The join operators of two interesting sublattices of the set of specification statements are also investigated.