Introducing Institutions

There is a population explosion among the logical systems being used in computer science. Examples include first order logic (with and without equality), equational logic, Horn clause logic, second order logic, higher order logic, infinitary logic, dynamic logic, process logic, temporal logic, and modal logic; moreover ~, there is a tendency for each theorem prover to have its own idiosyncratic logical system. Yet it is usual to give many of the same results and applications for each logical system; of course, this is natural in so far as there are basic results in computer science that are independent of the logical system in which they happen to be expressed. But we should not have to do the same things over and over again; instead, we should generalize, and do the essential things once and for all! Also, we should ask what are the relationships among all these different logical systems. This paper shows how some parts of computer science can be done in any suitable logical system, by introducing the notion of an ins t i tu t ion as a precise generalization of the informal notion of a mlogical system, m A first main result shows that if an institution is such that interface declarations expressed in it can be glued together, then theories {which are just sets of sentences) in that institution can also be glued together. A second main result gives conditions under which a theorem prover for one institution can be validly used on theories from another; this uses the notion of an institution morphism. A third main result shows that institutions admiting free models can be extended to institutions whose theories may include, in addition to the original sentences, various kinds of constraints upon interpretations; such constraints are useful for defining abstract data types, and include so-called • data," "hierarchy, • and regenerating" constraints. Further results show how to define insitutions that mix sentences from one institution with constraints from another, and even mix sentences and {various kinds of) constraints from several different institutions. It is noted that general results about institutions apply to such mmultiplex" institutions, including the result mentioned above about gluing together theories. Finally, this paper discusses some applications of these results to specification languages, showing that much of that subject is in fact independent of the institution used.

[1]  Hartmut Ehrig,et al.  Algebraic Specifications with Generating Constraints , 1983, ICALP.

[2]  Manfred Broy,et al.  Existential Quantifiers in Abstract Data Types , 1979, ICALP.

[3]  J. A. Goguen,et al.  Completeness of many-sorted equational logic , 1981, SIGP.

[4]  Joseph A. Goguen,et al.  Semantics of computation , 1974, Category Theory Applied to Computation and Control.

[5]  P. J. Landin,et al.  The next 700 programming languages , 1966, CACM.

[6]  Jean-Raymond Abrial,et al.  Example 2: KWIC index generation , 1981 .

[7]  P. M. Melliar-Smith,et al.  STP: A Mechanized Logic for Specification and Verification , 1982, CADE.

[8]  Joseph A. Goguen,et al.  Putting Theories Together to Make Specifications , 1977, IJCAI.

[9]  M. Arbib,et al.  Arrows, Structures, and Functors: The Categorical Imperative , 1975 .

[10]  P. J. Higgins Algebras with a Scheme of Operators , 1963 .

[11]  Joseph A. Goguen,et al.  Abstract Errors for Abstract Data Types , 1977, Formal Description of Programming Concepts.

[12]  Keith L. Clark,et al.  Negation as Failure , 1987, Logic and Data Bases.

[13]  F. W. Lawvere,et al.  FUNCTORIAL SEMANTICS OF ALGEBRAIC THEORIES. , 1963, Proceedings of the National Academy of Sciences of the United States of America.

[14]  Hans-Dieter Ehrich On the Theory of Specification, Implementation, and Parametrization of Abstract Data Types , 1982, JACM.

[15]  James W. Thatcher,et al.  Data Type Specification: Parameterization and the Power of Specification Techniques , 1982, TOPL.

[16]  Johann A. Makowsky,et al.  An axiomatic approach to semantics of specification languages , 1983 .

[17]  Joseph A. Goguen,et al.  Algebraic Denotational Semantics Using Parameterized Abstract Modules , 1981, ICFPC.

[18]  K. J. Barwise,et al.  Axioms for abstract model theory , 1974 .

[19]  S. Lane Categories for the Working Mathematician , 1971 .

[20]  Joseph A. Goguen,et al.  Mathematical Representation of Hierarchically Organized Systems , 1970 .

[21]  Joseph A. Goguen,et al.  Rational algebraic theories and fixed-point solutions , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[22]  Johann A. Makowsky,et al.  Characterizing Specification Languages which Admit Initial Semantics , 1983, Theor. Comput. Sci..

[23]  C. I. Lewis,et al.  The Semantic Conception of Truth and the Foundations of Semantics , 1944 .

[24]  P. Gabriel,et al.  Lokal α-präsentierbare Kategorien , 1971 .

[25]  Joseph A. Goguen,et al.  Geometrical Constructions , 1981, Program Specification.

[26]  John McCarthy,et al.  Circumscription - A Form of Non-Monotonic Reasoning , 1980, Artif. Intell..

[27]  F W Lawvere,et al.  AN ELEMENTARY THEORY OF THE CATEGORY OF SETS. , 1964, Proceedings of the National Academy of Sciences of the United States of America.

[28]  David R. Musser,et al.  An Overview of AFFIRM: A Specification and Verification System , 1980, IFIP Congress.

[29]  Hartmut Ehrig,et al.  Deriving Structures from Structures , 1978, MFCS.

[30]  Jean Benabou,et al.  Structures algébriques dans les catégories , 1968 .

[31]  George Gratzer,et al.  Universal Algebra , 1979 .

[32]  STEPHrN L. BLOOM,et al.  Varieties of Ordered Algebras , 1976, J. Comput. Syst. Sci..

[33]  Joseph A. Goguen,et al.  The Semantics of CLEAR, A Specification Language , 1979, Abstract Software Specifications.

[34]  Joseph A. Goguen,et al.  ALGEBRAS, THEORIES AND FREENESS: AN INTRODUCTION FOR COMPUTER SCIENTISTS , 1982 .

[35]  Joseph A. Goguen,et al.  How to Prove Algebraic Inductive Hypotheses Without Induction , 1980, CADE.

[36]  Susanna Ginali,et al.  A Categorical Approach to General Systems , 1978 .

[37]  Raymond Aubin,et al.  Mechanizing structural induction , 1976 .

[38]  Horst Reichel,et al.  Initially-Restricting Algebraic Theories , 1980, MFCS.

[39]  Johann A. Makowsky,et al.  An axiomatic approach to semantics of specification languages , 1983, Theoretical Computer Science.

[40]  C. A. R. Hoare,et al.  Proof of correctness of data representation , 1975, Language Hierarchies and Interfaces.

[41]  R. Goldblatt Topoi, the Categorial Analysis of Logic , 1979 .