Using Theory Morphisms for Implementing Formal Methods Tools

  • Achim D. Brucker
  • Burkhart Wolff
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2646)


Tools for a specification language can be implemented directly (by building a special purpose theorem prover) or by a conservative embedding into a typed meta-logic, which allows their safe and logically consistent implementation and the reuse of existing theorem prover engines. For being useful, the conservative extension approach must provide derivations for several thousand “folklore” theorems.

In this paper, we present an approach for deriving the mass of these theorems mechanically from an existing library of the meta-logic. The approach presupposes a structured theory morphism mapping library datatypes and library functions to new functions of the specification language while uniformly modifying some semantic properties; for example, new functions may have a different treatment of undefinedness compared to old ones.


Formal Methods Formal Semantics Shallow Embeddings Theorem Proving OCL 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Winskel, G.: The Formal Semantics of Programming Languages. MIT Press (1993)Google Scholar
  2. [2]
    Nipkow, T.: Winskel is (almost) right: Towards a mechanized semantics textbook. Formal Aspects of Computing 10 (1998) 171–186zbMATHCrossRefGoogle Scholar
  3. [3]
    Spivey, J.M.: The Z Notation: A Reference Manual. 2nd edn. Prentice Hall International Series in Computer Science (1992)Google Scholar
  4. [4]
    Kolyang, Santen, T., Wolff, B.: A structure preserving encoding of Z in Isabelle/HOL. In von Wright, J., Grundy, J., Harrison, J., eds.: TPHOLs. LNCS 1125, Springer (1996)Google Scholar
  5. [5]
    Gordon, M.J.C., Melham, T.F.: Introduction to HOL. Cambridge Press (1993)Google Scholar
  6. [6]
    Nipkow, T., von Oheimb, D., Pusch, C.: μJava: Embedding a programming language in a theorem prover. In Bauer, F.L., Steinbrüggen, R., eds.: Foundations of Secure Computation. Volume 175 of NATO Science Series F: Computer and Systems Sciences., IOS Press (2000) 117–144Google Scholar
  7. [7]
  8. [8]
  9. [9]
  10. [10]
    Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL — A Proof Assistant for Higher-Order Logic. Volume 2283 of LNCS. Springer (2002)zbMATHGoogle Scholar
  11. [11]
  12. [12]
  13. [13]
  14. [14]
    Reetz, R.: Deep Embedding VHDL. In E.T. Schubert, P.J. Windley, J. Alves-Foss, eds.: 8th International Workshop on Higher Order Logic Theorem Proving and its Applications. Volume 971 of Lecture Notes in Computer Science., Springer (1995) 277–292Google Scholar
  15. [15]
    Ozols, M.A., Eastaughffe, K.A., Cant, A., Collignon, S.: DOVE: A tool for design modelling and verification in safety critical systems. In: 16th International System Safety Conference. (1998)Google Scholar
  16. [16]
    Brucker, A.D., Rittinger, F., Wolff, B.: HOL-Z 2.0: A proof environment for Z-specifications. Journal of Universal Computer Science 9 (2003)Google Scholar
  17. [17]
    Brucker, A.D., Wolff, B.: A proposal for a formal OCL semantics in Isabelle/HOL. In Muñoz, C., Tahar, S., Carreño, V., eds.: Theorem Proving in Higher Order Logics. Number 2410 in LNCS. Springer (2002) 99–114CrossRefGoogle Scholar
  18. [18]
    Brucker, A.D., Wolff, B.: HOL-OCL: Experiences, consequences and design choices. In Jezequel, J.M., Hussmann, H., Cook, S., eds.: UML 2002: Model Engineering, Concepts and Tools. Number 2460 in LNCS. Springer (2002)Google Scholar
  19. [19]
    OMG: Object Constraint Language Specification. [22] chapter 6Google Scholar
  20. [20]
    Warmer, J., Kleppe, A.: The Object Contraint Language: Precise Modelling with UML. Addison-Wesley (1999)Google Scholar
  21. [21]
    Warmer, J., Kleppe, A., Clark, T., Ivner, A., Högström, J., Gogolla, M., Richters, M., Hussmann, H., Zschaler, S., Johnston, S., Frankel, D.S., Bock, C.: Response to the UML 2.0 OCL RfP. Technical report (2001)Google Scholar
  22. [22]
    OMG: United Modeling Language Specification (Version 1.4). (2001)Google Scholar
  23. [23]
    Goguen, J.A., Burstall, R.M.: Institutions: abstract model theory for specification and programming. Journal of the ACM (JACM) 39 (1992) 95–146zbMATHCrossRefMathSciNetGoogle Scholar
  24. [24]
    Nipkow, T.: Order-sorted polymorphism in Isabelle. In Huet, G., Plotkin, G., eds.: Logical Environments. (1993) 164–188Google Scholar
  25. [25]
    Church, A.: A formulation of the simple theory of types. Journal of Symbolic Logic 5 (1940) 56–68zbMATHCrossRefMathSciNetGoogle Scholar
  26. [26]
    Andrews, P.B.: An Introduction to Mathematical Logic and Type Theory: To Truth Through Proof. Academic Press (1986)Google Scholar
  27. [27]
    Barendregt, H.: Lambda Calculi with Types. In: Handbook of Logic in Computer Science. Clarendon Press (1992) 117–309Google Scholar
  28. [28]
    Frank Pfenning, C. E.: Higher-order abstract syntax. In: PLDI 1988. (1988) 199–208Google Scholar
  29. [29]
    G. Huet, B. L.: Proving and applying program transformations expressed with second order patterns. (Acta Informatica)Google Scholar
  30. [30]
    Boulton, R., Gordon, A., Gordon, M., Harrison, J., Herbert, J., Tassel, J.V.: Experience with embedding hardware description languages in HOL. In Stavridou, V., Melham, T.F., Boute, R.T., eds.: Proceedings of the IFIP TC10/WG 10.2 International Conference on Theorem Provers in Circuit Design: Theory, Practice and Experience. Volume A-10 of IFIP Transactions., Nijmegen, The Netherlands, North-Holland/Elsevier (1992) 129–156Google Scholar
  31. [31]
    Wadler, P.: Comprehending monads. In: Proc. 1990 ACM Conference on Lisp and Functional Programming. (1990)Google Scholar
  32. [32]
    King, D.J., Wadler, P.: Combining monads. In: Glasgow functional programming workshop. (1992)Google Scholar
  33. [33]
    Altenkirch, T., Gaspes, V., Nordström, B., von Sydow, B.: A User’s Guide to ALF. Chalmers University of Technology, Sweden. (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Achim D. Brucker
    • 1
  • Burkhart Wolff
    • 1
  1. 1.Institut für InformatikAlbert-Ludwigs-Universität FreiburgFreiburgGermany

Personalised recommendations