Logic of Programs 1983: Logics of Programs pp 221-256 | Cite as

Introducing institutions

  • J. A. Goguen
  • R. M. Burstall
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 164)


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 institution as a precise generalization of the informal notion of a "logical system." 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 "generating" 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 "multiplex" 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.


Specification Language Order Logic Logical System Predicate Symbol Horn Clause 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Arbib & Manes 75]
    Arbib, M. A. and Manes, E. Arrows, Structures and Functors. Academic Press, 1975.Google Scholar
  2. [Aubin 76]
    Aubin, R. Mechanizing Structural Induction. PhD thesis, University of Edinburgh, 1976.Google Scholar
  3. [Barwise 74]
    Barwise, J. Axioms for Abstract Model Theory. Annals of Mathematical Logic 7:221–265, 1974.Google Scholar
  4. [Benabou 68]
    Benabou, J. Structures Algebriques dans les Categories. Cahiers de Topologie et Geometrie Differentiel 10:1–126, 1968.Google Scholar
  5. [Birkhoff & Lipson 70]
    Birkhoff, G. and Lipson, J. Heterogeneous Algebras. Journal of Combinatorial Theory 8:115–133, 1970.Google Scholar
  6. [Bloom 76]
    Bloom, S. L. Varieties of Ordered Algebras. Journal of Computer and System Sciences 13:200–212, 1976.Google Scholar
  7. [Boyer & Moore 80]
    Boyer, R. and Moore, J. S. A Computational Logic. Academic Press, 1980.Google Scholar
  8. [Broy, Dosch, Partsch, Pepper & Wirsing 79]
    Broy, M., Dosch, N., Partsch, H., Pepper, P. and Wirsing, M. Existential Quantifiers in Abstract Data Types. In Proceedings, 6th ICALP, pages 73–87. Springer-Verlag, 1979. Lecture Notes in Computer Science, volume 71.Google Scholar
  9. [Burstall & Goguen 77]
    Burstall, R. M. and Goguen, J. A. Putting Theories together to Make Specifications. Proceedings, Fifth International Joint Conference on Artificial Intelligence 5:1045–1058, 1977.Google Scholar
  10. [Burstall & Goguen 78]
    Burstall, R. M. and Goguen, J. A. Semantics of Clear. 1978. Unpublished notes handed out at the Symposium on Algebra and Applications, Stefan Benach Center, Warszawa, Poland.Google Scholar
  11. [Burstall & Goguen 80]
    Burstall, R. M., and Goguen, J. A. The Semantics of Clear, a Specification Language. In Proceedings of the 1979 Copenhagen Winter School on Abstract Software Specification, pages 292–332. Springer-Verlag, 1980. Lecture Notes in Computer Science, Volume 86.Google Scholar
  12. [Burstall & Goguen 81]
    Burstall, R. M. and Goguen, J. A. An Informal Introduction to Specifications using Clear. In Boyer, R. and Moore, J (editor), The Correctness Problem in Computer Science, pages 185–213. Academic Press, 1981.Google Scholar
  13. [Burstall & Goguen 82]
    Burstall, R. M. and Goguen, J. A. Algebras, Theories and Freeness: An Introduction for Computer Scientists. In Proceedings, 1981 Marktoberdorf NATO Summer School,. Reidel, 1982.Google Scholar
  14. [Burstall & Rydeheard 80]
    Burstall, R. M. and Rydeheard, D. E. Signatures, Presentations and Theories: a Monad Approach. Technical Report, Computer Science Department, University of Edinburgh, 1980.Google Scholar
  15. [Clark 78]
    Clark, K. L. Negation as Failure. In H. Gallaire and J. Minker (editor), Logic in Data Bases, pages 293–322. Plenum Press, 1978.Google Scholar
  16. [Cohn 65]
    Cohn, P. M. Universal Algebra. Harper and Row, 1965. Revised edition 1980.Google Scholar
  17. [Ehrich 78]
    Ehrich, H.-D. On the Theory of Specification, Implementation and Parameterization of Abstract Data Types. Technical Report, Forschungsbericht, Dortmund, 1978.Google Scholar
  18. [Ehrig, Kreowski, Rosen & Winkowski 78]
    Ehrig, E., Kreowski, H.-J., Rosen, B. K. and Winkowski, J. Deriving Structures from Structures. In Proceedings, Mathematical Foundations of Computer Science, Springer-Verlag, Zakopane, Poland, 1978. Also appeared as technical report RC7046 from IBM Watson Research Center, Computer Sciences Dept.Google Scholar
  19. [Ehrig, Wagner & Thatcher 82]
    Ehrig, H., Wagner, E. and Thatcher, J. Algebraic Specifications with Generating Constraints. Technical Report, IBM Research Center, Yorktown Heights, New York, 1982. Draft report.Google Scholar
  20. [Gabriel & Ulmer 71]
    Gabriel, P. and Ulmer, F. Lokal Prasentierbare Kategorien. Springer-Verlag, 1971. Springer Lecture Notes in Mathematics, vol. 221.Google Scholar
  21. [Gerhard, Musser et al. 79]
    Gerhard, S. L., Musser, D. R., Thompson, D. H., Baker, D. A., Bates, R. W., Erickson, R. W., London, R. L., Taylor, D. G., and Wile, D. S. An Overview of AFFIRM: A Specification and Verification System. Technical Report, USC Information Sciences Institute, Marina del Rey, CA, 1979.Google Scholar
  22. [Goguen 71]
    Goguen, J. Mathematical Foundations of Hierarchically Organized Systems. In E. Attinger (editor), Global Systems Dynamics, pages 112–128. S. Karger, 1971.Google Scholar
  23. [Goguen 74]
    Goguen, J. A. Semantics of Computation. In Proceedings, First International Symposium on Category Theory Applied to Computation and Control, pages 234–249. University of Massachusetts at Amherst, 1974. Also published in Lecture Notes in Computer Science, Vol. 25., Springer-Verlag, 1975, pp. 151–163.Google Scholar
  24. [Goguen 77]
    Goguen, J. A. Abstract Errors for Abstract Data Types. In IFIP Working Conference on Formal Description of Programming Concepts,. MIT, 1977. Also published by North-Holland, 1979, edited by P. Neuhold.Google Scholar
  25. [Goguen 78]
    Goguen, J. A. Order Sorted Algebra. Technical Report, UCLA Computer Science Department, 1978. Semantics and Theory of Computation Report No. 14; to appear in Journal of Computer and System Science.Google Scholar
  26. [Goguen 80]
    Goguen, J. A. How to Prove Algebraic Inductive Hypotheses without Induction: with applications to the correctness of data type representations. In W. Bibel and R. Kowalski (editor), Proceedings, 5th Conference on Automated Deduction, pages 356–373. Springer-Verlag, Lecture Notes in Computer Science, Volume 87, 1980.Google Scholar
  27. [Goguen 82a]
    Goguen, J. A. Ordinary Specification of Some Construction in Plane Geometry. In Staunstrup, J. (editor), Proceedings, Workshop on Program Specification, pages 31–46. Springer-Verlag, 1982. Lecture Notes in Computer Science, Volume 134.Google Scholar
  28. [Goguen 82b]
    Goguen, J. A. Ordinary Specification of KWIC Index Generation. In Staunstrup, J. (editor), Proceedings, Aarhus Workshop on Specification, pages 114–117. Springer-Verlag, 1982. Lecture Notes in Computer Science, Volume 134.Google Scholar
  29. [Goguen & Burstall 78]
    Goguen, J. A. and Burstall, R. M. Some Fundamental Properties of Algebraic Theories: a Tool for Semantics of Computation. Technical Report, Dept. of Artificial Intelligence, University of Edinburgh, 1978. DAI Research Report No. 5; to appear in Theoretical Computer Science.Google Scholar
  30. [Goguen & Ginali 78]
    Goguen, J. A. and Ginali, S. A Categorical Approach to General Systems Theory. In Klir, G. (editor), Applied General Systems Research, pages 257–270. Plenum, 1978.Google Scholar
  31. [Goguen & Meseguer 81]
    Goguen, J. A. and Meseguer, J. Completeness of Many-sorted Equational Logic. SIGPLAN Notices 16(7):24–32, July, 1981. Also appeared in SIGPLAN Notices, January 1982, vol. 17, no. 1, pages 9–17; extended version as SRI Technical Report, 1982, and to be published in Houston Journal of Mathematics.Google Scholar
  32. [Goguen & Meseguer 83]
    Goguen, J. A. and Meseguer, J. An Initiality Primer. In Nivat, M. and Reynolds, J. (editor), Application of Algebra to Language Definition and Compilation, North-Holland, 1983. To appear.Google Scholar
  33. [Goguen & Parsaye-Ghomi 81]
    Goguen, J. A. and Parsaye-Ghomi, K. Algebraic Denotational Semantics using Parameterized Abstract Modules. In J. Diaz and I. Ramos (editor), Formalizing Programming Concepts, pages 292–309. Springer-Verlag, Peniscola, Spain, 1981. Lecture Notes in Computer Science, volume 107.Google Scholar
  34. [Goguen & Tardo 79]
    Goguen, J. A. and Tardo, J. An Introduction to OBJ: A Language for Writing and Testing Software Specifications. In Specification of Reliable Software, pages 170–189. IEEE, 1979.Google Scholar
  35. [Goguen, Thatcher & Wagner 78]
    Goguen, J. A., Thatcher, J. W. and Wagner, E. An Initial Algebra Approach to the Specification, Correctness and Implementation of Abstract Data Types. In R. Yeh (editor), Current Trends in Programming Methodology, pages 80–149. Prentice-Hall, 1978. Original version, IBM T. J. Watson Research Center Technical Report RC 6487, October 1976.Google Scholar
  36. [Goguen, Thatcher, Wagner & Wright 75a]
    Goguen, J. A., Thatcher, J. W., Wagner, E. G., and Wright, J. B. An Introduction to Categories, Algebraic Theories and Algebras. Technical Report, IBM T. J. Watson Research Center, Yorktown Heights, N. Y., 1975. Research Report RC 5369.Google Scholar
  37. [Goguen, Thatcher, Wagner & Wright 75b]
    Goguen, J. A., Thatcher, J. W., Wagner, E. and Wright, J. B. Abstract Data Types as Initial Algebras and the Correctness of Data Representations. In Computer Graphics, Pattern Recognition and Data Structure, pages 89–93. IEEE, 1975.Google Scholar
  38. [Goldblatt 79]
    Goldblatt, R. Topoi, The Categorial Analysis of Logic. North-Holland, 1979.Google Scholar
  39. [Higgins 63]
    Higgins, P. J. Algebras with a Scheme of Operators. Mathematische Nachrichten 27:115–132, 1963.Google Scholar
  40. [Hoare 72]
    Hoare, C. A. R. Proof of Correctness of Data Representation. Acta Informatica 1:271–281, 1972.Google Scholar
  41. [Kaphengst & Reichel 71]
    Kaphengst, H. and Reichel, H. Algebraische Algorithemtheorie. Technical Report WIB Nr. 1, VEB Robotron, Zentrum fur Forschung und Technik, Dresden, 1971. In German.Google Scholar
  42. [Landin 66]
    Landin, P. J. The Next 700 Programming Languages. Communications of the Association for Computing Machinery 9, 1966.Google Scholar
  43. [Lawvere 63]
    Lawvere, F. W. Functorial Semantics of Algebraic Theories. Proceedings, National Academy of Sciences 50, 1963. Summary of Ph.D. Thesis, Columbia University.Google Scholar
  44. [Lawvere 64]
    Lawvere, F. W. An Elementary Theory of the Category of Sets. Proceedings, National Academy of Sciences, U.S.A. 52:1506–1511, 1964.Google Scholar
  45. [Levitt, Robinson & Silverberg 79]
    Levitt, K., Robinson, L. and Silverberg, B. The HDM Handbook. Technical Report, SRI, International, Computer Science Lab, 1979. Volumes I, II, III.Google Scholar
  46. [MacLane 71]
    MacLane, S. Categories for the Working Mathematician. Springer-Verlag, 1971.Google Scholar
  47. [MacLane & Birkhoff 67]
    MacLane, S. and Birkhoff, G. Algebra. Macmillan, 1967.Google Scholar
  48. [Mahr & Makowsky 82a]
    Mahr, B. and Makowsky, J. A. An Axiomatic Approach to Semantics of Specification Languages. Technical Report, Technion, Israel Institute of Technology, 1982. Extended Abstract.Google Scholar
  49. [Mahr & Makowsky 82b]
    Mahr, B. and Makowsky, J. A. Characterizing Specification Languages which Admit Initial Semantics. Technical Report, Technion, Israel Institute of Technology, February, 1982. Technical Report #232.Google Scholar
  50. [McCarthy 80]
    McCarthy, J. Circumscription — A Form of Non-Monotonic Reasoning. Artificial Intelligence 13(1,2):27–39, 1980.Google Scholar
  51. [Parsaye-Ghomi 82]
    Parsaye-Ghomi, K. Higher Order Data Types. PhD thesis, UCLA, Computer Science Department, January, 1982.Google Scholar
  52. [Reichel 80]
    Reichel, H. Initially Restricting Algebraic Theories. Springer Lecture Notes in Computer Science 88:504–514, 1980. Mathematical Foundations of Computer Science.Google Scholar
  53. [Shostak, Schwartz & Melliar-Smith 81]
    Shostak, R., Schwartz, R. & Melliar-Smith, M. STP: A Mechanized Logic for Specification and Verification. Technical Report, Computer Science Lab, SRI International, 1981.Google Scholar
  54. [Tarski 44]
    Tarski, A. The Semantic Conception of Truth. Philos. Phenomenological Research 4:13–47, 1944.Google Scholar
  55. [Thatcher, Wagner & Wright 79]
    Thatcher, J. W., Wagner, E. G. and Wright, J. B. Data Type Specification: Paramerization and the Power of Specification Techniques. In Proceedings of 1979 POPL,. ACM, 1979.Google Scholar
  56. [Wright, Thatcher, Wagner & Goguen 76]
    Wright, J. B., Thatcher, J. W., Wagner, E. G. and Goguen, J. A. Rational Algebraic Theories and Fixed-Point Solutions. Proceedings, 17th Foundations of Computing Symposium:147–158, 1976. IEEE.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1984

Authors and Affiliations

  • J. A. Goguen
    • 1
  • R. M. Burstall
    • 1
  1. 1.SRI International and the University of EdinburghUK

Personalised recommendations