Filters








22 Hits in 0.55 sec

Functional specification and prototyping with oriented combinatorial maps

Jean-François Dufourd, François Puitg
2000 Computational geometry  
A functional specification and a prototype based on the notion of oriented combinatorial map are proposed in order to approach computational geometric problems in the plane. They allow to focus on logical, topological and geometrical aspects of algorithms, before taking account efficiency in a detailed design based on suitable data structures and traversals. All the descriptions are written into an ML dialect, namely the Ocaml language. They intensively use the notion of quasi-map, an extended
more » ... ersion of combinatorial map well adapted to the definition of algorithms by structural induction and to the proof of their total correctness. To illustrate the power of our propositions, classical operations-segmentation of a planar image, point location in a planar subdivision and refinement of a map-are revisited, easily specified and debugged on the quasi-map structure. Finally, an interactive modeler of 3D subdivisions developed from such specifications is overviewed. Generally speaking, formal specification methods of data structures and programs [47] have been sometimes considered as a useless luxus of mathematicians conveying esoteric notions and making longer the process of program construction. However, they present major advantages. First, they help to discover and express mathematical models. Second, their intrinsic logical qualities, typically consistency and completeness, can be checked, and sometimes proved. Third, formal specifications can be logically prototyped, using rewriting and functional programming, to eliminate conceptual errors. Fourth, they are unavoidable to lead precise proofs of model properties. Finally, they are a sound abstract reference for subsequent software development and maintenance phases. They have been used in computer graphics for defining languages [20, 21, 48] , abstract geometric data structures [37, 51, 54] or 2D and 3D models [2, 24, 26] . But the improvement in their use is rather slow, compared with the fast development of more pragmatic practices, such as object oriented techniques. For instance, in solid modeling, where sophisticated topological models have been proposed for a long time [12, 19, 39, 44, 45, 49, 58, 59, 63] , there are only a few formal specification attempts. Conversely, poor means of description, such as flowcharts, data diagrams or pseudo-codes are still used. Similarly, it is rather paradoxical that a strongly mathematized domain such as computational geometry does not use formal methods. We claim that works at large scale, for instance the building of generic libraries like CGAL [34], should greatly benefit from the advantages of well founded formal specifications. Formal specification rank among two main classes. They are model-based, mainly on the set theory, like VDM, Z or B [1,10,42,60], or axiomatic, like the algebraic specifications [4,32] we have very much experimented. But, to be easily understood we adopt in this paper a pragmatic and comprehensive approach, namely the direct use of functional specification techniques [40] , instead of the algebraic specifications of our previous presentations, which are more difficult to explain. Moreover, we focus on problems of basic computational geometry, in fact rather computational topology in the meaning of [18, 50] , occurring in solid modeling. Thus, our specifications are written in a functional language, Ocaml, which, besides a clear logical expression often based on induction templates, allows modularity, general parameterization, polymorphism, and a relatively efficient execution [43] . It also conveys object-oriented and imperative features, which are not used in this paper. Even if it can be applied to any algebraically sound discrete topological model, this approach is more tractable with homogeneous models [46], based on a single notion, for instance that of quadedge [39], facet-edge [19], cell-tuple [12], or dart [44]. These models are convenient in computational topology, because they are precise, can easily support integrity constraints, and can be generalized at any dimension. The work related here makes lengthful use of the concepts of dart, oriented combinatorial map [31,41] and its generalizations [16,44,45]. On many occasions, algebraic specifications of maps [22,26], d-dimensional generalized maps [23,25] and hypermaps [24] have been presented for topology based models. But in order to better demonstrate the use of formal specifications in this framework, this presentation focuses above all on the simple notion of oriented map, for which a revised axiomatics based on the new notion of quasi-map is given. Quasi-maps are defined by more atomic operations than in our previous proposals, thanks to the use of injections instead of permutations. After a little training, one find them to be simple and well adapted to incremental buildings. Moreover, proving properties of subdivisions is easier. Note that all the basic conceptual material about maps will be recalled in the paper. These specifications extend to any dimension. Furthermore, even if combinatorial maps and extensions only describe the topology of objects, it is useful to introduce embedding attributes in the same specification framework. Quasi-map specifications are a powerful basis to inductively specify high-level Definition 3. A partial injection α : D → D is involutive if ααz = z for each z in D such that αz and ααz are defined. An involution in D is an involutive permutation in D. Proposition 1. Let α be a partial injection in D. Each connected component of the directed graph (D, α) is an elementary simple (i.e., not trespassing twice by the same arc or vertex) path, closed (i.e., a circuit) or open ( possibly without arc and in this case reduced to one vertex by convention). Example. In Fig. 1, (D, α) has 4 connected components: two circuits, (7, 3, 8) and (6) , and two open paths, (1, 5, 2, 4) and (9) which is reduced to a single vertex. Definition 4. Let α be a partial injection in D. The inverse α −1 of α is a partial injection defined for each z in α(D) by α −1 z = predecessor of z. Example. The inverse of α in Fig. 1 is α −1 = (5 1)(2 5)(4 2)(7 8)(8 3)(3 7)(6 6) in Fig. 2 . Definition 5. The closure of a partial injection α in D is a permutation α ∼ in D defined for each z in D by: α ∼ z = if αz is defined then αz else y, where y is the unique dart with no predecessor such that α n y = z for some integer n 0. Example. The closure of α in Fig. 1 is α ∼ = (1 5)(5 2)(2 4)(4 1)(7 3)(3 8)(8 7)(6 6)(9 9) in Fig. 3 . Note that α ∼ 9 = 9, the unique dart with no predecessor such that α 0 9 = 9. Thus, if αz is not defined, α ∼ z is the origin of the path of maximum length (connected component) which contains z in (D, α). The following proposition is easily obtained. Definition 6. Let α be a partial injection in D. The completion of α is a total function α : D → D ∪ {@} defined for each z in D by: α z = if αz is defined then αz else @. Example. The completion of α in Fig. 1 is α = (1 5)(5 2)(2 4)(4 @)(7 3)(3 8)(8 7)(6 6)(9 @), whose graph is given in Fig. 4 . Note that partial injections are always completed in the following specifications, i.e., α is denoted α. Combinatorial quasi-maps, maps and solid modeling The new notion of quasi-map proceeds from the one of map [31, 41, 62] , the constraints of which it somewhat alleviates, thus making specification easier. Definition 7. A combinatorial quasi-map is a 3-tuple Q = (D, α 0 , α 1 ), where D is a finite set, the elements of which are called darts, α 0 an involutive partial injection in D, and α 1 a partial injection in D. Definition 8. Let k be 0 or 1. When defined, α k z and α −1 k z are respectively the k-successor and k-predecessor of z. Definition 9. Dart z is k-sewn if α k z or α −1 k z is defined, otherwise it is k-free. A dart is free when it is 0-free and 1-free, otherwise it is sewn.
doi:10.1016/s0925-7721(00)00004-3 fatcat:uowvzhkovzeczi2zegs756skgq

