0% found this document useful (0 votes)
22 views

Alfamer

The document discusses formalizing combinatorial maps in geometric modeling using the Calculus of Inductive Constructions. It introduces boundary representation and combinatorial maps as a model for representing polyhedra. It then discusses axiomatizing combinatorial maps in Coq by specifying ordered sorts and proving properties inductively to validate the specification and extract a prototype.

Uploaded by

Papa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

Alfamer

The document discusses formalizing combinatorial maps in geometric modeling using the Calculus of Inductive Constructions. It introduces boundary representation and combinatorial maps as a model for representing polyhedra. It then discusses axiomatizing combinatorial maps in Coq by specifying ordered sorts and proving properties inductively to validate the specification and extract a prototype.

Uploaded by

Papa
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Formal Program Development in

Geometric Modeling*

Frangois Puitg and Jean-Prangois Dufourd

Laboratoire des Sciences de I'lmage, de I'lnformatique et de la Teledetection


(LSIIT, UPRES-A 7005)
Pole API, boulevard S. Brant F-67400 lUkirch Cedex, France
email: { p u i t g , duf o u r d } @ d p t - i n f o . u - s t r a s b g . f r
www: h t t p : / / d p t - i n f o . u - s t r a s b g . f r / l s i i t

A b s t r a c t . An innovative attempt to integrate formal program deve-


lopment in geometric modeling is reported through the axiomatization
of model of the combinatorial maps in the Calculus of Inductive Cons-
tructions. A hierarchical specification of ordered sorts is validated in the
Coq prover by inductive proofs, and the automatic extraction of a pro-
totype. Classical difficulties - like cohabitation of hierarchized objects,
smooth handling of subtyping, and completion of partial relations - are
addressed both from theorem proving and prototyping viewpoint.

1 Introduction

The computer graphics research team in Strasbourg aims at to get a general


framework allowing construction and handling of sound geometric objects on
computers, via formal methods. Algebraic specifications [1] have been inten-
sively used, especially to prototype from scratch Topofil - an interactive 3D
modeler [2] - and to formalize the foundations of geometric modehng [3], thanks
to the 0 B J 3 language [4]. But impediments have arisen in the use of these alge-
braic methods, in particular with regard to ordered sorts and preconditions, and
poor proving support. We thus a t t e m p t to extend these works to the dialectics
of constructive proofs and to prototyping, making lengthful use of induction [5]
and program extraction. This is a real innovative approach in geometric model-
ing. Though many models have been proposed, few have been really investigated
in depth - except in the survey [6], but in the usual unformal abstract way of
mathematicians - or validated and tested within the same logical framework.
At present, we want to axiomatize the particular model of the combinatorial
maps [7], set up a necessary and sufficient condition of planarity to investigate
Euler's formula and the theorem of the genus, work out a discrete J o r d a n ' s
theorem [8], and extract a prototype. The theorem of the genus was proved by
Jacques, but from an unsafe generalization of a Serret's lemma [9]. This was
corrected by Cori [10], despite the fact t h a t several arguments are intuitive and

* This work is supported by the GDR-PRC of Programmation, and the GDR-PRC of


Algorithmique, Modles et Infographie (MENRT, CNRS, Prance).
63

should be clarified. One can find another proof by Tutte [8], but from such a
general point of view that it seems impossible to get a clear idea of the variation of
the genus. None of these works deals with the integration of validation-through-
testing into their approach. As for Jordan's theorem, it is one of the oldest
archetypal issues of geometric modeling. Exposing it in a new up-to-date fashion
with adequate theories, solving it on a prover and testing it via a prototype will
result in a great insight and more generally will shed light on other domain of
imagery or on software development [2].
This paper thus reports an axiomatization of combinatorial planar maps in
boundary representation - presented in Sect. 2 - within the Calculus of Inductive
Constructions, exposed in Sect. 3. Starting with free maps, we proceed with
quasi-maps, then with combinatorial maps in the hierarchical specification of
Sect. 4. Section 5 focuses on how program extraction can be smoothly integrated
in the axiomatics to perform prototyping. The combinatorial characteristics are
tackled in Section 6. Section 7 concludes and opens up prospects.

2 Boundary Representation
The aim of geometric modeling is to describe geometric objects and operations.
Historically, the Boundary Representation (B-rep) was investigated in order to
represent solids that can be manufactured on a machine tool, i.e. solids whose
boundary makes an orientable closed surface. The topology of the boundary is
defined by a subdivision into cells - vertices, edges, faces - and incidence relations
between them. An embedding model then associates for example vertices with
points, edges with curves and faces with surfaces.
Among the numerous models formalizing the B-rep, we have chosen the com-
binatorial maps. They represent the topology of polyhedra homeomorphic to the
torus with g holes. If ^ = 0, we deal with planar maps. Usually, a projection on
the plane is used for drawings (except Fig. 2), with intersections if ^r 7^ 0.

2.1 Combinatorial Maps

In the following, all the elements of the definitions belong to a finite set V.
Recall a relation 7?. is a collection of ordered pairs {x,y) such that x is
associated with y by 7^, denoted [TZ x y). Then, y is a. successor of x w.r.t TZ,
or 7^-successor oi x, and x a predecessor, or 7?.-predecessor, of y. TZ is total if for
all X there exists y such that {TZ x y). Otherwise, it is partial. We say that TZ is
involutive if for all x, y, z such that {JZ x y) and {TZ y z), z = x, injective if for all
X, x', y, such that (7^ x y) and {TZ x' y), x' = x, surjective if for all y, there exists
x such that {TZ x y). It is a (partial) function if for all x, y, y', such that (7^ x y)
and {TZ x y'), y' = y. An application is a total function. An involution (resp.
injection, surjection) is an involutive (resp. injective, surjective) application. An
injective and surjective bijection from 2) to 2) is called a permutation.
A combinatorial map is defined as a triple (I',Q!o,ai) where X> is a finite
set, ao an involution and a i a permutation, in V [7]. An element of I? is called

You might also like