Skip to main content

Turning Inductive into Equational Specifications

  • Conference paper
Theorem Proving in Higher Order Logics (TPHOLs 2009)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 5674))

Included in the following conference series:

Abstract

Inductively defined predicates are frequently used in formal specifications. Using the theorem prover Isabelle, we describe an approach to turn a class of systems of inductively defined predicates into a system of equations using data flow analysis; the translation is carried out inside the logic and resulting equations can be turned into functional program code in SML, OCaml or Haskell using the existing code generator of Isabelle. Thus we extend the scope of code generation in Isabelle from functional to functional-logic programs while leaving the trusted foundations of code generation itself intact.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Berghofer, S., Nipkow, T.: Executing higher order logic. In: Callaghan, P., Luo, Z., McKinna, J., Pollack, R. (eds.) TYPES 2000. LNCS, vol. 2277, p. 24. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  2. Delahaye, D., Dubois, C., Étienne, J.F.: Extracting purely functional contents from logical inductive types. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732, pp. 70–85. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  3. Haftmann, F., Nipkow, T.: A code generator framework for Isabelle/HOL. Tech. Rep. 364/07, Department of Computer Science, University of Kaiserslautern (2007)

    Google Scholar 

  4. Hanus, M.: A unified computation model for functional and logic programming. In: Proc. 24th ACM Symposium on Principles of Programming Languages (POPL 1997), pp. 80–93 (1997)

    Google Scholar 

  5. Henrio, L., Kammüller, F.: A mechanized model of the theory of objects. In: Bonsangue, M.M., Johnsen, E.B. (eds.) FMOODS 2007. LNCS, vol. 4468, pp. 190–205. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  6. Mellish, C.S.: The automatic generation of mode declarations for prolog programs. Tech. Rep. 163, Department of Artificial Intelligence (1981)

    Google Scholar 

  7. Nipkow, T., von Oheimb, D., Pusch, C.: μJava: Embedding a programming language in a theorem prover. In: Bauer, F., Steinbrüggen, R. (eds.) Foundations of Secure Computation. Proc. Int. Summer School Marktoberdorf 1999, pp. 117–144. IOS Press, Amsterdam (2000)

    Google Scholar 

  8. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  9. Slind, K.: Reasoning about terminating functional programs. Ph.D. thesis, Institut für Informatik, TU München (1999)

    Google Scholar 

  10. Somogyi, Z., Henderson, F.J., Conway, T.C.: Mercury: an efficient purely declarative logic programming language. In: Proceedings of the Australian Computer Science Conference, pp. 499–512 (1995)

    Google Scholar 

  11. Wasserrab, D., Nipkow, T., Snelting, G., Tip, F.: An operational semantics and type safety proof for multiple inheritance in C++. In: OOPSLA 2006: Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming languages, systems, and applications, pp. 345–362. ACM Press, New York (2006)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Berghofer, S., Bulwahn, L., Haftmann, F. (2009). Turning Inductive into Equational Specifications. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds) Theorem Proving in Higher Order Logics. TPHOLs 2009. Lecture Notes in Computer Science, vol 5674. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-03359-9_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-03359-9_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-03358-2

  • Online ISBN: 978-3-642-03359-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics