9 research outputs found

    Nominal AC-Matching

    Get PDF

    Church-Rosser Properties of Normal Rewriting

    Get PDF
    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 rewriting at higher types

    Unification of Higher-order Patterns modulo Simple Syntactic Equational Theories

    Get PDF
    We present an algorithm for unification of higher-order patterns modulo simple syntactic equational theories as defined by Kirchner [14]. The algorithm by Miller [17] for pattern unification, refined by Nipkow [18] is first modified in order to behave as a first-order unification algorithm. Then the mutation rule for syntactic theories of Kirchner [13,14] is adapted to pattern E-unification. If the syntactic algorithm for a theory E terminates in the first-order case, then our algorithm will also terminate for pattern E-unification. The result is a DAG-solved form plus some equations of the form λ øverlinex.F(øverlinex) = λ øverlinex. F(øverlinex^π ) where øverlinex^π is a permutation of øverlinex When all function symbols are decomposable these latter equations can be discarded, otherwise the compatibility of such equations with the solved form remains open

    Nominal equational problems modulo associativity, commutativity and associativity-commutativity

    Get PDF
    Tese (doutorado)—Universidade de Brasília, Instituto de Ciências Exatas, Departamento de Ciência da Computação, 2019.A sintaxe nominal tem sido utilizada em vários contextos por quase duas décadas. Ela é uma ferramenta poderosa para se lidar com ligação de variáveis de uma forma concreta, que pode ser aplicada a qualquer especificação na qual parâmetros são utilizados para se abstrair variáveis, tal como em predicados e funções. Na sintaxe nominal, objetos que são sintaticamente diferentes podem ter a mesma semântica módulo alfa-conversão, tal como acontece no Cálculo Lambda. O tratamento de igualdades, em especial a alphaequivalêcia, é algo essencial em linguagens formais e implementações. Este trabalho investiga a alpha-equivalência nominal com símbolos de função associativos (A), comutativos (C) e associativos-comutativos (AC). Verificação de equivalência, casamento e unificação módulo A, C e AC são investigados. Em relação a verificação de igualdade, as alphaequivalências nominais módulo A, C e AC foram especificadas em Coq e provadas ser corretas. Um algoritmo implementado em OCaml para verificação de igualdade módulo A, C e AC é automaticamente extraído da especificação e experimentos são executados utilizando-se também um algoritmo aperfeiçoado. Limites superiores para o tempo de execução na solução de problemas nominais de verificação equacional são fornecidos. Um algoritmo de unificação módulo C baseado em regras de redução é especificado em Coq e provado ser correto e completo. Por meio do uso de variáveis protegidas, este algoritmo de unificação resolve problemas de casamento nominal módulo C, o que foi também formalizado ser correto e completo. O algoritmo de unificação baseado em regras de redução fornece uma família finita de conjuntos de equações nominais de ponto fixo. Cada uma destas equações pode ter um conjunto infinito de soluções independentes. Portanto, demonstra-se que problemas de unificação nominal módulo C e AC podem gerar um conjunto infinito de soluções independentes. Este fato contrasta com unificação sintática módulo C ou AC, que são conhecidas por estar na classe finitária de problemas. Uma implementação em OCaml do algoritmo de unificação nominal é fornecida e utilizado para se construir exemplos.The nominal syntax has been used in many application contexts for almost two decades. It is a powerful tool for dealing with variable binding in a concrete manner that can be applied to any specification in which parameters are used to abstract variables, such as in predicates and functions. In the nominal syntax, syntactically different objects can have the same semantics modulo alpha-conversion, as happens in the lambda calculus. Dealing with equality, and in special with alpha-equivalence, is essential in formal languages and implementations. This work investigates the nominal alpha-equivalence with associative (A), commutative (C) and associative-comutative (AC) function symbols. Equalitychecking, matching and unification modulo A, C and AC are investigated. Regarding equality-checking, nominal alpha-equivalence modulo A, C and AC are specified in Coq and proved sound. An algorithm implemented in OCaml for equality-checking modulo A, C and AC is automatically extracted from the specification and experiments are performed using also an improved algorithm. Upper bounds for solving nominal equality-checking problems are given. A rule-based nominal unification modulo C algorithm is specified in Coq and proved sound and complete. By using protected variables, this unification algorithm solves nominal matching problems modulo C, which is formalised to be sound and complete. The rule-based nominal unification algorithm outputs a finite family of sets of fixed point nominal equations. Each of which might have an infinite set of independent solutions. Therefore, nominal unification modulo C or AC are proved to potentially generate infinite independent solutions. This contrasts with syntactic unification modulo C or AC that are known to be in the finitary class. An OCaml implementation of the nominal unification algorithm is provided and used to build examples

    A mechanization of sorted higher-order logic based on the resolution principle

    Get PDF
    The usage of sorts in first-order automated deduction has brought greater conciseness of representation and a considerable gain in efficiency by reducing the search spaces involved. This suggests that sort information can be employed in higher-order theorem proving with similar results. This thesis develops a sorted higher-order logic SUM HOL suitable for automatic theorem proving applications. SUM HOL is based on a sorted Lambda-calculus SUM A->, which is obtained by extending Church';s simply typed Lambda-calculus by a higher-order sort concept including term declarations and functional base sorts. The term declaration mechanism studied here is powerful enough to allow convenient formalization of a large body of mathematics, since it offers natural primitives for domains and codomains of functions, and allows to treat function restriction. Furthermore, it subsumes most other mechanisms for the declaration of sort information known from the literature, and can thus serve as a general framework for the study of sorted higher-order logics. For instance, the term declaration mechanism of SUM HOL subsumes the subsorting mechanism as a derived notion, and hence justifies our special form of subsort inference. We present sets of transformations for sorted higher-order unification and pre-unification, and prove the nondeterministic completeness of the algorithm induced by these transformations. The main technical difficulty of unification in ! is that the analysis of general bindings is much more involved than in the unsorted case, since in the presence of term declarations well-sortedness is not a structural property. This difficulty is overcome by a structure theorem that links the structure of a formula to the structure of its sorting derivation. We develop two notions of set-theoretic semantics for SUM HOL. General SUM-models are a direct generalization of Henkin';s general models to the sorted setting. Since no known machine-oriented calculus can adequately mechanize full extensionality, we generalize general SUM-models further to SUM-model structures, which allow full extensionality to fail. The notions of SUM-model structures and general SUM-models allow us to prove model existence theorems for them. These model-theoretic variants of Andrews unifying principle for type theory'; can be used as a powerful tool in completeness proofs of higher-order calculi. Finally, we use our pre-unification algorithms as a central inference procedure for a sorted higherorder resolution calculus in the spirit of Huet';s Constrained Resolution. This calculus is proven sound and complete with respect to our semantics. It differs from Huet';s calculus by allowing early unification strategies and using variable dependencies. For the completeness proof we make use of our model existence theorem, and prove a strong lifting lemma

    A mechanization of sorted higher-order logic based on the resolution principle

    Get PDF
    The usage of sorts in first-order automated deduction has brought greater conciseness of representation and a considerable gain in efficiency by reducing the search spaces involved. This suggests that sort information can be employed in higher-order theorem proving with similar results. This thesis develops a sorted higher-order logic SUM HOL suitable for automatic theorem proving applications. SUM HOL is based on a sorted Lambda-calculus SUM A->, which is obtained by extending Church\u27;s simply typed Lambda-calculus by a higher-order sort concept including term declarations and functional base sorts. The term declaration mechanism studied here is powerful enough to allow convenient formalization of a large body of mathematics, since it offers natural primitives for domains and codomains of functions, and allows to treat function restriction. Furthermore, it subsumes most other mechanisms for the declaration of sort information known from the literature, and can thus serve as a general framework for the study of sorted higher-order logics. For instance, the term declaration mechanism of SUM HOL subsumes the subsorting mechanism as a derived notion, and hence justifies our special form of subsort inference. We present sets of transformations for sorted higher-order unification and pre-unification, and prove the nondeterministic completeness of the algorithm induced by these transformations. The main technical difficulty of unification in ! is that the analysis of general bindings is much more involved than in the unsorted case, since in the presence of term declarations well-sortedness is not a structural property. This difficulty is overcome by a structure theorem that links the structure of a formula to the structure of its sorting derivation. We develop two notions of set-theoretic semantics for SUM HOL. General SUM-models are a direct generalization of Henkin\u27;s general models to the sorted setting. Since no known machine-oriented calculus can adequately mechanize full extensionality, we generalize general SUM-models further to SUM-model structures, which allow full extensionality to fail. The notions of SUM-model structures and general SUM-models allow us to prove model existence theorems for them. These model-theoretic variants of Andrews unifying principle for type theory\u27; can be used as a powerful tool in completeness proofs of higher-order calculi. Finally, we use our pre-unification algorithms as a central inference procedure for a sorted higherorder resolution calculus in the spirit of Huet\u27;s Constrained Resolution. This calculus is proven sound and complete with respect to our semantics. It differs from Huet\u27;s calculus by allowing early unification strategies and using variable dependencies. For the completeness proof we make use of our model existence theorem, and prove a strong lifting lemma

    On Diophantine systems coming from AC-unification of higher-order patterns: exploiting symmetries

    No full text
    We study systems of linear Diophantine equations that arise when performing ACunification of higher-order patterns by the algorithm recently proposed by A. Boudet and E. Contejean [1]. Their solution space presents symmetries which can be exploited to solve them more efficiently. 1 Introduction We investigate the problem of solving systems of linear Diophantine equations of the form (1) in naturals, ß 0 2\Pi n1 X i=1 X ß2\Pi a i;ß z i;ß 0 ffiß \Gamma1 = n2 X i=n1+1 X ß2\Pi a i;ß z i;ß 0 ffiß \Gamma1 (1) in N \Thetan 2 variables z i;` , with 1 i n 2 , ` 2 \Pi = fß 1 ; : : : ; ßN g, being (\Pi; ffi) a given group of permutations, where the operation ffi is composition. Each coefficient a i;ß 2 N. We assume that ß 1 is the identity element. The motivation comes from problems of unification of higher-order patterns modulo an associative-commutative theory. Systems of the form (1) arise while solving the ACunification problem (2) by the algorithm proposed by A. Bo..
    corecore