Designing and proving correct a convex hull algorithm with hypermaps in Coq

  • Authors:
  • Christophe Brun;Jean-François Dufourd;Nicolas Magaud

  • Affiliations:
  • Université de Strasbourg, Laboratoire des Sciences de lImage, de lInformatique et de la Télédétection (LSIIT, UMR 7005 CNRS-UDS), Pôle API, Boulevard Sébastien Brant, ...;Université de Strasbourg, Laboratoire des Sciences de lImage, de lInformatique et de la Télédétection (LSIIT, UMR 7005 CNRS-UDS), Pôle API, Boulevard Sébastien Brant, ...;Université de Strasbourg, Laboratoire des Sciences de lImage, de lInformatique et de la Télédétection (LSIIT, UMR 7005 CNRS-UDS), Pôle API, Boulevard Sébastien Brant, ...

  • Venue:
  • Computational Geometry: Theory and Applications
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

This article presents the formal design of a functional algorithm which computes the convex hull of a finite set of points incrementally. This algorithm, specified in Coq, is then automatically extracted into an OCaml program which can be plugged into an interface for data input (point selection) and graphical visualization of the output. A formal proof of total correctness, relying on structural induction, is also carried out. This requires to study many topologic and geometric properties. We use a combinatorial structure, namely hypermaps, to model planar subdivisions of the plane. Formal specifications and proofs are carried out in the Calculus of Inductive Constructions and its implementation: the Coq system.