Skip to main content

Hypermap Specification and Certified Linked Implementation Using Orbits

  • Conference paper
Interactive Theorem Proving (ITP 2014)

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

Included in the following conference series:

Abstract

We propose a revised constructive specification and a certified hierarchized linked implementation of combinatorial hypermaps using a general notion of orbit. Combinatorial hypermaps help to prove theorems in algebraic topology and to develop algorithms in computational geometry. Orbits unify the presentation at conceptual and concrete levels and reduce the proof effort. All the development is formalized and verified in the Coq proof assistant. The implementation is easily proved observationally equivalent to the specification and translated in C language. Our method is transferable to a great class of algebraic specifications implemented into complex data structures with hierarchized linear, circular or symmetric linked lists, and pointer arrays.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

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.

Similar content being viewed by others

References

  1. Bertot, Y., Casteran, P.: Interactive Theorem Proving and Program Development - Coq’Art: The Calculus of Inductive Constructions. Springer (2004)

    Google Scholar 

  2. Bertrand, Y., Dufourd, J.-F., Françon, J., Lienhardt, P.: Algebraic Specification and Development in Geometric Modeling. In: Gaudel, M.-C., Jouannaud, J.-P. (eds.) CAAP 1993, FASE 1993, and TAPSOFT 1993. LNCS, vol. 668, pp. 75–89. Springer, Heidelberg (1993)

    Google Scholar 

  3. Bornat, R.: Proving Pointer Programs in Hoare Logic. In: Backhouse, R., Oliveira, J.N. (eds.) MPC 2000. LNCS, vol. 1837, pp. 102–126. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  4. Burstall, R.M.: Some Techniques for Proving Correctness of Programs which Alter Data Structures. Machine Intelligence 7, 23–50 (1972)

    MATH  Google Scholar 

  5. CEA-LIST and INRIA-Saclay-Proval Team. Frama-C Project (2013), http://frama-c.com/about.html

  6. Chlipala, A.: Mostly-Automated Verification of Low-level Programs in Computational Separation Logic. In: Int. ACM Conf. PLDI 2011, pp. 234–245 (2011)

    Google Scholar 

  7. Conway, C.L., Barrett, C.: Verifying Low-Level Implementations of High-Level Datatypes. In: Touili, T., Cook, B., Jackson, P. (eds.) CAV 2010. LNCS, vol. 6174, pp. 306–320. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  8. Cori, R.: Un code pour les graphes planaires et ses applications. Soc. Math. de France, Astérisque 27 (1970)

    Google Scholar 

  9. Dufourd, J.-F.: Polyhedra genus theorem and Euler formula: A hypermap-formalized intuitionistic proof. Theor. Comp. Science 403(2-3), 133–159 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  10. Dufourd, J.-F.: An Intuitionistic Proof of a Discrete Form of the Jordan Curve Theorem Formalized in Coq with Combinatorial Hypermaps. J. of Automated Reasoning 43(1), 19–51 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  11. Dufourd, J.-F.: Hmap Specification and Implementation - On-line Coq Development (2013), http://dpt-info.u-strasbg.fr/~jfd/Hmap.tar.gz

  12. Dufourd, J.-F.: Formal Study of Functional Orbits in Finite Domains. Submitted to TCS, 40 pages (2013)

    Google Scholar 

  13. Dufourd, J.-F.: Dérivation de l’Algorithme de Schorr-Waite par une Méthode Algébrique. In: JFLA 2012, INRIA, hal-00665909, Carnac, 15 p. (February 2012)

    Google Scholar 

  14. Dufourd, J.-F., Bertot, Y.: Formal Study of Plane Delaunay Triangulation. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 211–226. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  15. Chlipala, A., et al.: Effective Interactive Proofs for Higher-Order Imperative programs. In: ICFP 2009, pp. 79–90 (2009)

    Google Scholar 

  16. Enea, C., Saveluc, V., Sighireanu, M.: Compositional Invariant Checking for Overlaid and Nested Linked Lists. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 129–148. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  17. Berdine, J., Calcagno, C., Cook, B., Distefano, D., O’Hearn, P.W., Wies, T., Yang, H.: Shape Analysis for Composite Data Structures. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 178–192. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  18. Marti, N., Affeldt, R.: Formal Verification of the Heap Manager of an Operating System Using Separation Logic. In: Liu, Z., Kleinberg, R.D. (eds.) ICFEM 2006. LNCS, vol. 4260, pp. 400–419. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  19. Filliâtre, J.-C.: Verifying Two Lines of C with Why3: An exercise in program verification. In: Joshi, R., Müller, P., Podelski, A. (eds.) VSTTE 2012. LNCS, vol. 7152, pp. 83–97. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  20. Gonthier, G.: Formal Proof - the Four Color Theorem. Notices of the AMS 55(11), 1382–1393 (2008)

    MATH  MathSciNet  Google Scholar 

  21. Leroy, X., Blazy, S.: Formal Verification of a C-like Memory Model and Its Uses for Verifying Program Transformations. J. of Autom. Reas. 41(1), 1–31 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  22. Malecha, G., Morrisett, G.: Mechanized Verification with sharing. In: Cavalcanti, A., Deharbe, D., Gaudel, M.-C., Woodcock, J. (eds.) ICTAC 2010. LNCS, vol. 6255, pp. 245–259. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  23. Marché, C.: Towards Modular Algebraic Specifications for Pointer Programs: A Case Study. In: Comon-Lundh, H., Kirchner, C., Kirchner, H. (eds.) Jouannaud Festschrift. LNCS, vol. 4600, pp. 235–258. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  24. Mehta, F., Nipkow, T.: Proving pointer programs in higher-order logic. Information and Computation 199(1-2), 200–227 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  25. O’Hearn, P.W., Yang, H., Reynolds, J.C.: Separation and information hiding. ACM TOPLAS 31(3) (2009)

    Google Scholar 

  26. Reynolds, J.C.: Separation Logic: A Logic for Shared Mutable Data Structures. In: LICS 2002, pp. 55–74 (2002)

    Google Scholar 

  27. CGAL Team. Computational Geometry Algorithms Library Project, Chapter 27: Combinatorial Maps (2013), http://www.cgal.org

  28. Wirsing, M.: Algebraic Specification. In: Handbook of TCS, vol. B. Elsevier/MIT Press (1990)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Dufourd, JF. (2014). Hypermap Specification and Certified Linked Implementation Using Orbits. In: Klein, G., Gamboa, R. (eds) Interactive Theorem Proving. ITP 2014. Lecture Notes in Computer Science, vol 8558. Springer, Cham. https://doi.org/10.1007/978-3-319-08970-6_16

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-08970-6_16

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-08969-0

  • Online ISBN: 978-3-319-08970-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics