Institutions: abstract model theory for specification and programming

There is a population explosion among the logical systems used in computing science. Examples include first-order logic, equational logic, Horn-clause logic, higher-order logic, infinitary logic, dynamic logic, intuitionistic logic, order-sorted logic, and temporal logic; moreover, there is a tendency for each theorem prover to have its own idiosyncratic logical system. The concept of institution is introduced to formalize the informal notion of “logical system.” The major requirement is that there is a satisfaction relation between models and sentences that is consistent under change of notation. Institutions enable abstracting away from syntactic and semantic detail when working on language structure “in-the-large”; for example, we can define language features for building large logical system. This applies to both specification languages and programming languages. Institutions also have applications to such areas as database theory and the semantics of artificial and natural languages. A first main result of this paper says that any institution such that signatures (which define notation) can be glued together, also allows gluing together theories (which are just collections of sentences over a fixed signature). A second main result considers when theory structuring is preserved by institution morphisms. A third main result gives conditions under which it is sound to use a theorem prover for one institution on theories from another. A fourth main result shows how to extend institutions so that their theories may include, in addition to the original sentences, various kinds of constraint that are useful for defining abstract data types, including both “data” and “hierarchy” constraints. Further results show how to define institutions that allow sentences and constraints from two or more institutions. All our general results apply to such “duplex” and “multiplex” institutions.

[1]  Ian J. Hayes,et al.  Specification case studies , 1987 .

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

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

[4]  Donald Sannella,et al.  Completeness of Proof Systems for Equational Specifications , 1985, IEEE Transactions on Software Engineering.

[5]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

[6]  José Meseguer,et al.  EQLOG: Equality, Types, and Generic Modules For Logic Programming , 1986, Logic Programming: Functions, Relations, and Equations.

[7]  Joseph A. Goguen,et al.  Initial Algebra Semantics and Continuous Algebras , 1977, J. ACM.

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

[9]  Martin Wirsing,et al.  Structured Algebraic Specifications: A Kernel Language , 1986, Theor. Comput. Sci..

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

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

[12]  Joseph A. Goguen,et al.  Some Fundamental Algebraic Tools for the Semantics of Computation: Part 3: Indexed Categories , 1991, Theor. Comput. Sci..

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

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

[15]  Fernando Orejas,et al.  Development of Algebraic Specifications with Constraints , 1988, Categorial Methods in Computer Science.

[16]  Joseph A. Goguen,et al.  OBJ as a Theorem Prover with Applications to Hardware Verification , 1989 .

[17]  Martin Wirsing,et al.  Implementation of Parameterised Specifications (Extended Abstract) , 1982, ICALP.

[18]  Cristina Sernadas,et al.  Conceptual modelling for knowledge-based DSS development , 1987 .

[19]  José Meseguer,et al.  Principles of OBJ2 , 1985, POPL.

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

[21]  Werner Fey,et al.  ACT TWO: An Algebraic Module Specification and Interconnection Language , 1991, AMAST.

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

[23]  Andrzej Tarlecki,et al.  Bits and Pieces of the Theory of Institutions , 1985, ADT.

[24]  John C. Shepherdson,et al.  Negation as Failure: A Comparison of Clark's Completed Data Base and Reiter's Closed World Assumption , 1984, J. Log. Program..

[25]  Raymond Aubin Mechanizing structural induction (formal system) , 1976 .

[26]  Robert Harper,et al.  Structure and representation in LF , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

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

[28]  Joseph A. Goguen,et al.  Parameterized Programming , 1984, IEEE Transactions on Software Engineering.

[29]  José Meseguer,et al.  Parameterized programming in OBJ2 , 1987, ICSE '87.

[30]  Donald Sannella,et al.  Extended ML: Past, Present, and Future , 1990, ADT.

[31]  Rod M. Burstall,et al.  Proving Properties of Programs by Structural Induction , 1969, Comput. J..

[32]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1: Equations and Initial Semantics , 1985 .

[33]  A. Pitts INTRODUCTION TO HIGHER ORDER CATEGORICAL LOGIC (Cambridge Studies in Advanced Mathematics 7) , 1987 .

[34]  Peter D. Mosses,et al.  Unified algebras and institutions , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[35]  A. Tarski Fundamentale Begriffe der Methodologie der deduktiven Wissenschaften. I , 1930 .

