
Jean-Pierre Jouannaud- PhD
- Professor Emeritus at École Polytechnique
Jean-Pierre Jouannaud
- PhD
- Professor Emeritus at École Polytechnique
About
112
Publications
5,622
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
5,452
Citations
Introduction
Current institution
Publications
Publications (112)
We present a new and powerful algebraic framework for graph rewriting, based on drags, a class of graphs enjoying a novel composition operator. Graphs are embellished with roots and sprouts, which can be wired together to form edges. Drags enjoy a rich algebraic structure with sums and products. Drag rewriting naturally extends graph rewriting, dag...
Rewriting is an intentional model of computation which is inherently non-deterministic. Defining functions by rewriting requires to prove that the result of a given computation is unique for every input, a property called confluence. This chapter describes confluence criteria for first-order as well as higher-order, terminating rewriting computatio...
Drags are a recent, natural generalization of terms which admit arbitrary cycles. A key aspect of drags is that they can be equipped with a composition operator so that rewriting amounts to replace a drag by another in a composition. In this paper, we develop a unification algorithm for drags that allows to check the local confluence property of a...
User-defined higher-order rewrite rules are becoming a standard in proof assistants based on intuitionistic type theory. This raises the question of proving that they preserve the properties of beta-reductions for the corresponding type systems. In a series of papers, we develop techniques based on van Oostrom’s decreasing diagrams that reduce conf...
In a previous work (Abstract data type systems, Theoret. Comput. Sci. 173 (2) (1997)), the last two authors presented a combined language made of a (strongly normalizing) algebraic rewrite system and a typed lambda-calculus enriched by pattern-matching definitions following a certain format, called the “General Schema”, which generalizes the usual...
We investigate the new, Turing-complete class of layered systems, whose
lefthand sides of rules can only be overlapped at a multiset of disjoint or
equal positions. Layered systems define a natural notion of rank for terms: the
maximal number of non-overlapping redexes along a path from the root to a leaf.
Overlappings are allowed in finite or infi...
We investigate a new, Turing-complete class of layered systems, whose linearized lefthand sides of rules can only be overlapped at the root position. Layered systems define a natural notion of rank for terms: the maximal number of redexes along a path from the root to a leaf. Overlappings are allowed in finite or infinite trees. Rules may be non-te...
This paper aims at carrying out termination proofs for simply typed
higher-order calculi automatically by using ordering comparisons. To this end,
we introduce the computability path ordering (CPO), a recursive relation on
terms obtained by lifting a precedence on function symbols. A first version,
core CPO, is essentially obtained from the higher-...
We extend the termination proof methods based on reduction orderings to higher-order rewriting systems based on higher-order pattern matching. We accommodate, on the one hand, a weakly polymorphic, algebraic extension of Church's simply typed λ-calculus and, on the other hand, any use of eta, as a reduction, as an expansion, or as an equation. The...
Knuth and Bendix showed that confluence of a terminating first-order rewrite system can be reduced to the joinability of its finitely many critical pairs. We show that this is still true of a rewrite system Rt ∪ Rnt such that Rt is terminating and Rnt is a left-linear, rank non-increasing, possibly non-terminating rewrite system. Confluence can the...
Scientific fields undergo successive phases of specialization and unification.
The field of programming languages is in a phase of specialization. Among the main programming paradigms are imperative programming, functional programming, logic programming, object oriented programming, concurrent programming and distributed programming. Each of these...
This paper builds on a fundamental notion of rewriting theory that characterizes confluence of a (binary) rewriting relation, Klop’s cofinal derivations. Cofinal derivations were used by van Oostrom to obtain another characterization of confluence of a rewriting relation via the existence of decreasing diagrams for all local peaks. In this paper, w...
We prove a general purpose abstract Church-Rosser result that captures most existing such results that rely on termination of computations. This is achieved by studying abstract normal rewriting in a way that allows to incorporate positions at the abstract level. New concrete Church-Rosser results are obtained, in particular for higher-order rewrit...
We study a complex type theory, a Calculus of Inductive Constructions with a predicative hierarchy of universes and a first-order theory T built in its conversion relation. The theory T is specified abstractly, by a set of constructors, a set of defined symbols, axioms expressing that constructors are free and defined symbols completely defined, an...
We introduce parameterized rewrite systems for describing infinite families of finite string rewrite systems depending upon non-negative integer pa- rameters, as well as ways to reason uniformly over these families. Unlike previous work, the vocabulary on which a rewrite system in the family is built depends it- self on the integer parameters. Rewr...
We describe a fully portable, open source certifier for traces of SAT problems produced by zChaff. It can also be easily adapted for MiniSat, PicoSat or BooleForce, and we have done it for PicoSat. Our certifier has been developped with the proof assistant Coq. We give some figures based on the pigeon hole, comparing both PicoSat and zChaff on the...
We give a new elegant proof that decreasing diagrams imply confluence based on a proof reduction technique, which is then
the basis of a novel completion method which proof-reduction relation transforms arbitrary proofs into rewrite proofs even
in presence of non-terminating reductions. Unlike previous methods, no ordering of the set of terms is re...
In this paper, we first briefly survey automated termination proof methods for higher-order calculi. We then concentrate on the higher-order recursive path ordering, for which we provide an improved definition, the Computability Path Ordering. This new definition appears indeed to capture the essence of computability arguments \`a la Tait and Girar...
We investigate here a new version of the Calculus of Inductive Constructions (CIC) on which the proof assistant Coq is based: the Calculus of Congruent Inductive Constructions, which truly extends CIC by building in arbitrary first-order decision procedures: deduction is still in charge of the CIC kernel, while computation is outsourced to dedicate...
In (19), Toyama proved that the union of two confluent term-rewriting systems that share absolutely no function symbols or constants is likewise con- fluent, a property called modularity. The proof of this beautiful modularity result, technically based on slicing terms into an homogeneous cap and a so called alien, possibly heterogeneous substituti...
In [17], Toyama proved that the union of two confluent term-rewriting systems that share absolutely no function symbols or constants is likewise con-fluent, a property called modularity. The proof of this beautiful modularity result, technically based on slicing terms into an homogeneous cap and a so called alien, possibly heterogeneous substitutio...
This paper provides a new, decidable definition of the higher- order recursive path ordering in which type comparisons are made only when needed, therefore eliminating the need for the computability clo- sure, and bound variables are handled explicitly, making it possible to handle recursors for arbitrary strictly positive inductive types.
It is commonly agreed that the success of future proof assistants will rely on their ability to incorporate computations within deduction in order to mimic the mathematician when replacing the proof of a proposition P by the proof of an equivalent proposition P' obtained from P thanks to possibly complex calculations. In this paper, we investigate...
This article extends the termination proof techniques based on reduction orderings to a higher-order setting, by defining a family of recursive path orderings for terms of a typed lambda-calculus generated by a signature of polymorphic higher-order function symbols. These relations can be generated from two given well-founded orderings, on the func...
This paper is concerned with the foundations of the Calculus of Algebraic Constructions (CAC), an extension of the Calculus of Constructions by inductive data types. CAC generalizes inductive types equipped with higher-order primitive recursion, by providing definitions of functions by pattern-matching which capture recursor definitions for arbitra...
Termination is a major question in both logic and computer science. In logic, termination is at the heart of proof theory where it is usually called strong normalization (of cut elimination). In computer science, termination has always been an important issue for showing programs correct. In the early days of logic, strong normalization was usually...
In [12], Toyama proved that the union of two confluent term-rewriting systems that share absolutely no function symbols or
constants is likewise confluent, a property called modularity. The proof of this beautiful modularity result, technically
based on slicing terms into an homogeneous cap and a so called alien, possibly heterogeneous substitution...
We extend the termination proof methods based on reduction orderings to higher-order rewriting systems à la Nipkow using higher-order pattern matching for firing rules, and accommodate for any use of eta, as a reduction, as an expansion or as an equation. As a main novelty, we provide with a mechanism for transforming any reduction ordering includi...
Solving equations, also called unification, has made impressive progress during the past decade. Described as existentially quantified formulae over =, unification problems are usually transformed step by step until a solved form is reached from which a most general unifier can be obtained. Kirchner showed how to compute transformation rules for th...
We describe an automatic complexity analysis mechanism for programs extracted from proofs carried out with the proof assistant Coq. By extraction, we mean the automatic generation of MiniML code [Pierre Letouzey. Programmation fonctionnelle certifiée – l'extraction de programmes dans l'asistant coq. Technical report, 2004]. By complexity analysis,...
This paper extends the termination proof techniques based on rewrite orderings to a higher-order setting, by defining a recursive path ordering for simply typed higher-order terms in -long -normal form. This ordering is powerful enough to show termination of several complex examples.
Rigorous program development is notoriously difficult because it involves many aspects, among which specification, programming,
verification, code reuse, maintenance, and version management. Besides, these various tasks are interdependent, requiring
going back and forth between them. In this paper, we are interested in certain language features and...
The first RTA conference took place in Dijon, in 1985. This year, 2005, it takes place in Nara. Nara and Dijon share a glorious past but can be considered as being “Sleeping Beauties”, after the title of a book by the Nobel price novelist yasunari Kawabata.
Is RTA sleeping on its glorious past? Back in the late 80s, many of us feared that this woul...
Equations are ubiquitous in mathematics and in computer science as well. This first sentence of a survey on first-order rewriting
borrowed again and again characterizes best the fundamental reason why rewriting, as a technology for processing equations,
is so important in our discipline [10]. Here, we consider higher-order rewriting, that is, rewri...
The goal of this paper is threefold : to revisit the definitions of order-preserving functionals, to make precise whether well-founded quasi-orderings and well quasi-orderings are closed under these functionals, and to provide with proofs which are simple enough to be taught to undergraduate students. It appears from the recent literature that some...
Automated deduction in first-order logic finds almost all its roots in Herbrand’s work, starting with Herbrand’s interpretations, a clausal calculus, and rules for unification. J.A. Robinson’s key contribution was the formulation of resolution and its completeness proof, in which semantic trees were semi-apparent. Robinson and Wos introduced the sp...
Verification is a hard task, but much progress has been achieved recently. Many verification problems have been shown decidable
by reducing them to model-checking finite state transition systems. Verification of infinite state transition systems has
achieved tremendous progress too, by showing that many particular cases were themselves decidable, s...
In a previous work ("Abstract Data Type Systems", TCS 173(2), 1997), the leI two authors presented a combined lmbined made of a (strongl normal3zG9 alrmal rewrite system and a typed #-calA#Ik enriched by pattern-matching de#nitionsfolnitio a certain format,calat the "General Schema", whichgeneral39I theusual recursor de#nitions fornatural numbers a...
Introduction Rewrite rules are increasingly used in programming languages and logical systems, with two main goals: defining functions by pattern matching; describing rule-based decision procedures. Our ambition is to develop for the higher-order/type case the kind of semi-automated termination proof techniques that are available for the first-orde...
. Rewriting is a general paradigm for expressing computations in various logics, and we focus here on rewriting techniques in equational logic. When used at the proof level, rewriting provides with a very powerful methodology for proving completeness results, a technique that is illustrated here. We also consider whether important properties of rew...
We presented lists of open problems in the theory of rewriting in the proceedings of the previous two conferences [36, 37]. We continue with that tradition this year. We give references to solutions to eleven problems from the previous lists, report on progress on several others, provide a few reformulations of old problems, and include ten new pro...
Introduction Interest in the theory and applications of rewriting has been growing rapidly, as evidenced in part by four conference proceedings #including this one# #15, 26, 41,66#; three workshop proceedings #33, 47, 77#; #ve special journal issues #5,88, 24, 40, 67#; more than ten surveys #2,7,27, 28, 44, 56,57,76, 82, 81#; one edited collection...
This paper is part of a long-term effort to increase expressiveness of algebraic specification languages while at the same time having a simple semantic basis on which efficient execution by rewriting and powerful theorem-proving tools can be based. In particular, our rewriting techniques provide semantic foundations for Maude's functional sublangu...
This is an introduction to the philosophy and use of OBJ, emphasizing its oper-ational semantics, with aspects of its history and its logical semantics. Release 2 of OBJ3 is described in detail, with many examples. OBJ is a wide spectrum first-order functional language that is rigorously based on (order sorted) equational logic and parameterized pr...
In a previous work (“Abstract Data Type Systems”, TCS 173(2), 1997), the last two authors presented a combined language made of a (strongly normalizing) algebraic rewrite system and a typed λ-calculus enriched by pattern-matching definitions following a certain format, called the “General Schema”, which generalizes the usual recursor definitions fo...
This paper extends the termination proof techniques based on
reduction orderings to a higher-order setting, by adapting the recursive
path ordering definition to terms of a typed lambda-calculus generated
by a signature of polymorphic higher-order function symbols. The
obtained ordering is well-founded, compatible with p-reductions and with
polymor...
Many of the above ideas arose when discussing with people of the afore mentionned groups (Coq, Demons, Maude, PROTHEO), and especially with Gilles Dowek and Christine Paulin. Mitsuhiro Okada also deserves special thanks for introducing me to the Curry-Howard world, while I was introducing him to its Hurry-Coward counterpart.
This paper extends the termination proof techniques based on rewrite orderings to a higher-order setting, by defining a recursive path ordering for simply typed higher-order terms in η-long β-normal form. This ordering is powerful enough to show termination of several complex examples.
: This paper is concerned with the foundations of Inductive Data Type Systems, an extension of pure type systems by inductive data types. IDTS generalize (inductive) types equipped with primitive recursion of higher-type, by providing definitions of functions by pattern matching of a form which is general enough to capture recursor definitions for...
This paper is concerned with the foundations of an extension of pure type systems by abstract data types, hence the name of Abstract Data Type Systems. ADTS generalize inductive types as they are defined in the calculus of constructions, by providing definitions of functions by pattern matching on the one hand, and relations among constructors of t...
This paper is part of a long-term effort to increase expressiveness of algebraic specification languages while at the same time having a simple semantic foundation on which efficient execution by rewriting and powerful theorem-proving tools can be based. In particular, our rewriting techniques provide semantic foundations for Maude's functional sub...
This work investigates inductive theorem proving techniques for
first-order functions whose meaning and domains can be specified by Horn
Clauses built up from the equality and finitely many unary membership
predicates. In contrast with other works in the area, constructors are
not assumed to be free. Techniques originating from tree automata are
us...
syntax trees, congruence laws and rewrite rules are used to define the semantics. A computation step is modeled as the application of a rewrite rule to an abstract syntax tree modulo structural congruence. Using the semantics, the critical interaction between sequential execution (including backtracking and cut pruning) and coroutining are made pre...
. We compare two prominent decision procedures for propositional logic: Ordered Binary Decision Diagrams (obdds) and the DavisPutnam procedure. Experimental results indicate that the Davis-Putnam procedure outperforms obdds in hard constraint-satisfaction problems, while obdds are clearly superior for Boolean functional equivalence problems from th...
This paper is concerned with the impact of stepwise development methodologies on prototyping.
. Confluent term rewriting systems can be seen as a model for functional computations, in which redexes corresponding to instances of left hand sides of rules are repeatedly replaced by their corresponding right hand side instance. Lazy sequential strategies reduce a given redex in a term if and only if this redex must be reduced by any other seque...
Constraints have become very popular during the last decade. Constraints allow to define sets of data by means of logical formulae. Our goal here is to survey the notion of constraint system and to give examples of constraint systems operating on various domains, such as natural, rational or real numbers, finite domains, and term domains. We classi...
Solving equations in the free algebra T (F; X) (i.e. unification) uses the two rules: f(~s) = f( ~ t) ! ~s = ~ t (decomposition) and s[x] = x !? (occur-check). These two rules are not correct in quotients of T (F; X) by a finitely generated congruence =E . Following C. Kirchner, we first define classes of equational theories (called syntactic and c...
Introduction We presented lists of open problems in the theory of rewriting in the proceedings of the previous two conferences [ 36; 37 ] . We continue with that tradition this year. We give references to solutions to eleven problems from the previous lists, report on progress on several others, provide a few reformulations of old problems, and inc...
Completion Completion has recently been put in a more abstract framework [ Bachmair-et al, 1986 ] , an approach we adopt here. As in traditional proof theory (cf. [ Takeuti, 1987 ] ), proofs are reduced, in some well-founded sense, by replacing locally maximal subproofs with smaller ones, until a normal-form proof is obtained. In completion, the ax...
Introduction Two years ago, in the proceedings of the previous conference, we presented a list of open problems in the theory of rewriting [ Dershowitz et al., 1991a ] . This time, we report on progress made during the intervening time, and then list some new problems. (A few additional questions on the subject appear in the back of [ Diekert, 1990...
Confluent term rewriting systems can be seen as a model for functional computations, in which redexes corresponding to instances of left hand sides of rules are repeatedly replaced by their corresponding right hand side instance. Lazy sequential strategies reduce a given redex in a term if and only if this redex must be reduced by any other sequent...
Two years ago, in the proceedings of the previous conference, we presented a list of open problems in the theory of rewriting [Dershowitz et al., 1991a]. This time, we report on progress made during the intervening time, and then list some new problems. (A few additional questions on the subject appear in the back of [Diekert, 1990].) We also menti...
Rewriting with associativity, commutativity and identity has been an open problem for a long time. In 1989, Baird, Peterson and Wilkerson introduced the notion of constrained rewriting, to avoid the problem of nontermination inherent to the use of identities. We build up on this idea in two ways: by giving a complete set of rules for completion mod...
Results for syntactic theories are generalized to shallow
theories. The main technique used is the computation by ordered
completion techniques of conservative extensions of the starting shallow
presentation which are, respectively, ground convergent, syntactic, and
cycle-syntactic. In all cases, the property that variables occur at
depth at most o...
obj is a declarative language, with mathematical semantics given by order-sorted equational logic and an operational semantics based on order-sorted term rewriting. obj also has user-definable abstract data types with mixfix syntax and a flexible type system that supports overloading and subtypes. In addition, obj has a powerful generic module mech...
This paper surveys the use of rewriting for prototyping languages based on equations as are algebraic specifications. The option is to stress the variety of questions expressed as logical queries that can be solved by using rewriting techniques, without hiding the limitations of the method. Using rewriting itself as a specification language is inve...
The combination of polymorphically typed lambda-calculi with
first-order as well as higher-order rewrite rules is considered. The
need of such a combination for exploiting the benefits of algebraically
defined data types within functional programming is demonstrated. A
general modularity result, which allows as particular cases primitive
recursive...
Conventional algebraic specifications are first-order. Using higher-order equations in combination with first-order ones raises several fundamental model-theoretic and proof-theoretic questions. The model theory of higher-order equations is well understood (see [20] for a survey of algebraic specifications). The proof theory of higher-order equatio...
Appropriate notations are important for stating complex results in a way that can be easily understood. Oftentimes, notatin is crucial to carrying out correct and simple proofs. Our purpose here is to contribute to the development of good notations for term rewriting and related areas.
Rewriting with associativity, commutativity and identity has been an open problem for a long time. In a recent paper [BPW89], Baird, Peterson and Wilkerson introduced the notion of constrained rewriting, to avoid the problem of non-termination inherent to the use of identities. We build up on this idea in two ways: by giving a complete set of rules...
A complete unification algorithm is presented for the combination of two theories E in T(F,X) and E’ in T(F’,X) where F and F’ denote two disjoint sets of function symbols, E and E’ are arbitrary equational theories for which are given, for E: a complete unification algorithm for terms in T(F ∪ C,X), where C is a set of free constants and a complet...
Inductionless induction consists of using pure equational reasoning for proving the validity of an equation in the initial algebra of a set of equational axioms, which would normally require some kind of induction. Under given hypotheses, the equation is valid iff adding it to the set of axioms does not result in an inconsistency. This inconsistenc...
Inductionless induction consists of using pure equational reasoning for proving the validity of an equation in the initial algebra of a set of equational axioms, which would normally require some kind of induction. Under given hypotheses, the equation is valid iff adding it to the set of axioms does not result in an inconsistency. This inconsistenc...
OBJ is a declarative language, with mathematical semantics given by order-sorted equational logic and an efficient operational semantics based on order-sorted term-rewriting. In addition, OBJ has a uniquely powerful generic module mechanism, including non-executable theories as well as executable objects, plus module expressions that describe and c...
A complete unification algorithm is presented for the combination
of two arbitrary equational theories E in
T ( F , X ) and E <sup>1</sup> in T
( F ', X ), where F and F ' denote
two disjoint sets of function symbols. The method adapts to unification
of infinite trees. It is applied to two well-known open problems, when
E is the theory of Boolean r...
Church-Rosser properties are first presented, depending on an arbitrary relation R, an equivalence relation E and a reduction relation $R^E $ used to compute normal forms of R modulo E. Terminating rewriting systems operating on equational congruence classes of terms of a free algebra are then considered. In this framework, the Church–Rosser proper...
We show how a programming language designer may embed the type structure of a programming language in the more robust type structure of the typed lambda calculus. This is done by translating programs of the language into terms of the typed lambda calculus. ...
We give a construction of the smallest (for inclusion of sets) simplification ordering which contains a given pair (g,d) such that g is not embedded in d. The construction is simple but the proof is complex. As a consequence, we show that it is decidable to prove the termination of a rewrite rule g→d using a simplification ordering: it must be chec...
The problem of termination of a set R of rules modulo a set E of equations, called E-termination problem, arises when trying
to complete the set of rules in order to get a Church-Rosser property for the rules modulo the equations. We first show here
that termination of the rewriting relation and E-termination are the same whenever the used rewritin...
This paper proposes an expressional loop notation (XLoop) based on the ideas described in [16,17] which makes it practical to express loops as compositions of functions. The primary benefit of XLoop is that it brings the powerful metaphor of expressions ...
ABSTRACT The well,known,Knuth and,Bendix completion ,proce dure,computes,a convergent,term,rewriting ,system from,a given,set,of equational,axioms.,This proce dure was extended to handle,mixed ,sets ,of rules and,equations,in order to deal ,with ,axioms,that cannot,be used,as rules without loosing the requi red,termination,property.,The develope...
The well known Knuth and Bendix completion procedure computes a convergent term rewriting system from a given set of equational axioms. We describe here an abstract model of computation to handle the case where some axioms cannot be treated as rewrite rules without loosing the required termination property. We call Equational Term Rewriting Systems...
After a fast survey of the field, we describe Summers methodology and its extensions, by the mean of an example. The theoretical foundations of the method are fully detailed, together with an essential remaining open problem. A particular application is pre sented: the derecursivation of program schemes.
We propose two-well founded orderings on multisets that extend the Dershowitz-Manna ordering. Unlike the Dershowitz-Manna ordering, ours do not have a natural monotonicity property. This lack of monotonicity suggests using monotonicity to provide a new characterization of the Dershowitz-Manna ordering. Section 5 proposes an efficient and correct im...
We study the unification and matching problems in the signed binary trees theory. We show that any equation tl1=t2 can be transformed into an equivalent one x=t. If x does not occur in t then (x > t) is the unique most general unifier in the theory (up to an isomorphism). We apply this technique to find recurrence relations between sets of terms. T...