Jean-François Dufourd
University of Strasbourg
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Jean-François Dufourd.
Computational Geometry: Theory and Applications | 2012
Christophe Brun; Jean-François Dufourd; Nicolas Magaud
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.
Journal of Automated Reasoning | 2009
Jean-François Dufourd
This paper presents a completely formalized proof of a discrete form of the Jordan Curve Theorem. It is based on a hypermap model of planar subdivisions, formal specifications and proofs assisted by the Coq system. Fundamental properties are proven by structural or noetherian induction: Genus Theorem, Euler Formula, constructive planarity criteria. A notion of ring of faces is inductively defined and a Jordan Curve Theorem is stated and proven for any planar hypermap.
interactive theorem proving | 2010
Jean-François Dufourd; Yves Bertot
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.
Theoretical Computer Science | 2008
Jean-François Dufourd
This article presents formalized intuitionistic proofs for the polyhedra genus theorem, the Euler formula and a sufficient condition of planarity. They are based on a hypermap model for polyhedra and on formal specifications in the Calculus of Inductive Constructions. First, a type of free maps is inductively defined from three atomic constructors. Next, a hierarchy of types defined by invariants, with operations constrained by preconditions, is built on the free maps: hypermaps, orientated combinatorial maps and a central notion of quasi-hypermaps. Besides, the proofs of their properties are established until the genus theorem and the Euler formula, mainly using a simple induction principle based on the free map term algebra. Finally, a constructive sufficient condition for polyhedra to be planar is set and proved. The whole process is assisted by the interactive Coq proof system.
solid and physical modeling | 2009
Thomas Jund; David Cazier; Jean-François Dufourd
Collision detection in geometrically complex scenes is crucial in physical simulations and real time applications. Works based on spatial hierarchical structures have been proposed for years. If correct performances are obtained for static scenes, these approaches show some limitations when the complexity of the scene increases and particularly in case of deformable meshes. The main drawback is the time needed to update the spatial structures - often trees - when global deformations or topological changes occur in the scene. We propose a method to detect collisions in complex and deformable environments with constant time amortized complexity for small displacements.n Our method is based on a convex decomposition of the environment coupled with a forecast mechanism exploiting temporal coherence. We use the topological adjacencies and incidence relationships to reduce the number of geometrical tests. Deformations of the scenes are handled with no cost as far as no topological changes occur. Topological transformations, like cuts and sewings, are handled locally, exploiting the spatial coherence and do not imply global updates. We illustrate our method in two experimental frameworks: a particles flow simulation and a meshless animation system both lying in a deformable mesh. We compare our work with classical optimization based on bounding volumes hierarchies to validate its efficiency on large scenes.
symposium on theoretical aspects of computer science | 2008
Jean-François Dufourd
This paper presents a formalized proof of a discrete form of the n Jordan Curve Theorem. It is based on a hypermap model of planar n subdivisions, formal specifications and proofs assisted by the Coq n system. Fundamental properties are proven by structural or n noetherian induction: Genus Theorem, Eulers Formula, constructive n planarity criteria. A notion of ring of faces is inductively n defined and a Jordan Curve Theorem is stated and proven for any n planar hypermap.
Theoretical Computer Science | 2015
Jean-François Dufourd
Abstract In computer science, functional orbits – i.e., tracks left by the iterations of a function – in a finite domain naturally appear at a high or a low level. This paper introduces a Coq logical orbit framework, the purpose of which is to help rigorously developing software systems with some complex data structures from specification to implementation. The result is a Coq library of orbit concepts formalized as definitions, lemmas and theorems. Most of them are inspired by our previous work in geometric modelling, where combinatorial hypermaps were used to describe surface subdivisions appearing in computational geometry problems, e.g., building convex hulls or Delaunay diagrams. Now, this domain remains a reference for us, but our results are drastically extended and usable in other computer science areas. The proof of Floyds cycle-detection algorithm, known as “the tortoise and the hare”, confirms that point. The library contains operations to observe, traverse and update orbits – addition, deletion, mutation, transposition – with proofs of their behavior. It focuses on the important case where the involved function is a partial injection. In this case, it defines a connectivity relationship and evaluates the variation of the number of connected components during updates.
interactive theorem proving | 2014
Jean-François Dufourd
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.
International Workshop on Automated Deduction in Geometry | 2012
Christophe Brun; Jean-François Dufourd; Nicolas Magaud
This article deals with a method to build programs in computational geometry from their specifications. It focuses on a case study namely computing incrementally the convex hull of a set of points in the plane using hypermaps. Our program to compute convex hulls is specified and proved correct using the Coq proof assistant. It performs a recursive traversal of the existing convex hull to compute the new hull each time a new point is inserted. This requires using well-founded recursion in Coq. A concrete implementation in Ocaml is then automatically extracted and an efficient C++ program is derived (by hand) from the specification.
international conference on formal engineering methods | 2014
Jean-François Dufourd
We present a specification, a derivation and total correctness proofs of operations for bi-functional graphs implemented with pointers, including the Schorr-Waite algorithm. This one marks such a graph with an economical depth-first strategy. Our approach is purely algebraic and functional, from a simple graph specification to the simulation of a tail-recursive imperative program, then to a true C pointer program by elementary classical transformations. We stay in the unique higher-order formalism of the Calculus of Inductive Constructions for specifications, programs and proofs. All the development is supported by Coq.