[36]  Raymond Reiter On Closed World Data Bases , 1977, Logic and Data Bases.

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

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

[39]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 1 , 1985, EATCS Monographs on Theoretical Computer Science.

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

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

[42]  Hartmut Ehrig,et al.  ACT ONE - An Algebraic Specification Language with two Levels of Semantics , 1983, ADT.

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

[44]  Graham Birtwistle,et al.  Current Trends in Hardware Verification and Automated Theorem Proving , 1989, Springer New York.

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

[46]  Donald Sannella,et al.  Building Specifications in an Arbitrary Institution , 1984, Semantics of Data Types.

[47]  Joseph A. Goguen,et al.  A categorical manifesto , 1989, Mathematical Structures in Computer Science.

[48]  Joseph A. Goguen,et al.  Some Fundamental Algebraic Tools for the Semantics of Computation. Part II: Signed and Abstract Theories , 1984, Theor. Comput. Sci..

[49]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

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

[51]  Donald Sannella,et al.  Extended ML: An Institution-Independent Framework for Formal Program Development , 1985, ADT.

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

[53]  José Meseguer,et al.  Unifying Functional, Object-Oriented and Relational Programming with Logical Semantics , 1987, Research Directions in Object-Oriented Programming.

[54]  Rod M. Burstall Inductively Defined Functions (Extended Abstract) , 1985, TAPSOFT, Vol.1.

[55]  José Meseguer,et al.  Order-Sorted Algebra I: Equational Deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations , 1992, Theor. Comput. Sci..

[56]  Joseph A. Goguen,et al.  Reusing and Interconnecting Software Components , 1986, Computer.

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

[58]  Hans-Jörg Kreowski,et al.  Recent Trends in Data Type Specification , 1985, Informatik-Fachberichte.

[59]  Hartmut Ehrig Categorical Concept of Constraints for Algebraic Specifications , 1988, Categorial Methods in Computer Science.

[60]  Andrzej Tarlecki,et al.  Quasi-varieties in Abstract Algebraic Institutions , 1986, J. Comput. Syst. Sci..

[61]  Donald Sannella,et al.  On Observational Equivalence and Algebraic Specification , 1987, J. Comput. Syst. Sci..

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

[63]  Horst Reichel,et al.  Initial Computability, Algebraic Specifications, and Partial Algebras , 1987 .

[64]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[65]  Hartmut Ehrig,et al.  Fundamentals of Algebraic Specification 2: Module Specifications and Constraints , 1990 .

[66]  Hartmut Ehrig,et al.  Introduction to the Algebraic Theory of Graph Grammars (A Survey) , 1978, Graph-Grammars and Their Application to Computer Science and Biology.

[67]  Joseph A. Goguen,et al.  A Study in the Functions of Programming Methodology: Specifications, Institutions, Charters and Parchments , 1985, CTCS.

[68]  José Luiz Fiadeiro,et al.  Knowledgebases as Structured Theories , 1988, FSTTCS.

[69]  Joseph A. Goguen,et al.  Some Fundamental Algebraic Tools for the Semantics of Computation. Part 1: Comma Categories, Colimits, Signatures and Theories , 1984, Theor. Comput. Sci..

[70]  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.

[71]  Andrzej Tarlecki,et al.  On the Existence of Free Models in Abstract Algebraic Institutuons , 1985, Theor. Comput. Sci..

[72]  Donald Sannella,et al.  Specifications in an Arbitrary Institution , 1988, Inf. Comput..

[73]  J. Lambek,et al.  Introduction to higher order categorical logic , 1986 .

[74]  José Meseguer,et al.  Universal Realization, Persistent Interconnection and Implementation of Abstract Modules , 1982, ICALP.

[75]  José Luiz Fiadeiro,et al.  Structuring Theories on Consequence , 1988, ADT.

[76]  Brian H. Mayoh,et al.  Galleries and Institutions , 1985 .

[77]  Joseph A. Goguen,et al.  Introducing Institutions , 1983, Logic of Programs.

[78]  Donald Sannella,et al.  On Observational Equivalence and Algebraic Specification , 1985, TAPSOFT, Vol.1.

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

[80]  Robert S. Boyer,et al.  The Correctness Problem in Computer Science , 1982 .

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

[82]  José Meseguer,et al.  Initiality, induction, and computability , 1986 .

[83]  Will Tracz,et al.  Parametrized programming in LILEANNA , 1993, SAC '93.