distinct integers or the set sort 2m <strong>of</strong> 2m-tuples <strong>of</strong> the form(x 1 , . . . , x 2m ) where the m-tuple (x m+1 , . . . , x 2m ) is obtainedby sorting the m-tuple (x 1 , . . . , x m ) in non decreasing order,etc.Solving such a constraint (1) consists, not only <strong>of</strong> decidingwhether it admits at least one solution, but also incomputing, in the sense <strong>of</strong> inclusion, the smallest intervalsX i which can be substituted for the intervals A i withoutchanging the set <strong>of</strong> solution <strong>of</strong> (1). This is the sameas computing the smallest Cartesian product <strong>of</strong> intervalsX 1 × · · · × X n which contains the set r n ∩ A 1 × · · · × A n <strong>of</strong>n-tuples.The objective is to find good global constraints which canbe solved in polynomial time. With my mathematician colleagueNoëlle Bleuzen-Guernalec we have developed an algorithmfor solving the sort constraint in O(n log n) time[12]. For example with n = 2 × 5, this algorithm narrowsthe sequence <strong>of</strong> intervals (A 1 , . . . , A n ) <strong>of</strong> constraint (1) asfollows:( )[0, 13], [6, 10], [10, 11], [4, 16], [4, 6],[1, 3], [5, 10], [6, 9], [11, 17], [10, 15]( ⇓)[1, 3], [6, 9], [11, 11], [11, 15], [5, 6],[1, 3], [5, 6], [6, 9], [11, 11], [11, 15]I succeeded to solve this constraint, in reasonable time,with 2n equals up to 10 000 000.From this algorithm we have inferred a way to solve alsothe dif n constraint in O(n log n) [53].Approximation spaces While I was writing my PhDcourse, I felt the necessity to understand the concept <strong>of</strong> constraintssolving by intervals narrowing. Thus I have introduced“approximation spaces” and “good” n-ary relationin order to surrond its topological aspects. I have shownthat r is a good n-ary relation if and only if each binaryrelation one can extract from r (by fixing n − 2 variablesto constant) is a good binary relation. I have presented myfirst results in three invited lectures [36]. One was the InternationalConference on Logic Programming, on the island<strong>of</strong> Cyprus, where I was surprised to get a special edition <strong>of</strong>the revue Theory and Practice <strong>of</strong> Logic programming, in honorto my 60th birthday [13].2000–2004 Complete first-order theoriesFull first order constraints on trees In many programminglanguages the notion <strong>of</strong> composite data is defined forrepresenting various complex objects, like sequences, sequences<strong>of</strong> sequences, vectors, matrices etc. Essentially acomposed datum is, either a simple datum like a number oran identifier, or a finite sequence <strong>of</strong> pointers to other compositedata. Thus a composed datum can be considered asbeing a tree whose end nodes are labelled by simple dataand whose intermediate nodes are labelled by identifiers.It is thus important to be able to solve general constraintsin the theory <strong>of</strong> trees. By general constraints, we understandnon restricted first order formulae, that is formulae whichare constructed with the quantifiers ∃, ∀, the logical constantstrue, false the connectors ¬, ∧, ∨, the relation = andterms made from variables and constructors.Starting from the solving algorithms <strong>of</strong> Prolog II, Bich-Han Dao-Thi, one <strong>of</strong> my PhD students, has developed analgorithm which simplifies a first order formula p in a formulawhich is equivalent in the theory <strong>of</strong> infinite trees. Thissimplified formula is either the logical constant true or theconstant false or a formula, true for some values <strong>of</strong> the freevariables and false for some other values.Thi Bich Hanh has conceived an algorithm expressed in11 rewrite rules which ran on examples <strong>of</strong> constraints with100 alternat quantifications ∃, ∀, ∃, ∀, . . . This work endedwith a PhD end <strong>of</strong> 2000 [106] and an article [14].We plan to study the complexity <strong>of</strong> this algorithm accordingto the different forms <strong>of</strong> the formula p. It is known thatin the worst case this complexity is expressed by an iteratedembedding <strong>of</strong> exponential functions, with a depth dependinglinearly on the size <strong>of</strong> p.Full first-order constraints mixing trees and additive orderedrational numbers Later, with Khalil Djelloul in theframe <strong>of</strong> a thesis, we have combined the trees and theordered additive rational numbers, in a complete theory[108].Complete first-order theories I have started to establisha catalogue from the complete first-order theories whichare the most interesting for computer science. I have presentedthis catalogue in two invited lectures, [34, 35]. Ihave also organized a workshop intitled ”Solving firstorderconstraints in various structures” in the “Centre Internationaldes Rencontres de Mathmatiques” at Marseille.Three themes were involved : first-order constraints resolutionalgorithms, axiomatisation in the first-order <strong>of</strong> interestingstructurs, expressiveness power and complexity <strong>of</strong>the resolution <strong>of</strong> first-order constraints. Volker Weispfenning,University Passau, Andrei Voronkov, The University<strong>of</strong> Manchester Hoon Hong, North Carolina State University,Jean-Pierre Jouannaud, University Paris-sud, wereamong the participants.2004–2006 Complexity <strong>of</strong> universal programsEvery year I ask my second year students to program a universalTuring. For this purpose I give them special s<strong>of</strong>tware.In fact they do not program a complete machine – itwould be too long – they rewrite one or two modules <strong>of</strong> acomplete machine which I have beforehand tested and documented.My first machine was very slow and it was notconceivable to let it run on itself. As years passed, I conceivedfaster and faster machines and now they can run onthemselves.Starting from this work I defined and studied the complexity<strong>of</strong> universal programs. The obtained results werepresented in two invited conférences and also in the ”Colloqueannuel de l’Institut Universitaire de France” in March2003 [38, 39, 28].Developped s<strong>of</strong>twares- Parser and synthetiser <strong>of</strong> languages defined by W-grammars;- The Q-systems;- Prolog I (with Ph. Roussel);4
- Prolog II (with M. Van Caneghem and H. Kanoui);- Prolog III (with several PhD students and particularlyTouraivane);- Prolog IV (with PrologIA and particularlyTouraivane).Other activitiesBeing the first computer science pr<strong>of</strong>essor in Marseille, Ihave developed this science ”ex nihilo”:- by constantly taking care to have access to a computer;- by forming younger colleagues;- by supervising numerous theses;- by creating in 1973 the ”Groupe d’Intelligence Artificielle”(GIA), URA CNRS 816, at the Sciences Faculty<strong>of</strong> Luminy;- by taking an active part in the creation <strong>of</strong> the ”Laboratoired’Informatique de Marseille” in 1994. It is anassociation <strong>of</strong> the CNRS and two universities: Aix-Marseille I University and Aix-Marseille II University.This laboratory involves more than hundred researchers(with the PhD students) and gathers most <strong>of</strong>the computer scientists from Marseille;- by creating, as soon as 1975, a Computer Science”DEA” (PhD curriculum);- by participating to the creation <strong>of</strong> number <strong>of</strong> coursesin computer science (licence, maitrise, 2 DESS,département d’Informatique de l’école d’ingénieursESIL de Luminy) ;- by having numerous contracts with the industry andthe research institution; among others, I have obtainedthree ESPRIT contracts with two <strong>of</strong> them as principalcontractor;- by creating in 1984 the company PrologIA (with five<strong>of</strong> my colleagues). This company developed and sellsProlog II, Prolog III, Prolog IV and is involved in bankloans and air planes scheduling.[6] <strong>Alain</strong> <strong>Colmerauer</strong> et Jean-Franois Pique. About naturallogic, dans Logique et Analyse, Nauwelaerts PrintingS.A., 101-111, September 1985. Note : a second editionfrom [16].[7] <strong>Alain</strong> <strong>Colmerauer</strong>. Prolog in 10 Figures, Communications<strong>of</strong> the ACM, vol. 28, num. 12, December 1985.[8] <strong>Alain</strong> <strong>Colmerauer</strong>. Opening the Prolog III Universe,Byte, August 1987.[9] <strong>Alain</strong> <strong>Colmerauer</strong>. Une Introduction à Prolog III, Annalesdes Télécommunications, 44, number 5-6, 1989.[10] <strong>Alain</strong> <strong>Colmerauer</strong>. An Introduction to Prolog III, Communications<strong>of</strong> the ACM, 33(7): 68-90, 1990.[11] <strong>Alain</strong> <strong>Colmerauer</strong>. Les systèmes-Q ou un formalismepour analyser et synthètiser des phrases sur ordinateur.Traitement Automatique des Langues, Revuesemestrielle de l’Association pour le Traitement Automatiquedes Langues, volume 33, Number 1–2, p105–148, 1992. This is an old technical report from theUniversity <strong>of</strong> Montréal which was never published before.[12] Nolle Bleuzen-Guernalec et <strong>Alain</strong> <strong>Colmerauer</strong>. Optimalnarrowing <strong>of</strong> a block <strong>of</strong> sortings in optimal time,dans Constraints, Kluwer Academic publishers. January,pp.85–118.[13] Special issue in honor <strong>of</strong> <strong>Alain</strong> <strong>Colmerauer</strong>, on the occasion<strong>of</strong> his 60th birthday, Theory and Practice <strong>of</strong> Logicprogramming, volume1, part 6, November 2001.[14] <strong>Alain</strong> <strong>Colmerauer</strong> et Thi-Bich-Hanh Dao. Expressiveness<strong>of</strong> Full First-Order constraints in the Algebra <strong>of</strong>Finite or Infinite Tress, dans Constraints, Kluwer Academicpublishers. 2003, volume 8, issue 3.Books and papers in booksPapers in journals[1] <strong>Alain</strong> <strong>Colmerauer</strong>. Notions d’opérateurs dans unegrammaire “context-free”, RIRO, no 2, 1967.[2] <strong>Alain</strong> <strong>Colmerauer</strong>. Total Precedence Relations, Journal<strong>of</strong> the ACM, January 1970.[3] <strong>Alain</strong> <strong>Colmerauer</strong>. Un sous-ensemble intéressant dufrançais, in RAIRO Informatique Théorique 13, no 14,1979.[4] <strong>Alain</strong> <strong>Colmerauer</strong>. Sur les bases théoriques de Prolog,in Groupe Programmation et Languages AFCET, divisionthéorie et technique de l’informatique, no 9, 1979.[5] <strong>Alain</strong> <strong>Colmerauer</strong>, Henry Kanoui et Michel Van Caneghem.Prolog, Bases théoriques et développementsactuels, in TSI, vol. 2, no 4 (AFCET-Bordas), August1983.[15] <strong>Alain</strong> <strong>Colmerauer</strong>. Metamorphosis grammars, dansNatural Language Communication with Computers, LecturesNotes in Computer Science n 63, edited by L.Bolc, Springer Verlag, 1978.[16] <strong>Alain</strong> <strong>Colmerauer</strong> and Jean-François Pique. Aboutnatural logic, dans Advances in Data Base Theory 1,edited by H. Gallaire, H. Minker and J.M. Nicolas,Plenum Press, 1981.[17] <strong>Alain</strong> <strong>Colmerauer</strong>. An interesting subset <strong>of</strong> naturallanguage, in Logic Programming, edited by K. L. Clarkand J. A. Tarnlund, Academic Press, 1982.[18] <strong>Alain</strong> <strong>Colmerauer</strong>. Prolog and infinite trees, in LogicProgramming, edited by K. L. Clark et J. A. Tarnlund,Academic Press, 1982.[19] Frédéric Benhamou and <strong>Alain</strong> <strong>Colmerauer</strong>, editors.Constraint Logic programming, Selected Research. MITPress, 1993.5