Acta Informatica

, Volume 25, Issue 2, pp 111–153 | Cite as

Crypt-equivalent algebraic specifications

  • F. L. Bauer
  • M. Wirsing


Equivalence is a fundamental notion for the semantic analysis of algebraic specifications. In this paper the notion of “crypt-equivalence” is introduced and studied w.r.t. two “loose” approaches to the semantics of an algebraic specification T: the class of all first-order models of T and the class of all term-generated models of T. Two specifications are called crypt-equivalent if for one specification there exists a predicate logic formula which implicitly defines an expansion (by new functions) of every model of that specification in such a way that the expansion (after forgetting unnecessary functions) is homologous to a model of the other specification, and if vice versa there exists another predicate logic formula with the same properties for the other specification. We speak of “first-order crypt-equivalence” if this holds for all first-order models, and of “inductive crypt-equivalence” if this holds for all term-generated models. Characterizations and structural properties of these notions are studied. In particular, it is shown that first order crypt-equivalence is equivalent to the existence of explicit definitions and that in case of “positive definability” two first-order crypt-equivalent specifications admit the same categories of models and homomorphisms. Similarly, two specifications which are inductively crypt-equivalent via sufficiently complete implicit definitions determine the same associated categories. Moreover, crypt-equivalence is compared with other notions of equivalence for algebraic specifications: in particular, it is shown that first-order cryptequivalence is strictly coarser than “abstract semantic equivalence” and that inductive crypt-equivalence is strictly finer than “inductive simulation equivalence” and “implementation equivalence”.


