Results 1  10
of
22
Induction and Recursion on Datatypes
, 1995
"... this paper we introduce a notion of induction over an arbitrary datatype and go on to show how the notion is used to establish unicity of a certain (broad) class of equations. Our overall goal is to develop a calculational theory of mathematical induction. That is we want to be able to calculate rel ..."
Abstract

Cited by 16 (7 self)
 Add to MetaCart
this paper we introduce a notion of induction over an arbitrary datatype and go on to show how the notion is used to establish unicity of a certain (broad) class of equations. Our overall goal is to develop a calculational theory of mathematical induction. That is we want to be able to calculate relations on which inductive arguments may be based using laws that relate admitting induction to the mechanisms for constructing datatypes. We also want to incorporate such calculations into a methodology for calculating inductive hypotheses rather than leaving their creation to inspired guesswork. This is a bold aim, in view of the vast amount of knowledge and experience that already exists on proof by induction, but recent advances in the role played by Galois connections in the calculus of relations have led us to speculate that significant progress can be made in the short term. The theory developed in this paper is general and not specific to any particular datatype. We define a notion of F reductivity (so called in order to avoid confusion with existing notions of inductivity), where F stands for a "relator", and show that F reductive relations always exist, whatever the value of F . We also give laws for constructing reductive relations from existing reductive relations. We conclude the paper by introducing the dual notion of F inductivity and briefly contrast it with F reductivity. The organisation of this note is as follows. In section 2 we give a very brief introduction to the relational calculus. In section 3 the notion of reductivity is defined. This notion is a generalisation of wellfoundedness, or inductivity. Then in section 4 we define a class of equations and prove that an equation from that class has a unique solution if one of its components enjoys a red...
Characterizing Determinacy in Kleene Algebras
 INFORMATION SCIENCES
, 2000
"... Elements of Kleene algebras can be used, among others, as abstractions of the inputoutput semantics of nondeterministic programs or as models for the association of pointers with their target objects. In the first case, one seeks to distinguish the subclass of elements that correspond to determinist ..."
Abstract

Cited by 11 (5 self)
 Add to MetaCart
Elements of Kleene algebras can be used, among others, as abstractions of the inputoutput semantics of nondeterministic programs or as models for the association of pointers with their target objects. In the first case, one seeks to distinguish the subclass of elements that correspond to deterministic programs. In the second case one is only interested in functional correspondences, since it does not make sense for a pointer to point to two di#erent objects. We discuss several candidate notions of determinacy and clarify their relationship. Some characterizations that are equivalent in the case where the underlying Kleene algebra is an (abstract) relation algebra are not equivalent for general Kleene algebras.
Kleene Under a Demonic Star
 ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY, VOLUME 1816 OF LNCS
, 2000
"... In relational semantics, the inputoutput semantics of a program is a relation on its set of states. We generalize this in considering elements of Kleene algebras as semantical values. In a nondeterministic context, the demonic semantics is calculated by considering the worst behavior of the program ..."
Abstract

Cited by 10 (7 self)
 Add to MetaCart
In relational semantics, the inputoutput semantics of a program is a relation on its set of states. We generalize this in considering elements of Kleene algebras as semantical values. In a nondeterministic context, the demonic semantics is calculated by considering the worst behavior of the program. In this paper, we concentrate on while loops. Calculating
RelationAlgebraic Semantics
 Theoretical Computer Science
, 1996
"... The first half is a tutorial on orderings, lattices, Boolean algebras, operators on Boolean algebras, Tarski's fixed point theorem, and relation algebras. ..."
Abstract

Cited by 9 (0 self)
 Add to MetaCart
The first half is a tutorial on orderings, lattices, Boolean algebras, operators on Boolean algebras, Tarski's fixed point theorem, and relation algebras.
Program Construction by Parts
, 1995
"... . Given a specification that includes a number of user requirements, we wish to focus on the requirements in turn, and derive a partly defined program for each; then combine all the partly defined programs into a single program that satisfies all the requirements simultaneously. In this paper we int ..."
Abstract

Cited by 8 (5 self)
 Add to MetaCart