Formalizing mathematics in higher-order logic: A case study in geometric modelling

François Puitg, Jean-François Dufourd
2000 Theoretical Computer Science  
An innovative attempt to develop formal techniques of speciÿcation, proof, and program extraction in geometric modelling is reported through the axiomatization of the mathematical model of the combinatorial maps in the calculus of inductive constructions (CIC), a variety of type theory well suited for mechanizing mathematics in higher-order logic. A hierarchical speciÿcation of ordered sorts is presented and validated by inductive proofs of consistency and completeness in the Coq system, a
more » ... r built on CIC. Automatic extraction of functional algorithms from constructive proofs is investigated through the development of a prototype. Classical di culties in formal speciÿcation and theorem proving -like cohabitation of objects with their generalization in the same hierarchy, smooth handling of subtyping, completion of partial relations or objects, observationality vs. constructivism, and symmetry of relations -are addressed, not only at the formal speciÿcation and theorem proving level but also from the prototyping viewpoint. Geometrical modelling issues are thus solved in a new and unquestionable fashion, giving a great insight on the domain and a deep understanding of the model. A methodology of formal program development that could apply to other areas of computer science is then proposed.
doi:10.1016/s0304-3975(98)00228-x fatcat:2u5nya5zmrczlk3xuizah6stpi

Page 555 of Mathematical Reviews Vol. , Issue 2003A [page]

2003 Mathematical Reviews  
Fleuriot, Non- standard geometric proofs (246-267); Ricardo Caferra, Nicolas Peltier and Francois Puitg, Emphasizing human techniques in au- tomated geometry theorem proving: a practical realization (268  ...  305); Christophe Dehlinger, Jean-Francois Dufourd and Pascal Schreck, Higher-order intuitionistic formalization and proofs in Hilbert’s elementary geometry (306-323).  ... 

Page 8134 of Mathematical Reviews Vol. , Issue 2000k [page]

2000 Mathematical Reviews  
{For the entire collection see MR 2000i:68004. } 2000k:68140 68T15 Puitg, Francois; Dufourd, Jean-Francois Formalizing mathematics in higher-order logic: a case study in geometric modelling.  ... 

Page 1281 of Mathematical Reviews Vol. , Issue 2001B [page]

2001 Mathematical Reviews  
{For the entire collection see MR 2000m:68015. } 2001b:68142 68U05 05-04 52B55 Dufourd, Jean-Francois; Puitg, Francois Functional specification and prototyping with oriented combinatorial maps.  ... 

Page 7883 of Mathematical Reviews Vol. , Issue 99k [page]

