1,348 research outputs found

    Tactics for Reasoning modulo AC in Coq

    Get PDF
    We present a set of tools for rewriting modulo associativity and commutativity (AC) in Coq, solving a long-standing practical problem. We use two building blocks: first, an extensible reflexive decision procedure for equality modulo AC; second, an OCaml plug-in for pattern matching modulo AC. We handle associative only operations, neutral elements, uninterpreted function symbols, and user-defined equivalence relations. By relying on type-classes for the reification phase, we can infer these properties automatically, so that end-users do not need to specify which operation is A or AC, or which constant is a neutral element.Comment: 16

    Nominal C-Unification

    Full text link
    Nominal unification is an extension of first-order unification that takes into account the \alpha-equivalence relation generated by binding operators, following the nominal approach. We propose a sound and complete procedure for nominal unification with commutative operators, or nominal C-unification for short, which has been formalised in Coq. The procedure transforms nominal C-unification problems into simpler (finite families) of fixpoint problems, whose solutions can be generated by algebraic techniques on combinatorics of permutations.Comment: Pre-proceedings paper presented at the 27th International Symposium on Logic-Based Program Synthesis and Transformation (LOPSTR 2017), Namur, Belgium, 10-12 October 2017 (arXiv:1708.07854

    Expectations for Associative-Commutative Unification Speedups in a Multicomputer Environment

    Get PDF
    An essential element of automated deduction systems is unification algorithms which identify general substitutions and when applied to two expressions, make them identical. However, functions which are associative and commutative, such as the usual addition and multiplication functions, often arise in term rewriting systems, program verification, the theory of abstract data types and logic programming. The introduction to the associative and commutative equality axioms together with standard unification brings with it problems of termination and unreasonably large search spaces. One way around these problems is to remove the troublesome axioms from the system and to employ a unification algorithm which unifies modulo the axioms of associativity and commutativity. Unlike standard unification, the associative-commutative (AC) unification of two expressions can lead to the formation of many most general unifiers. A report is presented on a hybrid AC unification algorithm which has been implemented to run in parallel on an Intel iPSC/

    Algebraic geometry over algebraic structures II: Foundations

    Full text link
    In this paper we introduce elements of algebraic geometry over an arbitrary algebraic structure. We prove Unification Theorems which gather the description of coordinate algebras by several ways.Comment: 55 page

    Higher-Order Equational Pattern Anti-Unification

    Get PDF
    We consider anti-unification for simply typed lambda terms in associative, commutative, and associative-commutative theories and develop a sound and complete algorithm which takes two lambda terms and computes their generalizations in the form of higher-order patterns. The problem is finitary: the minimal complete set of generalizations contains finitely many elements. We define the notion of optimal solution and investigate special fragments of the problem for which the optimal solution can be computed in linear or polynomial time

    Opening the AC-Unification Race

    Get PDF
    This note reports about the implementation of AC-unification algorithms, based on the variable-abstraction method of Stickel and on the constant-abstraction method of Livesey, Siekmann, and Herold. We give a set of 105 benchmark examples and compare execution times for implementations of the two approaches. This documents for other researchers what we consider to be the state-of-the-art performance for elementary AC-unification problems

    Complete Sets of Reductions Modulo A Class of Equational Theories which Generate Infinite Congruence Classes

    Get PDF
    In this paper we present a generalization of the Knuth-Bendix procedure for generating a complete set of reductions modulo an equational theory. Previous such completion procedures have been restricted to equational theories which generate finite congruence classes. The distinguishing feature of this work is that we are able to generate complete sets of reductions for some equational theories which generate infinite congruence classes. In particular, we are able to handle the class of equational theories which contain the associative, commutative, and identity laws for one or more operators. We first generalize the notion of rewriting modulo an equational theory to include a special form of conditional reduction. We are able to show that this conditional rewriting relation restores the finite termination property which is often lost when rewriting in the presence of infinite congruence classes. We then develop Church-Rosser tests based on the conditional rewriting relation and set forth a completion procedure incorporating these tests. Finally, we describe a computer program which implements the theory and give the results of several experiments using the program

    ACUOS: A System for Order-Sorted Modular ACU Generalization

    Full text link
    [ES] La generalización, también denominada anti-unificación, es la operación dual de la unificación. Dados dos términos t y t' , un generalizador es un término t'' del cual t y t' son instancias de sustitución. El concepto dual del unificador más general (mgu) es el de generalizador menos general (lgg). En esta tesina extendemos el conocido algoritmo de generalización sin tipos a, primero, una configuración order-sorted con sorts, subsorts y polimorfismo de subtipado; en segundo lugar, la extendemos para soportar generalización módulo teorías ecuacionales, donde los símbolos de función pueden obedecer cualquier combinación de axiomas de asociatividad, conmutatividad e identidad (incluyendo el conjunto vacío de dichos axiomas); y, en tercer lugar, a la combinación de ambos, que resulta en un algoritmo modular de generalización order-sorted ecuacional. A diferencia de las configuraciones sin tipos, en nuestro marco teórico en general el lgg no es único, lo que se debe tanto al tipado como a los axiomas ecuacionales. En su lugar, existe un conjunto finito y mínimo de lggs, tales que cualquier otra generalización tiene a alguno de ellos como instancia. Nuestros algoritmos de generalización se expresan mediante reglas de inferencia para las cuales damos demostraciones de corrección. Ello abre la puerta a nuevas aplicaciones en campos como la evaluación parcial, la síntesis de programas, la minería de datos y la demostración de teoremas para sistemas de razonamiento ecuacional y lenguajes tipados basados en reglas tales como ASD+SDF, Elan, OBJ, CafeOBJ y Maude. Esta tesis también describe una herramienta para el cómputo automatizado de los generalizadores de un conjunto dado de estructuras en un lenguaje tipado módulo un conjunto de axiomas dado. Al soportar la combinación modular de atributos ecuacionales de asociatividad, conmutatividad y existencia de elemento neutro (ACU) para símbolos de función arbitrarios, la generalización ACU modular aporta suficiente poder expresivo a la generalización ordinaria para razonar sobre estructuras de datos tipadas tales como listas, conjuntos y multiconjuntos. La técnica ha sido implementada con generalidad y eficiencia en el sistema ACUOS y puede ser fácilmente integrada con software de terceros.[EN] Generalization, also called anti-uni cation, is the dual of uni cation. Given terms t and t 0 , a generalization is a term t 00 of which t and t 0 are substitution instances. The dual of a most general uni er (mgu) is that of least general generalization (lgg). In this thesis, we extend the known untyped generalization algorithm to, rst, an order-sorted typed setting with sorts, subsorts, and subtype polymorphism; second, we extend it to work modulo equational theories, where function symbols can obey any combination of associativity, commutativity, and identity axioms (includ- ing the empty set of such axioms); and third, to the combination of both, which results in a modular, order-sorted equational generalization algo- rithm. Unlike the untyped case, there is in general no single lgg in our framework, due to order-sortedness or to the equational axioms. Instead, there is a nite, minimal set of lggs, so that any other generalization has at least one of them as an instance. Our generalization algorithms are expressed by means of inference systems for which we give proofs of cor- rectness. This opens up new applications to partial evaluation, program synthesis, data mining, and theorem proving for typed equational rea- soning systems and typed rule-based languages such as ASF+SDF, Elan, OBJ, Cafe-OBJ, and Maude. This thesis also describes a tool for automatically computing the gen- eralizers of a given set of structures in a typed language modulo a set of axioms. By supporting the modular combination of associative, com- mutative and unity (ACU) equational attributes for arbitrary function symbols, modular ACU generalization adds enough expressive power to ordinary generalization to reason about typed data structures such as lists, sets and multisets. The ACU generalization technique has been generally and e ciently implemented in the ACUOS system and can be easily integrated with third-party software.Espert Real, J. (2012). ACUOS: A System for Order-Sorted Modular ACU Generalization. http://hdl.handle.net/10251/1921
    corecore