Results 1  10
of
49
Universal coalgebra: a theory of systems
, 2000
"... In the semantics of programming, nite data types such as finite lists, have traditionally been modelled by initial algebras. Later final coalgebras were used in order to deal with in finite data types. Coalgebras, which are the dual of algebras, turned out to be suited, moreover, as models for certa ..."
Abstract

Cited by 298 (31 self)
 Add to MetaCart
In the semantics of programming, nite data types such as finite lists, have traditionally been modelled by initial algebras. Later final coalgebras were used in order to deal with in finite data types. Coalgebras, which are the dual of algebras, turned out to be suited, moreover, as models for certain types of automata and more generally, for (transition and dynamical) systems. An important property of initial algebras is that they satisfy the familiar principle of induction. Such a principle was missing for coalgebras until the work of Aczel (NonWellFounded sets, CSLI Leethre Notes, Vol. 14, center for the study of Languages and information, Stanford, 1988) on a theory of nonwellfounded sets, in which he introduced a proof principle nowadays called coinduction. It was formulated in terms of bisimulation, a notion originally stemming from the world of concurrent programming languages. Using the notion of coalgebra homomorphism, the definition of bisimulation on coalgebras can be shown to be formally dual to that of congruence on algebras. Thus, the three basic notions of universal algebra: algebra, homomorphism of algebras, and congruence, turn out to correspond to coalgebra, homomorphism of coalgebras, and bisimulation, respectively. In this paper, the latter are taken
A Tutorial on (Co)Algebras and (Co)Induction
 EATCS Bulletin
, 1997
"... . Algebraic structures which are generated by a collection of constructors like natural numbers (generated by a zero and a successor) or finite lists and trees are of wellestablished importance in computer science. Formally, they are initial algebras. Induction is used both as a definition pr ..."
Abstract

Cited by 228 (34 self)
 Add to MetaCart
. Algebraic structures which are generated by a collection of constructors like natural numbers (generated by a zero and a successor) or finite lists and trees are of wellestablished importance in computer science. Formally, they are initial algebras. Induction is used both as a definition principle, and as a proof principle for such structures. But there are also important dual "coalgebraic" structures, which do not come equipped with constructor operations but with what are sometimes called "destructor" operations (also called observers, accessors, transition maps, or mutators). Spaces of infinite data (including, for example, infinite lists, and nonwellfounded sets) are generally of this kind. In general, dynamical systems with a hidden, blackbox state space, to which a user only has limited access via specified (observer or mutator) operations, are coalgebras of various kinds. Such coalgebraic systems are common in computer science. And "coinduction" is the appropriate te...
Coalgebraic modal logic: Soundness, completeness and decidability of local consequence
 Theoret. Comput. Sci
, 2002
"... This paper studies finitary modal logics, interpreted over coalgebras for an endofunctor, and establishes soundness, completeness and decidability results. The logics are studied within the abstract framework of coalgebraic modal logic, which can be instantiated with arbitrary endofunctors on the ca ..."
Abstract

Cited by 51 (24 self)
 Add to MetaCart
This paper studies finitary modal logics, interpreted over coalgebras for an endofunctor, and establishes soundness, completeness and decidability results. The logics are studied within the abstract framework of coalgebraic modal logic, which can be instantiated with arbitrary endofunctors on the category of sets. This is achieved through the use of predicate liftings, which generalise atomic propositions and modal operators from Kripke models to arbitrary coalgebras. Predicate liftings also allow us to use induction along the terminal sequence of the underlying endofunctor as a proof principle. This induction principle is systematically exploited to establish soundness, completeness and decidability of the logics. We believe that this induction principle also opens new ways for reasoning about modal logics: Our proof of completeness does not rely on a canonical model construction, and the proof of the finite model property does not use filtrations. 1
Reasoning about Classes in ObjectOriented Languages: Logical Models and Tools
, 1998
"... A formal language ccsl is introduced for describing specifications of classes in objectoriented languages. We show how class specifications in ccsl can be translated into higher order logic. This allows us to reason about these specifications. In particular, it allows us (1) to describe (various) i ..."
Abstract

Cited by 34 (15 self)
 Add to MetaCart
A formal language ccsl is introduced for describing specifications of classes in objectoriented languages. We show how class specifications in ccsl can be translated into higher order logic. This allows us to reason about these specifications. In particular, it allows us (1) to describe (various) implementations of a particular class specification, (2) to develop the logical theory of a specific class specification, and (3) to establish refinements between two class specifications. We use the (dependently typed) higher order logic of the proofassistant pvs, so that we have extensive tool support for reasoning about class specifications. Moreover, we describe our own frontend tool to pvs, which generates from ccsl class specifications appropriate pvs theories and proofs of some elementary results.
General recursion via coinductive types
 Logical Methods in Computer Science
"... Vol. 1 (2:1) 2005, pp. 1–28 ..."
Developing Theories of Types and Computability via Realizability
, 2000
"... We investigate the development of theories of types and computability via realizability. ..."
Abstract

Cited by 20 (6 self)
 Add to MetaCart
We investigate the development of theories of types and computability via realizability.
Reasoning about Java classes
 OOPSLA’98, ACM SIGPLAN Notices
, 1998
"... We present the first results of a project called LOOP, on formal methods for the objectoriented language Java. It aims at verification of program properties, with support of modern tools. We use our own frontend tool (which is still partly under construction) for translating Java classes into logi ..."
Abstract

Cited by 18 (0 self)
 Add to MetaCart
We present the first results of a project called LOOP, on formal methods for the objectoriented language Java. It aims at verification of program properties, with support of modern tools. We use our own frontend tool (which is still partly under construction) for translating Java classes into logic, and a backend theorem prover (namely PVS, developed at SRI) for reasoning. In several examples we will demonstrate how nontrivial properties of Java programs and classes can be proved following this twostep approach.
Proof Principles for Datatypes with Iterated Recursion
, 1997
"... . Data types like trees which are finitely branching and of (possibly) infinite depth are described by iterating initial algebras and terminal coalgebras. We study proof principles for such data types in the context of categorical logic, following and extending the approach of [14, 15]. The technica ..."
Abstract

Cited by 17 (3 self)
 Add to MetaCart
. Data types like trees which are finitely branching and of (possibly) infinite depth are described by iterating initial algebras and terminal coalgebras. We study proof principles for such data types in the context of categorical logic, following and extending the approach of [14, 15]. The technical contribution of this paper involves a description of initial algebras and terminal coalgebras in total categories of fibrations for lifted "datafunctors". These lifted functors are used to formulate our proof principles. We test these principles by proving some elementary results for four kinds of trees (with finite or infinite breadth or depth) using the proof tool pvs. 1 Introduction Algebras and coalgebras are of wellestablished importance in computer science, notably in the theory of datatypes, where especially initial algebras and terminal coalgebras play a distinguished role. Over the past decade there is more and more interest in the logic associated with initial algebras and ter...
Simulations in Coalgebra
 THEOR. COMP. SCI
, 2003
"... A new approach to simulations is proposed within the theory of coalgebras by taking a notion of order on a functor as primitive. Such an order forms a basic building block for a "lax relation lifting", or "relator" as used by other authors. Simulations appear as coalgebras of this lifted functor, an ..."
Abstract

Cited by 17 (1 self)
 Add to MetaCart
A new approach to simulations is proposed within the theory of coalgebras by taking a notion of order on a functor as primitive. Such an order forms a basic building block for a "lax relation lifting", or "relator" as used by other authors. Simulations appear as coalgebras of this lifted functor, and similarity as greatest simulation. Twoway similarity is then similarity in both directions. In general, it is different from bisimilarity (in the usual coalgebraic sense), but a su#cient condition is formulated (and illustrated) to ensure that bisimilarity and twoway similarity coincide. Also, suitable conditions are identified which ensures that similarity on a final coalgebra forms an (algebraic) dcpo structure. This involves a close investigation of the iterated applications F (#) and F (1) of a functor F with an order to the initial and final sets.