Results 1  10
of
13
Syntactic Theories and the Algebra of Record Terms
, 1993
"... Recently, many type systems for records have been proposed. For most of them, the types cannot be described as the terms of an algebra. In this case, type checking, or type inference in the case of first order type systems, cannot be derived from existing algorithms. We define record terms as the te ..."
Abstract

Cited by 22 (5 self)
 Add to MetaCart
Recently, many type systems for records have been proposed. For most of them, the types cannot be described as the terms of an algebra. In this case, type checking, or type inference in the case of first order type systems, cannot be derived from existing algorithms. We define record terms as the terms of an equational algebra. We prove decidability of the unification problem for records terms by showing that its equational theory is syntactic. We derive a complete algorithm and prove its termination. We define a notion of canonical terms and approximations of record terms by canonical terms, and show that approximations commute with unification. We also study generic record terms, which extend record terms to model a form of sharing between terms. We prove that the equational theory of generic record terms and that the corresponding unification algorithm always terminates. Th'eories syntaxiques et Alg'ebres d'enregistrements R'esum'e De nombreux syst`emes de types pour les enregistrem...
External Rewriting for Skeptical Proof Assistants
, 2002
"... This paper presents the design, the implementation and experiments of the integration of syntactic, conditional possibly associativecommutative term rewriting into proof assistants based on constructive type theory. Our approach is called external since it consists in performing term rewriting in a ..."
Abstract

Cited by 18 (3 self)
 Add to MetaCart
This paper presents the design, the implementation and experiments of the integration of syntactic, conditional possibly associativecommutative term rewriting into proof assistants based on constructive type theory. Our approach is called external since it consists in performing term rewriting in a speci c and ecient environment and to check the computations later in a proof assistant.
Syntacticness, CycleSyntacticness and Shallow Theories
 INFORMATION AND COMPUTATION
, 1994
"... 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 !? (occurcheck). These two rules are not correct in quotients of T (F; X) by a finitely generated congruence =E . Following C. Kirchner, we first define cl ..."
Abstract

Cited by 11 (0 self)
 Add to MetaCart
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 !? (occurcheck). 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 cycle syntactic respectively) for which it is possible to derive some rules replacing the two above ones. Then, we show that these abstract classes are relevant: all shallow theories, i.e. theories which can be generated by equations in which variables occur at depth at most one, are both syntactic and cycle syntactic. Moreover, the new set of unification rules is terminating, which proves that unification is decidable and finitary in shallow theories. We give still further extensions. If the set of equivalence classes is infinite, a problem which turns out to be decidable in shallow theories, then shallow theories fulfill Colmerauer's indep...
The Need for Headers: An Impossibility Result for Communication over Unreliable Channels
, 1990
"... It is proved that any protocol that constructs a reliable data link service using a physical channel service necessarily includes in the packets some header information that enables the protocol to treat different pckets differently. The physical channel considered is permitted to lose, but not reor ..."
Abstract

Cited by 10 (1 self)
 Add to MetaCart
It is proved that any protocol that constructs a reliable data link service using a physical channel service necessarily includes in the packets some header information that enables the protocol to treat different pckets differently. The physical channel considered is permitted to lose, but not reorder or duplicate packets. The formal framework used for the proof is the I/O automaton model.
AntiPattern Matching Modulo
"... Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. In a previous work, we have extended the notion of term to the one of antiterm that may contain complement symbols. Matching such antiterms aga ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. In a previous work, we have extended the notion of term to the one of antiterm that may contain complement symbols. Matching such antiterms against terms has the nice property of being unitary. Here we generalize the syntactic antipattern matching to antipattern matching modulo an arbitrary equational theory E, and we study the specific and practically very useful case of associativity, possibly with a unity (AU). To this end, based on the syntacticness of associativity, we present a rulebased associative matching algorithm, and we extend it to AU. This algorithm is then used to solve AU antipattern matching problems. This allows us to be generic enough so that for instance, the AllDiff standard predicate of constraint programming becomes simply expressible in this framework. AU antipatterns are implemented in the Tom language and we show some examples of their usage.
Program Transformation By Proof in Constructive Framework
 In Informatika '91, Theoretical Computer Science and Methods of Compilation and Program Construction
