8 research outputs found

    Towards Deciding Second-order Unification Problems Using Regular Tree Automata

    Get PDF
    International audienceThe second-order unification problem is undecidable [5]. While unification procedures, like Huet's pre-unification, terminate with success on unifiable problems, they might not terminate on non-unifiable ones. There are several decidability results for unification problems with infinitely-many pre-unifiers, such as for monadic second-order problems [3]. These results are based on the regular structure of the solutions of these problems and by computing minimal unifiers. Beyond the importance of the knowledge that searching for unifiers of decidable problems always terminates, one can also use this information in order to optimize unification algorithms, such as in the case for pattern unification [10]. Nevertheless, being able to prove that the unification problem of a certain class of unification constraints is decidable is far from easy. Some results were obtained for certain syntactic restrictions on the problems (see Levy [8] for some results and references) or on the unifiers (see Schmidt-Schauß [11], Schmidt-Schauß and Schulz [12, 13] and Je˙ z [7] for some results). Infinitary unification problems, like the ones we are considering, might suggest that known tools for dealing with the infinite might be useful. One such tool is the regular tree automaton. The drawback of using regular automata for unification is, of course, their inability to deal with variables. In this paper we try to overcome this obstacle and describe an ongoing work about using regular tree automata [1] in order to decide more general second-order unification problems. The second-order unification problems we will consider are of the form λz n .x 0 t. = λz n .C(x 0 s) where C is a non-empty context [2] and x 0 does not occur in t or s. We will call such problems cyclic problems. An important result in second-order unification was obtained by Ganzinger et al. [4] and stated that second-order unification is undecidable already when there is only one second-order variable occurring twice. The unification problem they used for proving the undecidability result was an instance of the following cyclic problem. Note that we chose to use in the definition only unary second-order variables but that this restriction should not be essential. x 0 (w 1 , g(y 1 , a)) = g(y 2 , x 0 (w 2 , a)) (1) Our decidability result is obtained by posing one further restriction over cyclic problems which is based on the existence and location of variables other than the cyclic one. A sufficient condition for the decidability of second-order unification problems was given by Levy [8]. This condition states that if we can never encounter, when applying Huet's pre-unification procedure [6] to a problem, a cyclic equation, then the procedure terminates. It follows from this result that deciding second-order unification problems depends on the ability to decide cyclic problems. The rules of Huet's procedure (PUA) are given in Fig. 1. Imitation partial bindings and projection partial bindings are defined in [14] and are denoted, respectively, by PB(f, α) and PB(i, α) where α is a type, Σ a signature f ∈ Σ and i > 0

    On the Limits of Second-Order Unification

    Get PDF
    Second-Order Unification is a problem that naturally arises when applying automated deduction techniques with variables denoting predicates. The problem is undecidable, but a considerable effort has been made in order to find decidable fragments, and understand the deep reasons of its complexity. Two variants of the problem, Bounded Second-Order Unification and Linear Second-Order Unification ¿where the use of bound variables in the instantiations is restricted¿, have been extensively studied in the last two decades. In this paper we summarize some decidability/undecidability/complexity results, trying to focus on those that could be more interesting for a wider audience, and involving less technical details.Peer Reviewe

    Nominal Unification from a Higher-Order Perspective

    Full text link
    Nominal Logic is a version of first-order logic with equality, name-binding, renaming via name-swapping and freshness of names. Contrarily to higher-order logic, bindable names, called atoms, and instantiable variables are considered as distinct entities. Moreover, atoms are capturable by instantiations, breaking a fundamental principle of lambda-calculus. Despite these differences, nominal unification can be seen from a higher-order perspective. From this view, we show that nominal unification can be reduced to a particular fragment of higher-order unification problems: Higher-Order Pattern Unification. This reduction proves that nominal unification can be decided in quadratic deterministic time, using the linear algorithm for Higher-Order Pattern Unification. We also prove that the translation preserves most generality of unifiers

    Contributions to artificial intelligence: the IIIA perspective

    Get PDF
    La intel·ligència artificial (IA) és un camp científic i tecnològic relativament nou dedicat a l'estudi de la intel·ligència mitjançant l'ús d'ordinadors com a eines per produir comportament intel·ligent. Inicialment, l'objectiu era essencialment científic: assolir una millor comprensió de la intel·ligència humana. Aquest objectiu ha estat, i encara és, el dels investigadors en ciència cognitiva. Dissortadament, aquest fascinant però ambiciós objectiu és encara molt lluny de ser assolit i ni tan sols podem dir que ens hi haguem acostat significativament. Afortunadament, però, la IA també persegueix un objectiu més aplicat: construir sistemes que ens resultin útils encara que la intel·ligència artificial de què estiguin dotats no tingui res a veure amb la intel·ligència humana i, per tant, aquests sistemes no ens proporcionarien necessàriament informació útil sobre la naturalesa de la intel·ligència humana. Aquest objectiu, que s'emmarca més aviat dins de l'àmbit de l'enginyeria, és actualment el que predomina entre els investigadors en IA i ja ha donat resultats impresionants, tan teòrics com aplicats, en moltíssims dominis d'aplicació. A més, avui dia, els productes i les aplicacions al voltant de la IA representen un mercat anual de desenes de milers de milions de dòlars. Aquest article resumeix les principals contribucions a la IA fetes pels investigadors de l'Institut d'Investigació en Intel·ligència Artificial del Consell Superior d'Investigacions Científiques durant els darrers cinc anys.Artificial intelligence is a relatively new scientific and technological field which studies the nature of intelligence by using computers to produce intelligent behaviour. Initially, the main goal was a purely scientific one, understanding human intelligence, and this remains the aim of cognitive scientists. Unfortunately, such an ambitious and fascinating goal is not only far from being achieved but has yet to be satisfactorily approached. Fortunately, however, artificial intelligence also has an engineering goal: building systems that are useful to people even if the intelligence of such systems has no relation whatsoever with human intelligence, and therefore being able to build them does not necessarily provide any insight into the nature of human intelligence. This engineering goal has become the predominant one among artificial intelligence researchers and has produced impressive results, ranging from knowledge-based systems to autonomous robots, that have been applied to many different domains. Furthermore, artificial intelligence products and services today represent an annual market of tens of billions of dollars worldwide. This article summarizes the main contributions to the field of artificial intelligence made at the IIIA-CSIC (Artificial Intelligence Research Institute of the Spanish Scientific Research Council) over the last five years

    Decidable and Undecidable Second-Order Unification Problems

    No full text
    There is a close relationship between word unification and second-order unification. This similarity has been exploited for instance for proving decidability of monadic second-order unification. Word unification can be easily decided by transformation rules (similar to the ones applied in higher-order unification procedures) when variables are restricted to occur at most twice. Hence a well-known open question was the decidability of second-order unification under this same restriction. Here we answer this question negatively by reducing simultaneous rigid E-unification to second-order unification. This reduction, together with an inverse reduction found by Degtyarev and Voronkov, states an equivalence relationship between both unification problems. Our reduction is in some sense reversible, providing decidability results for cases when simultaneous rigid E-unification is decidable. This happens, for example, for one-variable problems where the variable occurs at most twice (because rigid E-unification is decidable for just one equation). We also prove decidability when no variable occurs more than once, hence significantly narrowing the gap between decidable and undecidable second-order unification problems with variable occurrence restrictions

    A Dependently Typed Language with Nontermination

    Get PDF
    We propose a full-spectrum dependently typed programming language, Zombie, which supports general recursion natively. The Zombie implementation is an elaborating typechecker. We prove type saftey for a large subset of the Zombie core language, including features such as computational irrelevance, CBV-reduction, and propositional equality with a heterogeneous, completely erased elimination form. Zombie does not automatically beta-reduce expressions, but instead uses congruence closure for proof and type inference. We give a specification of a subset of the surface language via a bidirectional type system, which works up-to-congruence, and an algorithm for elaborating expressions in this language to an explicitly typed core language. We prove that our elaboration algorithm is complete with respect to the source type system. Zombie also features an optional termination-checker, allowing nonterminating programs returning proofs as well as external proofs about programs
    corecore