Skip to main content

Structured Formal Development with Quotient Types in Isabelle/HOL

  • Conference paper
Intelligent Computer Mathematics (CICM 2010)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 6167))

Included in the following conference series:

Abstract

General purpose theorem provers provide sophisticated proof methods, but lack some of the advanced structuring mechanisms found in specification languages. This paper builds on previous work extending the theorem prover Isabelle with such mechanisms. A way to build the quotient type over a given base type and an equivalence relation on it, and a generalised notion of folding over quotiented types is given as a formalised high-level step called a design tactic. The core of this paper are four axiomatic theories capturing the design tactic. The applicability is demonstrated by derivations of implementations for finite multisets and finite sets from lists in Isabelle.

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. Bird, R., de Moor, O.: Algebra of Programing. Prentice Hall, Englewood Cliffs (1997)

    Google Scholar 

  2. Bortin, M., Johnsen, E.B., Lüth, C.: Structured formal development in Isabelle. Nordic Journal of Computing 13, 2–21 (2006)

    MATH  MathSciNet  Google Scholar 

  3. Burstall, R.M., Goguen, J.A.: Putting theories together to make specifications. In: Proc. Fifth International Joint Conference on Artificial Intelligence IJCAI 1977, pp. 1045–1058 (1977)

    Google Scholar 

  4. Burstall, R.M., Goguen, J.A.: The semantics of CLEAR, a specification language. In: Bjorner, D. (ed.) Abstract Software Specifications. LNCS, vol. 86, pp. 292–332. Springer, Heidelberg (1980)

    Google Scholar 

  5. Chicli, L., Pottier, L., Simpson, C.: Mathematical quotients and quotient types in Coq. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646, pp. 95–107. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  6. Diaconescu, R., Futatsugi, K.: CafeOBJ Report. World Scientific, Singapore (1998)

    MATH  Google Scholar 

  7. Doornbos, H., Backhouse, R.C.: Induction and recursion on datatypes. In: Möller, B. (ed.) MPC 1995. LNCS, vol. 947, pp. 242–256. Springer, Heidelberg (1995)

    Google Scholar 

  8. Farmer, W.M., Guttman, J.D., Thayer, F.J.: Little theories. In: Kapur, D. (ed.) CADE 1992. LNCS, vol. 607, pp. 567–581. Springer, Heidelberg (1992)

    Google Scholar 

  9. Goguen, J.A.: A categorical manifesto. Tech. Rep. PRG-72, Oxford University Computing Laboratory, Programming Research Group, Oxford, England (1989)

    Google Scholar 

  10. Hofmann, M.: A simple model for quotient types. In: Dezani-Ciancaglini, M., Plotkin, G. (eds.) TLCA 1995. LNCS, vol. 902, pp. 216–234. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  11. Hofmann, M., Sannella, D.: On behavioural abstraction and behavioural satisfaction in higher-order logic. Theoretical Computer Science 167, 3–45 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  12. Homeier, P.V.: A design structure for higher order quotients. In: Hurd, J., Melham, T. (eds.) TPHOLs 2005. LNCS, vol. 3603, pp. 130–146. Springer, Heidelberg (2005)

    Google Scholar 

  13. Mossakowski, T., Autexier, S., Hutter, D.: Development graphs — proof management for structured specifications. Journal of Logic and Algebraic Programming 67(1-2), 114–145 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  14. Mosses, P.D. (ed.): CASL Reference Manual. LNCS, vol. 2960. Springer, Heidelberg (2004)

    MATH  Google Scholar 

  15. Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL — A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  16. Nogin, A.: Quotient types: A modular approach. In: Carreño, V.A., Muñoz, C.A., Tahar, S. (eds.) TPHOLs 2002. LNCS, vol. 2410, pp. 263–280. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  17. Paulson, L.C.: Defining functions on equivalence classes. ACM Trans. Comput. Log. 7(4), 658–675 (2006)

    MathSciNet  Google Scholar 

  18. Sannella, D., Burstall, R.: Structured theories in LCF. In: Protasi, M., Ausiello, G. (eds.) CAAP 1983. LNCS, vol. 159, pp. 377–391. Springer, Heidelberg (1983)

    Google Scholar 

  19. Slotosch, O.: Higher order quotients and their implementation in Isabelle/HOL. In: Gunter, E.L., Felty, A.P. (eds.) TPHOLs 1997. LNCS, vol. 1275, pp. 291–306. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  20. Smith, D.R., Lowry, M.R.: Algorithm theories and design tactics. Science of Computer Programming 14, 305–321 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  21. Srinivas, Y.V., Jullig, R.: Specware: Formal support for composing software. In: Möller, B. (ed.) MPC 1995. LNCS, vol. 947, Springer, Heidelberg (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bortin, M., Lüth, C. (2010). Structured Formal Development with Quotient Types in Isabelle/HOL. In: Autexier, S., et al. Intelligent Computer Mathematics. CICM 2010. Lecture Notes in Computer Science(), vol 6167. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14128-7_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14128-7_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14127-0

  • Online ISBN: 978-3-642-14128-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics