42 research outputs found

    Canonized Rewriting and Ground AC Completion Modulo Shostak Theories : Design and Implementation

    Get PDF
    AC-completion efficiently handles equality modulo associative and commutative function symbols. When the input is ground, the procedure terminates and provides a decision algorithm for the word problem. In this paper, we present a modular extension of ground AC-completion for deciding formulas in the combination of the theory of equality with user-defined AC symbols, uninterpreted symbols and an arbitrary signature disjoint Shostak theory X. Our algorithm, called AC(X), is obtained by augmenting in a modular way ground AC-completion with the canonizer and solver present for the theory X. This integration rests on canonized rewriting, a new relation reminiscent to normalized rewriting, which integrates canonizers in rewriting steps. AC(X) is proved sound, complete and terminating, and is implemented to extend the core of the Alt-Ergo theorem prover.Comment: 30 pages, full version of the paper TACAS'11 paper "Canonized Rewriting and Ground AC-Completion Modulo Shostak Theories" accepted for publication by LMCS (Logical Methods in Computer Science

    Elements pour la decidabilite de l'unification modulo la distributivite

    No full text
    SIGLEAvailable from INIST (FR), Document Supply Service, under shelf-number : T 82457 / INIST-CNRS - Institut de l'Information Scientifique et TechniqueFRFranc

    Cantor : On Ordinal Notations

    No full text
    A Coq library on ordinal notations. User contributions to the Coq proof assistan

    SQLCert: Coq mechanisation of SQL's compilation: Formally reconciling SQL and (relational) algebra

    No full text
    SQL is the standard language for manipulating data stored in relational database systems. In theory, SQL is based on the relational data model. However, there is an important mismatch between the theoretical foundations and the corresponding standard specification, as SQL history spread over decades. Briefly, the disparities concern the treatment of relations: finite sets in theory, finite bags in practice, the treatment of attributes and the chosen corresponding algebra used to compile queries. We propose SQLCert, a Coq mechanisation of three, among four, central steps of SQL's compilation chain: the syntactic analysis, the semantics analysis and the logical optimisation steps. To this purpose, we propose SQLCoq a Gallina grammar and associated Coq-mechanised semantics accounting for the native fragment of SQL described in the ISO/IEC 2006 Final Committee draft. As SQL compilers' logical optimisation is based on algebraic rewritings, we also define ExtAlg a Coq-mechanised extended bag-set-algebra, deeply relate SQLCoq to it and prove, using Coq, most of the commonly used in practice (SQL's queries) rewritings, yielding strong guarantees for the optimiser. Doing so, we thus formally reconcile SQL and its theoretical algebraic counterpart and provide the first, to our knowledge, executable mechanisation proposal of a (realistic fragment of) SQL compiler

    An Efficient Incremental Algorithm for Solving Systems of Linear Diophantine Equations

    Get PDF
    In this paper, we describe an algorithm for solving systems of linear Diophantine equations based on a generalization of an algorithm for solving one equation due to Fortenbacher [3]. It can solve a system as a whole, or be used incrementally when the system is a sequential accumulation of several subsystems. The proof of termination of the algorithm is difficult, whereas the proofs of completeness and correctness are straightforward generalizations of Fortenbacher's proof

    A partial solution for D-unification based on a reduction to AC1-unification

    No full text
    . We show that deciding unification modulo both-sided distributivity of a symbol over a symbol + can be reduced to AC1- unification for all unification problems which do not involve the + operator. Moreover, we can describe "almost all" solutions in a finite way, although there are in general infinitely many minimal solutions for such problems. As a consequence, -problems appear as a good candidate for a notion of solved-form for D-unification. 1 Introduction Equations are ubiquitous in mathematics as well as in computer science. Unification is solving equations in some particular domains, namely free term algebras or term algebras modulo an equational theory. Unification was first introduced by Herbrand [3], and rediscovered by Robinson as a basic mechanism for resolution in first order logic [10]. Unification is also the basic mechanism for computing critical pairs [7], and the main inference rule of the completion procedure. On the other hand, the very old and famous 10 th Hilb..
    corecore