Skip to main content

The Optimal Fixed Point Combinator

  • Conference paper
Interactive Theorem Proving (ITP 2010)

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

Included in the following conference series:

Abstract

In this paper, we develop a general theory of fixed point combinators, in higher-order logic equipped with Hilbert’s epsilon operator. This combinator allows for a direct and effective formalization of corecursive values, recursive and corecursive functions, as well as functions mixing recursion and corecursion. It supports higher-order recursion, nested recursion, and offers a proper treatment of partial functions in the sense that domains need not be hardwired in the definition of functionals. Our work, which has been entirely implemented in Coq, unifies and generalizes existing results on contraction conditions and complete ordered families of equivalences, and relies on the theory of optimal fixed points for the treatment of partial functions. It provides a practical way to formalize circular definitions in higher-order logic.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. Balaa, A., Bertot, Y.: Fix-point equations for well-founded recursion in type theory. In: Aagaard, M., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 1–16. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  2. Barthe, G., Forest, J., Pichardie, D., Rusu, V.: Defining and reasoning about recursive functions: A practical tool for the Coq proof assistant. In: Hagiya, M., Wadler, P. (eds.) FLOPS 2006. LNCS, vol. 3945, pp. 114–129. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  3. Barthe, G., Frade, M.J., Giménez, E., Pinto, L., Uustalu, T.: Type-based termination of recursive definitions. Mathematical Structures in Computer Science 14(1), 97–141 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  4. Bertot, Y.: Filters on coinductive streams, an application to eratosthenes’ sieve. In: Urzyczyn, P. (ed.) TLCA 2005. LNCS, vol. 3461, pp. 102–115. Springer, Heidelberg (2005)

    Google Scholar 

  5. Bertot, Y., Komendantskaya, E.: Inductive and Coinductive Components of Corecursive Functions in Coq. In: Proceedings of CMCS’08, April 2008. ENTCS, vol. 203, pp. 25–47 (2008)

    Google Scholar 

  6. Bertot, Y., Komendantsky, V.: Fixed point semantics and partial recursion in Coq. In: Antoy, S., Albert, E. (eds.) PPDP, pp. 89–96. ACM, New York (2008)

    Chapter  Google Scholar 

  7. Bove, A., Capretta, V.: Nested general recursion and partiality in type theory. In: Boulton, R.J., Jackson, P.B. (eds.) TPHOLs 2001. LNCS, vol. 2152, pp. 121–135. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  8. Dubois, C., Donzeau-Gouge, V.: A step towards the mechanization of partial functions: domains as inductive predicates. In: CADE-15 Workshop on mechanization of partial functions (1998)

    Google Scholar 

  9. Di Gianantonio, P., Miculan, M.: A unifying approach to recursive and co-recursive definitions. In: Geuvers, H., Wiedijk, F. (eds.) TYPES 2002. LNCS, vol. 2646, pp. 148–161. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  10. Di Gianantonio, P., Miculan, M.: Unifying recursive and co-recursive definitions in sheaf categories. In: Walukiewicz, I. (ed.) FOSSACS 2004. LNCS, vol. 2987, pp. 136–150. Springer, Heidelberg (2004)

    Google Scholar 

  11. Harrison, J.: Inductive definitions: Automation and application. In: Schubert, E.T., Alves-Foss, J., Windley, P. (eds.) TPHOLs 1995. LNCS, vol. 971, pp. 200–213. Springer, Heidelberg (1995)

    Google Scholar 

  12. Krauss, A.: Partial and nested recursive function definitions in higher-order logic. Journal of Automated Reasoning (to appear, December 2009)

    Google Scholar 

  13. Krstić, S.: Inductive fixpoints in higher order logic (February 2004)

    Google Scholar 

  14. Krstić, S., Matthews, J.: Inductive invariants for nested recursion. In: Basin, D.A., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 253–269. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  15. Letouzey, P.: Programmation fonctionnelle certifiée: L’extraction de programmes dans l’assistant Coq (June 1, 2007)

    Google Scholar 

  16. Manna, Z., Shamir, A.: The theoretical aspects of the optimal FixedPoint. SIAM Journal on Computing 5(3), 414–426 (1976)

    Article  MATH  MathSciNet  Google Scholar 

  17. Matthews, J.: Recursive function definition over coinductive types. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 73–90. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  18. Nordström, B.: Terminating general recursion. BIT 28(3), 605–619 (1988)

    Article  MATH  MathSciNet  Google Scholar 

  19. Slind, K.: Reasoning about Terminating Functional Programs. PhD thesis, Institut für Informatik, Technische Universität München (1999)

    Google Scholar 

  20. Sozeau, M.: Subset coercions in coq. In: Altenkirch, T., McBride, C. (eds.) TYPES 2006. LNCS, vol. 4502, pp. 237–252. Springer, Heidelberg (2007)

    Chapter  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

Charguéraud, A. (2010). The Optimal Fixed Point Combinator. In: Kaufmann, M., Paulson, L.C. (eds) Interactive Theorem Proving. ITP 2010. Lecture Notes in Computer Science, vol 6172. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-14052-5_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-14052-5_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-14051-8

  • Online ISBN: 978-3-642-14052-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics