Papers by Andrzej Tarlecki
Lecture Notes in Computer Science, 2006
We recall the contribution of Goguen and Burstall's 1980 CAT paper and its powerful influence on ... more We recall the contribution of Goguen and Burstall's 1980 CAT paper and its powerful influence on theories of specification implementation that were emerging at about the same time, via the introduction of the notions of vertical and horizontal composition of implementations. We then give a different view of implementation which we believe provides a more adequate reflection of the rather subtle interplay between implementation, specification structure and program structure.
Lecture Notes in Computer Science, 2000
A new treatment of data refinement in typed lambda calculus is proposed, phrased in terms of pre-... more A new treatment of data refinement in typed lambda calculus is proposed, phrased in terms of pre-logical relations [HS99] rather than logical relations, and incorporating a constructive element. Constructive data refinement is shown to have desirable properties, and a substantial example of refinement is presented.
Lecture Notes in Computer Science
ABSTRACT
Lecture Notes in Computer Science
ABSTRACT
[1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science
Abstract An important tool for controlling search in an object logic is the use of structured the... more Abstract An important tool for controlling search in an object logic is the use of structured theory presentations. In order to apply these ideas to the setting of a logical framework, the authors study the behavior of structured theory presentations under representation in a framework, focusing on the problem of lifting presentations, from the object logic to the metalogic of the framework. The authors also consider imposing structure on logic presentations so that logical systems may themselves be defined in a modular fashion. ...
Lecture Notes in Computer Science
ABSTRACT
Algebraic Foundations of Systems Specification, 1999
ABSTRACT
SIAM Journal on Computing, 2001
We consider first-order specifications together with the restriction to accept only programmable ... more We consider first-order specifications together with the restriction to accept only programmable algebras as models. We provide a criterion which links this approach with the "generation principle": all programmable models of any specification SP that meets this criterion are reachable. We also show an example of a specification which does not satisfy the criterion and admits a programmable yet nonreachable model. Moreover, a general method of showing the existence of programmable but nonreachable models for a class of first-order specifications is given.
Bulletin of the EATCS, 2011
proof of the results. We give some examples of this, indicating how equational calculus, Birkhoff... more proof of the results. We give some examples of this, indicating how equational calculus, Birkhoff's variety theorem and interpolation results should be adjusted for many-sorted algebras. 2 Basic Definitions and Facts 2.1 Many-sorted Sets Let S be any set; we think of elements of S as sort names, or sorts for short. An S-sorted set is an S-indexed family of sets X = X s s∈S. We say that such an S-sorted set X is empty if X s is empty for all s ∈ S. The empty S-sorted set will be written (ambiguously) as ∅. We say that X is everywhere non-empty if X s ∅ for all s ∈ S ; otherwise we say that X is somewhere empty. Clearly, if S has at least two elements, there are S-sorted sets that are neither empty nor everywhere non-empty. S-sorted set X is finite if X s is finite for all s ∈ S and X s = ∅ for almost all s ∈ S (that is, for all but a finite number of s ∈ S , X s = ∅). Let X = X s s∈S and Y = Y s s∈S be S-sorted sets. Union, intersection, Cartesian product, disjoint union, inclusion (subset) and equality of X and Y are defined component-wise in the obvious manner. An S-sorted function f : X → Y is an S-indexed family of functions f = f s : X s → Y s s∈S ; X is called the domain (or source) of f , and Y is called its codomain (or target). An S-sorted function f : X → Y is an identity (inclusion, surjection, injection, bijection, etc) if for every s ∈ S , the function f s : X s → Y s is an identity (inclusion, surjection, injection, bijection, etc). The identity S-sorted function on X will be written as id X : X → X.
Annals of Pure and Applied Logic, 1994
The purpose of a logical framework such as LF is to provide a language for de ning logical system... more The purpose of a logical framework such as LF is to provide a language for de ning logical systems suitable for use in a logic-independent proof development environment. All inferential activity in an object logic (in particular, proof search) is to be conducted in the logical framework via the representation of that logic in the framework. An important tool for controlling search in an object logic, the need for which is motivated by the di culty of reasoning about large and complex systems, is the use of structured theory presentations. In this paper a rudimentary language of structured theory presentations is presented, and the use of this structure in proof search for an arbitrary object logic is explored. The behaviour of structured theory presentations under representation in a logical framework is studied, focusing on the problem of \lifting" presentations from the object logic to the metalogic of the framework. The topic of imposing structure on logic presentations, so that logical systems may themselves be de ned in a modular fashion, is also brie y considered.
It has been a common belief that the standard results of universal algebra as developed since the... more It has been a common belief that the standard results of universal algebra as developed since the work of Birkhoff and others in the thirties carry over without much change to the framework of many-sorted algebras. Perhaps the only exception widely noticed by the community is the care needed in the treatment of many-sorted equational logic. However, while the standard results remain valid in essence in the many-sorted frameworks, some nuances and technicalities require considerably more care in formulation and ∗This work was funded in part by by the Polish Ministry of Science and Higher Education, grant N206 493138, and by the European IST FET programme under the IST-2005-016004 SENSORIA project. proof of the results. We give some examples of this, indicating how equational calculus, Birkhoff’s variety theorem and interpolation results should be adjusted for many-sorted algebras.
Extended ML (EML) is a framework for the formal development of modular Standard ML (SML) software... more Extended ML (EML) is a framework for the formal development of modular Standard ML (SML) software systems. Development commences with a specification of the behaviour required and proceeds via a sequence of partial solutions until a complete solution, an executable SML program, is obtained. All stages in this development process are expressed in the EML language, an extension of SML with axioms for describing properties of module components. This is an overview of the formal definition of the EML language. To complement the full technical details presented elsewhere, it provides an informal explanation of the main ideas, gives the rationale for certain design decisions, and outlines some of the technical issues involved. EML is unusual in being built around a "real" programming language having a formally-defined syntax and semantics. Interesting and complex problems arise both from the nature of this relationship and from interactions between the features of the language. * This is an essentially revised and expanded version of [KST94a], which was based on an earlier, draft version of [KST94b].
The purpose of this chapter is to present the basic definitions and results on which the followin... more The purpose of this chapter is to present the basic definitions and results on which the following chapters rely. Most of this material is quite standard and for that reason the presentation will be concise. More detailed presentations with greater emphasis on motivation, exercises, and examples may be found in [EM85, Wir90, LEW96, ST]. The most basic assumption of work on algebraic specification is that a program is modeled as an algebra, that is, a set of data together with a number of functions over this set. The branch of mathematics which deals with algebras in a general sense (as opposed to the study of specific classes of algebras, such as groups and rings) is called universal algebra or sometimes general algebra. This chapter presents the basics of universal algebra, generalized to the many-sorted case as required to model programs which manipulate several kinds or sorts of data. Some extensions useful for modeling more complex programs are sketched at the end of the chapter.
Comput. Artif. Intell., 2003
CASL is an expressive specication language that has been designed to supersede many existing alge... more CASL is an expressive specication language that has been designed to supersede many existing algebraic specication languages and provide a standard. CASL consists of several layers, including basic (unstructured) specications, struc-
Different approaches to algebraic specification involve different mathematical underpinnings. The... more Different approaches to algebraic specification involve different mathematical underpinnings. These involve variations on the definitions of signature and algebra, the language of axioms used, and what it means for an algebra to satisfy an axiom. Different choices are useful for different purposes, and there appears to be no “best” choice that can be used for everything. We deal with this situation by making the theory of specification independent of this choice, using the notion of an institution which formalises the informal concept of logical system. This allows work on theories, results, and practical tools to be done just once for a wide range of logical systems, while at the same time forcing, via abstraction, deeper insight into the essence of the concepts and results. This chapter explains the basic elements of the theory of institutions on which the remaining chapters are based.
Lecture Notes in Computer Science, 1988
ABSTRACT
This paper presents in an informal way the main ideas underlying our work on algebraic speci cati... more This paper presents in an informal way the main ideas underlying our work on algebraic speci cation. The central idea, due to Goguen and Burstall, is that much work on algebraic speci cation can be done independently of the particular logical system (or institution) on which the speci cation formalism is based. We also examine the nature of speci cations and speci cation languages, the problem of proving that a statement follows from a speci cation, the important notion of behavioural equivalence, and the evolution of programs from speci cations by stepwise re nement. Although many of the issues discussed are motivated by technically complicated problems, in this paper the technicalities have been suppressed in an attempt to make the ideas more accessible. The same ideas are presented with full technical details in ST 85c]. We assume that the reader is convinced as we are that formal speci cations are not only theoretically interesting but are also practically important. Throughout the paper we also assume some familiarity with the basic concepts of algebraic speci cation, although we do not rely on any speci c technical knowledge. Many of the ideas expressed here were evolved under the in uence of Rod Burstall and Martin Wirsing, but this remains a personal statement.
Theoretical Computer Science, 1991
ABSTRACT
Uploads
Papers by Andrzej Tarlecki