Formal Study of Plane Delaunay Triangulation

This article presents the formal proof of correctness for a plane Delaunay triangulation algorithm. It consists in repeating a sequence of edge flippings from an initial triangulation until the Delaunay property is achieved. To describe triangulations, we rely on a combinatorial hypermap specification framework we have been developing for years. We embed hypermaps in the plane by attaching coordinates to elements in a consistent way. We then describe what are legal and illegal Delaunay edges and a flipping operation which we show preserves hypermap, triangulation, and embedding invariants. To prove the termination of the algorithm, we use a generic approach expressing that any non-cyclic relation is well-founded when working on a finite set.

[1]  Jean-François Dufourd Design and formal proof of a new optimal image segmentation program with hypermaps , 2007, Pattern Recognit..

[2]  Mariette Yvinec,et al.  Triangulations in CGAL , 2002, Comput. Geom..

[3]  Douglas M. Priest,et al.  Algorithms for arbitrary precision floating point arithmetic , 1991, [1991] Proceedings 10th IEEE Symposium on Computer Arithmetic.

[4]  Georges Gonthier,et al.  Formal Proof—The Four- Color Theorem , 2008 .

[5]  Tobias Nipkow,et al.  The 5 Colour Theorem in Isabelle/Isar , 2002, TPHOLs.

[6]  Yves Bertot,et al.  Interactive Theorem Proving and Program Development: Coq'Art The Calculus of Inductive Constructions , 2010 .

[7]  Chee-Keng Yap,et al.  Special Issue on Robust Geometric Algorithms and their Implementations , 2006, Comput. Geom..

[8]  Yves Bertrand,et al.  Algebraic Specification of a 3D-Modeler Based on Hypermaps , 1994, CVGIP Graph. Model. Image Process..

[9]  Jean-François Dufourd,et al.  Functional specification and prototyping with oriented combinatorial maps , 2000, Comput. Geom..

[10]  Kurt Mehlhorn,et al.  Classroom Examples of Robustness Problems in Geometric Computations , 2004, ESA.

[11]  Enrico Tassi,et al.  A Modular Formalisation of Finite Group Theory , 2007, TPHOLs.

[12]  W. T. Tutte Graph Theory , 1984 .

[13]  Nicolas Magaud,et al.  Designing and proving correct a convex hull algorithm with hypermaps in Coq , 2012, Comput. Geom..

[14]  Frédéric Besson,et al.  Fast Reflexive Arithmetic Tactics the Linear Case and Beyond , 2006, TYPES.

[15]  David Pichardie,et al.  Formalizing Convex Hull Algorithms , 2001, TPHOLs.

[16]  Mark de Berg,et al.  Computational geometry: algorithms and applications , 1997 .

[17]  Pierre Castéran,et al.  Interactive Theorem Proving and Program Development , 2004, Texts in Theoretical Computer Science An EATCS Series.

[18]  Robert Cori,et al.  Un code pour les graphes planaires et ses applications , 1973 .

[19]  Tobias Nipkow,et al.  Flyspeck II: the basic linear programs , 2009, Annals of Mathematics and Artificial Intelligence.

[20]  Jacques D. Fleuriot,et al.  Mechanical Theorem Proving in Computational Geometry , 2004, Automated Deduction in Geometry.

[21]  Guillaume Melquiond,et al.  Formally certified floating-point filters for homogeneous geometric predicates , 2007, RAIRO Theor. Informatics Appl..

[22]  Jean-François Dufourd,et al.  Formal Specification and Theorem Proving Breakthroughs in Geometric Modeling , 1998, TPHOLs.

[23]  Christophe Dehlinger,et al.  Formalizing the trading theorem in Coq , 2004, Theor. Comput. Sci..

[24]  Jean-François Dufourd,et al.  An Intuitionistic Proof of a Discrete Form of the Jordan Curve Theorem Formalized in Coq with Combinatorial Hypermaps , 2009, Journal of Automated Reasoning.

[25]  Nicolas Magaud,et al.  A Proof of GMP Square Root , 2004, Journal of Automated Reasoning.

[26]  Vincent Lefèvre,et al.  MPFR: A multiple-precision binary floating-point library with correct rounding , 2007, TOMS.

[27]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[28]  Iddo Hanniel,et al.  The design and implementation of panar maps in CGAL , 2000, JEAL.

[29]  Leonidas J. Guibas,et al.  Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams , 1983, STOC.

[30]  Donald E. Knuth,et al.  Axioms and Hulls , 1992, Lecture Notes in Computer Science.

[31]  Leonidas J. Guibas,et al.  Primitives for the manipulation of general subdivisions and the computation of Voronoi diagrams , 1983, STOC.

[32]  Iddo Hanniel,et al.  The Design and Implementation of Planar Maps in CGAL , 1999, WAE.

[33]  Jean-François Dufourd,et al.  Polyhedra genus theorem and Euler formula: A hypermap-formalized intuitionistic proof , 2008, Theor. Comput. Sci..