Results 11  20
of
30
Invariants, Bisimulations and the Correctness of Coalgebraic Refinements
 Techn. Rep. CSIR9704, Comput. Sci. Inst., Univ. of Nijmegen
, 1997
"... . Coalgebraic specifications are used to formally describe the behaviour of classes in objectoriented languages. In this paper, a general notion of refinement between two such coalgebraic specifications is defined, capturing the idea that one "concrete" class specification realises the behaviour of ..."
Abstract

Cited by 12 (4 self)
 Add to MetaCart
. Coalgebraic specifications are used to formally describe the behaviour of classes in objectoriented languages. In this paper, a general notion of refinement between two such coalgebraic specifications is defined, capturing the idea that one "concrete" class specification realises the behaviour of the other, "abstract" class specification. Two (complete) prooftechniques are given to establish such refinements: one involving an invariant (a predicate that is closed under transitions) on the concrete class, and one involving a bisimulation (a relation that is closed under transitions) between the concrete and the abstract class. The latter can only be used if the abstract class is what we call totally specified. Parts of the underlying theory of invariants and bisimulations in a coalgebraic setting are included, involving least and greatest invariants and connections between invariants and bisimulations. Also, the proofprinciples are illustrated in examples (which are fully formalise...
MendlerStyle Inductive Types, Categorically
 NORDIC JOURNAL OF COMPUTING 6(1999), 343 361
, 1999
"... We present a basis for a categorytheoretic account of Mendlerstyle inductive types. The account is based on suitably defined concepts of Mendlerstyle algebra and algebra homomorphism; Mendlerstyle inductive types are identified with initial Mendlerstyle algebras. We use the identification to ob ..."
Abstract

Cited by 8 (4 self)
 Add to MetaCart
We present a basis for a categorytheoretic account of Mendlerstyle inductive types. The account is based on suitably defined concepts of Mendlerstyle algebra and algebra homomorphism; Mendlerstyle inductive types are identified with initial Mendlerstyle algebras. We use the identification to obtain a reduction of conventional inductive types to Mendlerstyle inductive types and a reduction in the presence of certain restricted existential types of Mendlerstyle inductive types to conventional inductive types.
A Structural CoInduction Theorem
 PROC. MFPS '93, SPRINGER LNCS 802
, 1993
"... The Structural Induction Theorem (Lehmann and Smyth, 1981; Plotkin, 1981) characterizes initial Falgebras of locally continuous functors F on the category of cpo's with strict and continuous maps. Here a dual of that theorem is presented, giving a number of equivalent characterizations of final c ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
The Structural Induction Theorem (Lehmann and Smyth, 1981; Plotkin, 1981) characterizes initial Falgebras of locally continuous functors F on the category of cpo's with strict and continuous maps. Here a dual of that theorem is presented, giving a number of equivalent characterizations of final coalgebras of such functors. In particular, final coalgebras are order stronglyextensional (sometimes called internal full abstractness): the order is the union of all (ordered) Fbisimulations. (Since the initial fixed point for locally continuous functors is also final, both theorems apply.) Further a similar coinduction theorem is given for a category of complete metric spaces and locally contracting functors.
Induction and recursion on the partial real line with applications to Real PCF
 Theoretical Computer Science
, 1997
"... The partial real line is an extension of the Euclidean real line with partial real numbers, which has been used to model exact real number computation in the programming language Real PCF. We introduce induction principles and recursion schemes for the partial unit interval, which allow us to verify ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
The partial real line is an extension of the Euclidean real line with partial real numbers, which has been used to model exact real number computation in the programming language Real PCF. We introduce induction principles and recursion schemes for the partial unit interval, which allow us to verify that Real PCF programs meet their specification. They resemble the socalled Peano axioms for natural numbers. The theory is based on a domainequationlike presentation of the partial unit interval. The principles are applied to show that Real PCF is universal in the sense that all computable elements of its universe of discourse are definable. These elements include higherorder functions such as integration operators. Keywords: Induction, coinduction, exact real number computation, domain theory, Real PCF, universality. Introduction The partial real line is the domain of compact real intervals ordered by reverse inclusion [28,21]. The idea is that singleton intervals represent total rea...
Functional polytypic programming  use and implementation
, 1997
"... Abstract Many functions have to be written over and over again for different datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on different datatypes. Examples of such functions are pretty printers, pattern match ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
Abstract Many functions have to be written over and over again for different datatypes, either because datatypes change during the development of programs, or because functions with similar functionality are needed on different datatypes. Examples of such functions are pretty printers, pattern matchers, equality functions, unifiers, rewriting functions, etc. Such functions are called polytypic functions. A polytypic function is a function that is defined by induction on the structure of userdefined datatypes. This thesis introduces polytypic functions, shows how to construct and reason about polytypic functions and describes the implementation of the polytypic programming system PolyP. PolyP extends a functional language (a subset of Haskell) with a construct for writing polytypic functions. The extended language type checks definitions of polytypic functions, and infers the types of all other expressions. Programs in the extended language are translated to Haskell.
Inductive Reasoning About Effectful Data Types
 In Proceedings of the ACM SIGPLAN International Conference on Functional Programming
, 2007
"... We present a pair of reasoning principles, definition and proof by rigid induction, which can be seen as proper generalizations of lazydatatype induction to monadic effects other than partiality. We further show how these principles can be integrated into logicalrelations arguments, and obtain as ..."
Abstract

Cited by 4 (1 self)
 Add to MetaCart
We present a pair of reasoning principles, definition and proof by rigid induction, which can be seen as proper generalizations of lazydatatype induction to monadic effects other than partiality. We further show how these principles can be integrated into logicalrelations arguments, and obtain as a particular instance a general and principled proof that the successstream and failurecontinuation models of backtracking are equivalent. As another application, we present a monadic model of general search trees, not necessarily traversed depthfirst. The results are applicable to both lazy and eager languages, and we emphasize this by presenting most examples in both Haskell and SML.
Dialgebraic Specification and Modeling
"... corecursive functions COALGEBRA state model constructors destructors data model recursive functions reachable hidden abstraction observable hidden restriction congruences invariants visible abstraction ALGEBRA visible restriction!e Swinging Cube ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
corecursive functions COALGEBRA state model constructors destructors data model recursive functions reachable hidden abstraction observable hidden restriction congruences invariants visible abstraction ALGEBRA visible restriction!e Swinging Cube
Induction and recursion on the partial real line via biquotients of bifree algebras (extended abstract
 In Proceedings of the Twelveth Annual IEEE Symposium on Logic in Computer Science
, 1997
"... of bifree algebras ..."
Category Theory as Coherently Constructive Lattice Theory
, 1998
"... ion Theorem : : : : : : : : : : : : : : : : : : : : : : : : : : : 82 6.3 The Beautiful Theorem : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 86 6.4 The Rolling Rule : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 89 6.5 The Square Theorem : : : : : : : : : : : : : : : : : ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
ion Theorem : : : : : : : : : : : : : : : : : : : : : : : : : : : 82 6.3 The Beautiful Theorem : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 86 6.4 The Rolling Rule : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 89 6.5 The Square Theorem : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 91 6.6 The Exchange Rule : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 94 6.7 The Diagonal Rule : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 100 6.7.1 One Half : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 100 6.7.2 The Other Half : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 103 6.8 Mutual Recursion : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 106 7 Monads 111 7.1 Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 111 7.2 Monads and Adjunctions : : : : : : : : : : : : : : : : : : : : : : : : : : : : 112 7.3 Basic Adjunction : : : : : : : : : : : : ...
Swinging Data Types: The Dielectic between Actions and Constructors
 REPORT, FB INFORMATIK, UNIVERSITÄT DORTMUND
, 1998
"... Initial structures are good for modelling constructorbased data types because they fit the intuition about these types and admit resolution and rewriteoriented inductive theorem proving. The corresponding specification and verification methods do not comply so well with nonfree or permutative ty ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Initial structures are good for modelling constructorbased data types because they fit the intuition about these types and admit resolution and rewriteoriented inductive theorem proving. The corresponding specification and verification methods do not comply so well with nonfree or permutative types such as sets, bags and maps and are still less appropriate when infinite structures like streams or processes come into play. Nonfree and infinite structure are better modelled as dynamic objects, which are identified through reactions upon actions (methods, messages, state transitions) rather than through constructors they might be built of. Extensional, contextual, behavioural, observational or bisimilarity relations model object equality and the suitable domains are final structures that are conservative with respect to visible subtypes. Consequently, a collection of data types and programs should be designed hierarchically as a "swinging " chain of specifications each of which extends its predecessor by either constructor types or action types. Constructor types introduce the visible domains and come with inductively defined total functions, structural equality and safety predicates with Horn clause axioms, while action types provide the hidden domains together with coinductively defined partial functions, behavioural equality and liveness predicates with liveness axioms that are dual to Horn clauses. A swinging specification is interpreted as a sequence of initial and final models. General proof