, 1991
"... This paper aims at presenting the notion of program transformation by proof in type theory and programming with proofs framework. In such framework, programs obtained from proofs are not always efficient and the relationships between programs and good proofs have to be studied. Automatic synthesis a ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper aims at presenting the notion of program transformation by proof in type theory and programming with proofs framework. In such framework, programs obtained from proofs are not always efficient and the relationships between programs and good proofs have to be studied. Automatic synthesis and verification of programs have been tackled in the constructive type theory and we are interested by the transformational approach, with some degree of automation, in such a framework. We present some techniques of proof and program transformation using proof synthesis information. A strategy of generalization by abstraction of terms is presented, with a view to deriving by constructive proofs new program versions, and we analyze the connections with data modifications and induction choices. 1 Introduction The derivation of correct and efficient programs from formal specifications can be considered in different ways. An important one consists in using the transformation technique which is...
Sequent Style Proof Terms for HOL
"... Abstract. In this work we present proof terms for a Gentzen sequent style presentation of HOL. Existing implementations of proof terms for HOL are natural deduction style systems. Sequent style proof terms have many advantages over natural deduction style proof terms. For example, we can translate p ..."
Abstract
 Add to MetaCart
Abstract. In this work we present proof terms for a Gentzen sequent style presentation of HOL. Existing implementations of proof terms for HOL are natural deduction style systems. Sequent style proof terms have many advantages over natural deduction style proof terms. For example, we can translate proof terms directly into tactics, which we can execute at the tactic level of HOL implementations. We describe several applications of our work, such as an implementation of theory interpretation, and an approach to optimising proof terms by rewriting. 1
A constructive decision procedure for equalities modulo AC
"... this paper an optimised constructive decision procedure for AC equalities based on the syntacticness of AC theories. The original motivation for it comes from our work [5] to incorporate term rewriting into the Coq proof assistant [3] using ELAN [7]. The main idea is to perform term rewriting in ELA ..."
Abstract
 Add to MetaCart
this paper an optimised constructive decision procedure for AC equalities based on the syntacticness of AC theories. The original motivation for it comes from our work [5] to incorporate term rewriting into the Coq proof assistant [3] using ELAN [7]. The main idea is to perform term rewriting in ELAN and to only use Coq for checking purpose. When considering AC rewriting, proof checking requires an ecient method to prove AC equality in Coq using two axioms of associativity and commutativity or possibly a nite set of equalities derived from them
Antipatterns for Rulebased Languages
, 2010
"... Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. This should be naturally reflected in software that provide patternbased searches. We would like for example to specify that we search for white ..."
Abstract
 Add to MetaCart
Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. This should be naturally reflected in software that provide patternbased searches. We would like for example to specify that we search for white cars that are not station wagons, or that we search for a list of objects that does not contain two identical elements. In this paper we extend the notion of pattern to the one of antipattern, i.e. patterns that may contain complement symbols. This concept is appropriate to design powerful extensions to patternbased programming languages like Ml, Asf+Sdf, Stratego, Maude, Elan or Tom and we show how this is used to extend the expressiveness and usability of the Tom language. We further define formally the semantics of antipatterns both in the syntactic case, i.e. when the symbols have no specific theory associated, and modulo an arbitrary equational theory E. We then extend the classical notion of matching between patterns and ground terms to matching between antipatterns and ground terms. Solving such problems can be performed either using general techniques as disunification, which we exemplify in the syntactical case, or more tailored and efficient approaches, which we chose to illustrate on the specific and very useful case of associativity, possibly with a unity. This allows us to be generic enough to give in this framework a very simple and natural expression of, for instance, the AllDiff standard predicate of constraint programming.