. Given a specification that includes a number of user requirements, we wish to focus on the requirements in turn, and derive a partly defined program for each; then combine all the partly defined programs into a single program that satisfies all the requirements simultaneously. In this paper we introduces a mathematical basis for solving this problem; and we illustrate it by means of a simple example. 1 Introduction and Motivation We propose a program construction method whereby, given a specification that includes a number of user requirements, we focus on the requirements in turn, and derive a partly defined program for each; then combine all the partly defined programs into a single program that satisfies all the requirements simultaneously. In this paper we discuss this programming paradigm, which we call program construction by parts, and introduce a mathematical foundation for this paradigm. Our paradigm is based on the premise that program specifications are represented by hom...
A Relational Basis for Program Construction by Parts
, 1995
"... Program construction by parts consists in tackling a complex specification one component at a time, developing a partially defined solution for each component, then combining the partial solutions into a global solution for the aggregate specification. This method is desirable whenever the specifica ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
Program construction by parts consists in tackling a complex specification one component at a time, developing a partially defined solution for each component, then combining the partial solutions into a global solution for the aggregate specification. This method is desirable whenever the specification at hand is too complex to be grasped in all its detail. It is feasible whenever the specification at hand is structured as an aggregate of clearly defined subspecifications where each subspecification represents a simple functional requirement. Our approach is based on relational specifications, whereby a specification is described by a binary relation. The set of relational specifications is naturally ordered by the refinement ordering, which provides a latticelike structure. The join of two specifications S and S 0 is the specification that carries all the functional features of S and all the functional features of S 0 . Complex specifications are naturally structured as the j...
wp is wlp
 RELATIONAL METHODS IN COMPUTER SCIENCE. LNCS 3929
, 2006
"... Using only a simple transition relation one cannot model commands that may or may not terminate in a given state. In a more general approach commands are relations enriched with termination vectors. We reconstruct this model in modal Kleene algebra. This links the recursive definition of the do od l ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
Using only a simple transition relation one cannot model commands that may or may not terminate in a given state. In a more general approach commands are relations enriched with termination vectors. We reconstruct this model in modal Kleene algebra. This links the recursive definition of the do od loop with a combination of the Kleene star and a convergence operator. Moreover, the standard wp operator coincides with the wlp operator in the modal Kleene algebra of commands. Therefore our earlier general soundness and relative completeness proof for Hoare logic in modal Kleene algebra can be reused for wp. Although the definition of the loop semantics is motivated via the standard EgliMilner ordering, the actual construction does not depend on EgliMilnerisotonicity of the constructs involved.
Kleene under a Modal Demonic Star
 JOURNAL ON LOGIC AND ALGEBRAIC PROGRAMMING, SPECIAL ISSUE ON RELATION ALGEBRA AND KLEENE ALGEBRA
, 2004
"... In relational semantics, the inputoutput semantics of a program is a relation on its set of states. We generalize this in considering elements of Kleene algebras as semantical values. In a nondeterministic context, the demonic semantics is calculated by considering the worst behavior of the program ..."
Abstract

Cited by 7 (5 self)
 Add to MetaCart
In relational semantics, the inputoutput semantics of a program is a relation on its set of states. We generalize this in considering elements of Kleene algebras as semantical values. In a nondeterministic context, the demonic semantics is calculated by considering the worst behavior of the program. In this paper, we concentrate on while loops. Calculating the semantics of a loop is difficult, but showing the correctness of any candidate abstraction is much easier. For deterministic programs, Mills has described a checking method known as the while statement verification rule. A
Categorical Fixed Point Calculus
, 1995
"... A number of latticetheoretic fixed point rules are generalised to category theory and applied to the construction of isomorphisms between list structures. 1 Introduction Category theoreticians view a preordered set as a particular sort of category in which there is at most one arrow between any pa ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
A number of latticetheoretic fixed point rules are generalised to category theory and applied to the construction of isomorphisms between list structures. 1 Introduction Category theoreticians view a preordered set as a particular sort of category in which there is at most one arrow between any pair of objects. According to this view, several concepts of lattice theory are instances of concepts of category theory as shown in table 1. An alternative viewpoint, advocated by Lambek [9], is that lattice theory is a valuable source of inspiration for novel results in category theory. Indeed, it is our view that for the purposes of advancing programming methodology category theory may profitably be regarded as "coherently constructive lattice theory 1 ". That is to say, arrows between objects of a category may be seen as "witnesses" to a preordering between the objects. Category theory is thus "constructive" because it is a theory about how to construct such witnesses rather than a theor...
Mathematics of Recursive Program Construction
, 2001
"... A discipline for the design of recursive programs is presented. The core concept ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
A discipline for the design of recursive programs is presented. The core concept