Operating System Data Structure Communication Network Information Theory Structural Property 
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. 1.
    Barwise, J., (ed.): Handbook of Mathematical Logic Amsterdam: North-Holland 1977Google Scholar
  2. 2.
    Bauer, F.L.: Lecture Notes on Algorithmic Languages, Technical University Munich, July 1977Google Scholar
  3. 3.
    Bauer, F.L., Wössner, H.: Algorithmic Language and Program Development. Berlin, Heidelberg, New York: Springer 1982CrossRefGoogle Scholar
  4. 4.
    Bergstra, J.A., Broy, M., Tucker, J.V., Wirsing, M.: On the power of algebraic specifications. Proc. 10th Int. Symp. on Mathematical Foundations of Computer Science, Strbske Pleso, Czechoslovakia. Lect. Notes Comput. Sci. Vol. 118, pp. 193–204 Berlin, Heidelberg, New York: Springer 1981Google Scholar
  5. 5.
    Bergstra, J.A., Meyer, J.-J.C.: A simple transfer lemma for algebraic specification. Inf. Proc. Letters 14, 80–85 (1982)CrossRefGoogle Scholar
  6. 6.
    Bergstra, J.A., Tucker, J.V.: Algebraic specification of computable and semicomputable data structures. Afdeling Informaticae Amsterdam, IW 115/79Google Scholar
  7. 7.
    Bertoni, A., Mauri, G., Miglioli, P.A., Wirsing, M.: On different approaches to abstract data types and the existence of recursive models. Bulletin EATCS 9, 47–57 (1979)Google Scholar
  8. 8.
    Birkhoff, G.: Lattice Theory. New York: Amer. Math. Soc. 1940; third edition, 1967zbMATHGoogle Scholar
  9. 9.
    Broy, M., Möller, B., Pepper, P., Wirsing, M.: Algebraic implementations preserve program correctness. Sci. Comput. Programming 7, 35–53 (1986)MathSciNetCrossRefGoogle Scholar
  10. 10.
    Burstall, R.M., Goguen, J.A.: The semantics of Clear, a specification language. Proc. of Advanced Course on Abstract Software specifications, Copenhagen. Lect. Notes Comput. Sci. Vol. 86, pp. 292–332 Berlin, Heidelberg, New York Springer 1980CrossRefGoogle Scholar
  11. 11.
    Chang, C.C., Keisler, H.J. Model Theory. Studies in Logic and Foundations of Mathematics, Vol. 73, Amsterdam: North-Holland 1974Google Scholar
  12. 12.
    Bauer, F.L., Berghammer, R., Broy, M., Dosch, W., Geiselbrechtinger, F., Guatz, R., Hangel, E., Hesse, W., Krieg-Brückner, B., Laut, A., Matzner, T., Möller, B., Nickl, F., Partsch, H., Pepper, P., Samelson, K., Wirsing, M., Wössner, H. (the CIP-Language Group): The Munich project CIP, Vol. 1: The wide spectrum of CIP-L. Lect. Notes Comput. Sci. Vol. 183. Berlin, Heidelberg, New York: Springer 1985Google Scholar
  13. 13.
    Ehrich, H.-D.: On the theory of specification, implementation and parameterization of abstract data types. JACM 29, 206–227 (1982)CrossRefGoogle Scholar
  14. 14.
    Ehrig, H., Kreowski, H.-J., Mahr, B., Padawitz, P.: Algebraic implementation of abstract data types. Theoret. Comput. Sci. 20, 209–263 (1982)CrossRefGoogle Scholar
  15. 15.
    Goguen, J.A.: Abstract errors for abstract data types. Proc. IFIP Working Conf. on Formal Description of Programming Concepts, St. Andrews, 1977Google Scholar
  16. 16.
    Goguen, J.A., Meseguer, J.: Completeness of many-sorted equational logic. SIGPLAN Notices 16, 24–32 (1981)CrossRefGoogle Scholar
  17. 17.
    Goguen, J.A. Thatcher,J.W., Wagner, E.G., Wright, J.B.: Initial algebra semantics and continuous algebras. IBM Research Report RC-5701, 1975; (also) JACM 24, 68–75 1975MathSciNetCrossRefGoogle Scholar
  18. 18.
    Goguen, J.A., Thatcher, J.W., Wagner, E.G.: An initial algebra approach to the specification, correctness, and implementation of abstract data types. IBM research report RC 6487. Also In: R.T. Yeh (ed.) Current Trends in Programming Methodology, Vol. 4: Data Structuring, pp. 80–149 Englewoods Cliffs., NY: Prentice Hall 1978Google Scholar
  19. 19.
    Guttag, J.V., Horowitz, E., Musser, D.R.: Abstract data types and software validation. USC Res. Rep. ISI/RR-76-48, 1976Google Scholar
  20. 20.
    Higman, G., Neumann, B.H.: Groups as groupoids with one law. Publicationes Mathematicae 2, 215–221 (1951/52)MathSciNetzbMATHGoogle Scholar
  21. 21.
    Hoare, C.A.R.: Proof of correctness of data representations. Acta Inf. 1, 271–281 (1972)CrossRefGoogle Scholar
  22. 22.
    Lorenzen, P.: Ein vereinfachtes Axiomensystem für Gruppen. J. Reine Angew. Math. 182, 50 (1940)MathSciNetzbMATHGoogle Scholar
  23. 23.
    Manes, E.G.: Algebraic Theories. Graduate Texts in Mathematics 26. Berlin, Heidelberg, New York: Springer 1976Google Scholar
  24. 24.
    Orejas, F.: On the representation of data types. Proc. ICFPC, Peniscola, Spain. Lect. Notes Comput. Sci. Vol. 107. pp. 419–431. Berlin, Heidelberg, New York: Springer 1981Google Scholar
  25. 25.
    Orejas, F.: Characterizing composibility of abstract implementations. Colloquium on Foundations of Computation Theory, Borgholm (Sweden) 1983. Lect. Notes Comput. Sci., Vol. 158. pp. 335–346 Berlin, Heidelberg, New York: Springer 1983Google Scholar
  26. 26.
    Orejas, F.: On implementability and computability of abstract data types. In: J. Demetrovics et al. (eds.) Algebra, Combinatorics and Logic in Computer Science, Colloquia Mathematica, Soc. Bolyai, Vol. 42. Amsterdam: North-Holland (in press)Google Scholar
  27. 27.
    Padawitz, P., Wirsing, M.: Completeness of many-sorted logic revisited. EATCS Bulletin 24, 51–64 (1984)Google Scholar
  28. 28.
    Remy, J.-L., Veloso, P.A.S.: An economical method for comparing data type specifications. SIGPLAN Notices 16, 39–42 (1981)CrossRefGoogle Scholar
  29. 29.
    Sannella, D.T., Wirsing, M.: Implementation of parameterised specifications. Report CSR-103-82, Dept, of Computer Science, Univ. of Edinburgh; extended abstract in: Proc. 9th Intl. Colloq. on Automata, Languages and Programming, Aarhus, Denmark. Lect. Notes Comput. Sci., Vol. 140 pp. 473–488. Berlin, Heidelberg, New York: Springer 1982Google Scholar
  30. 30.
    Schütte, K.: Beweistheorie. Die Grundlagen der mathematischen Wissenschaften in Einzeldarstellungen, Bd. 103. Berlin, Heidelberg, New York: Springer 1960Google Scholar
  31. 31.
    Shoenfield, R.: Mathematical Logic. Reading MA: Addison-Wesley 1967zbMATHGoogle Scholar
  32. 32.
    Stone, M.H.: The representation theorem for Boolean algebra. Trans. Am. Math. Soc. 40, 37–111 (1936)Google Scholar
  33. 33.
    Wand, M.: Final algebra semantics and data type extensions. J. Comput. Syst. Sci. 19, 27–44 (1981)MathSciNetCrossRefGoogle Scholar
  34. 34.
    Ward, M.: Postulates for the inverse operation in a group. Trans. Amer. Soc. 32, 520–526 (1930)MathSciNetCrossRefGoogle Scholar
  35. 35.
    Wirsing, M., Broy, M.: Abstract data types as lattices of finitely generated models. In: P. Dembinski (ed.): 9th MFCS, Rydzyna, Poland. Lect. Notes Comput. Sci. Vol. 88. pp. 673–685. Berlin, Heidelberg, New York: Springer 1980Google Scholar
  36. 36.
    Wirsing, M., Pepper, P., Partsch, H., Dosch, W., Broy, M.: On hierarchies of abstract data types. Acta Inf. 20, 1–33 (1983)MathSciNetCrossRefGoogle Scholar
  37. 37.
    Bernstein, B.A.: Bull. Am. Math. Soc. 39, 783–787 (1933)CrossRefGoogle Scholar
  38. 38.
    Manna, Z.: Mathematical Theory of Computation. New York: McGraw-Hill 1974zbMATHGoogle Scholar

Copyright information

© Springer-Verlag 1988

Authors and Affiliations

  • F. L. Bauer
    • 1
  • M. Wirsing
    • 2
  1. 1.Institut für InformatikTechnische Universität MünchenMünchen 2Germany
  2. 2.Fakultät für Mathematik und InformatikUniversität PassauPassauGermany

Personalised recommendations