1999 Mathematical Reviews  
Puitg and Jean-Frangois Dufourd, Formal specification and theorem proving breakthroughs in geometric modeling (401-422); Rimvy- das RukSenas and Joakim von Wright, A tool for data refinement (423-441)  ...  assertions for a register allo- cator in a high-level synthesis system (367-386); David Nowak, Jean-René Beauvais and Jean-Pierre Talpin, Co-inductive axiom- atization of a synchronous language (387-399); Francois  ... 

Page 145 of Mathematical Reviews Vol. , Issue Subject Index [page]

Mathematical Reviews  
(English summary) 2001b:68142 Puitg, Francois see Dufourd, Jean-Francois, 2001b:68142 Ruskey, Frank (with Sawada, Joe) An efficient algorithm for generating necklaces with fixed density.  ...  ., 2001k:05002 Items with secondary classifications in 05-04 Dufourd, Jean-Francois (with Puitg, Frangois) Functional specification and prototyping with oriented combinatorial maps.  ... 

Page 1380 of Mathematical Reviews Vol. , Issue Subject Index [page]

Mathematical Reviews  
., (20014d:68226) Dufourd, Jean-Francois (with Puitg, Frangois) Functional specification and prototyping with oriented combinatorial maps.  ...  , Francois see Dufourd, Jean-Francois, 2001b:68142 Qu, Ji Lin Plane-sweep algorithm for determining the colliding parts of simple polygons (Chinese.  ... 

Page 67 of Mathematical Reviews Vol. 31, Issue Index [page]

Mathematical Reviews  
(English summary) 99j:03008 Dufourd, Jean-Frangois see Puitg, Francois, (99k:68014) Egly, Uwe (with Tompits, Hans) On proof complexity of circumscription.  ...  (English summary) 99b:68165 Przymusinski, Teodor C. see Alferes, José Julio; et al., 99d:68039 Pudlak, Pavel The lengths of proofs. 99i:03073 Puitg, Francois (with Dufourd, Jean-Frangois) Formal specification  ... 

Page 1894 of Mathematical Reviews Vol. 32, Issue Index [page]

Mathematical Reviews  
(English summary) Dufourd, Jean-Francois see Puitg, Frangois, 2000k:68140 Esteban, Juan Luis (with Toran, Jacobo) Space bounds for resolution.  ...  ., (2000k:68002) Bry, Francois (with Torge, Sunna) A deduction method complete for refutation and finite satisfiability.  ... 

Page 1649 of Mathematical Reviews Vol. 31, Issue Index [page]

Mathematical Reviews  
(English summary) (see 99h:68008) Dubois, Michel see Pong, Fong, 99j:68082 Dufourd, Jean-Francois see Puitg, Francois, (99k:68014) Edalat, Abbas see Desharnais, Josée; et al., (99h:68008) Ehrig, Hartmut  ...  99f:68132 Gong, Zhenghu see Luo, Tiegeng; et al., 99m:68123 Goubault, Eric see Fajstrup, Lisbeth; et al., (99k:68006) Grieskamp, Wolfgang see Biissow, Robert, (99b:68001) Groote, Jan Friso (with Monin, Francois  ... 

Page 1585 of Mathematical Reviews Vol. , Issue Author Index [page]

Mathematical Reviews  
Suhayl 1 (2000), 71-99. 01A30 Puig Adam, Pedro see Fernandez Biarge, Julio; Hernandez Gomez, Joaquin and Peralta, Javier Puitg, Francois (with Dufourd, Jean-Frangois) Functional specification and prototyping  ... 

Page 1412 of Mathematical Reviews Vol. 31, Issue Index [page]

Mathematical Reviews  
Gylys) 99c:03098 03F50 (03B20, 03F07, 18G99) Puitg, Francois (with Dufourd, Jean-Frangois) Formal specification and theorem proving breakthroughs in geometric modeling.  ... 

Page 475 of Mathematical Reviews Vol. , Issue Author Index [page]

Mathematical Reviews  
(English summary) Artificial Intelligence 124 (2000), no. 1, 139-159. 68U07 (65D18) — (with Puitg, Frangois). Functional specification and prototyping with oriented combinatorial maps.  ...  Dayton) 2001f:19001 19A49 (18G30, 18G55, 55Q55) Dufour, Francois (with Costa, O. L. V.) Invariant probability measures for a class of Feller Markov chains. (English summary) Statist. Probab.  ... 

Formalizing generalized maps in Coq

Christophe Dehlinger, Jean-François Dufourd
2004 Theoretical Computer Science  
They have already been used by Dufourd and Puitg in [17] for their two-level speciÿcation of combinatory maps.  ... 
doi:10.1016/j.tcs.2004.05.003 fatcat:2z4jf7jvufawrlfirs7chnqofu
« Previous Showing results 1 — 15 out of 22 results