16 research outputs found
E-Generalization Using Grammars
We extend the notion of anti-unification to cover equational theories and
present a method based on regular tree grammars to compute a finite
representation of E-generalization sets. We present a framework to combine
Inductive Logic Programming and E-generalization that includes an extension of
Plotkin's lgg theorem to the equational case. We demonstrate the potential
power of E-generalization by three example applications: computation of
suggestions for auxiliary lemmas in equational inductive proofs, computation of
construction laws for given term sequences, and learning of screen editor
command sequences.Comment: 49 pages, 16 figures, author address given in header is meanwhile
outdated, full version of an article in the "Artificial Intelligence
Journal", appeared as technical report in 2003. An open-source C
implementation and some examples are found at the Ancillary file
Anti-unification and Generalization: A Survey
Anti-unification (AU), also known as generalization, is a fundamental
operation used for inductive inference and is the dual operation to
unification, an operation at the foundation of theorem proving. Interest in AU
from the AI and related communities is growing, but without a systematic study
of the concept, nor surveys of existing work, investigations7 often resort to
developing application-specific methods that may be covered by existing
approaches. We provide the first survey of AU research and its applications,
together with a general framework for categorizing existing and future
developments.Comment: Accepted at IJCAI 2023 - Survey Trac
A Variant of Higher-Order Anti-Unification
We present a rule-based Huet's style anti-unification algorithm for simply-typed lambda-terms in η-long -normal form, which computes a least general higher-order pattern generalization. For a pair of arbitrary terms of the same type, such a generalization always exists and is unique modulo α-equivalence and variable renaming. The algorithm computes it in cubic time within linear space. It has been implemented and the code is freely available. © Alexander Baumgartner, Temur Kutsia, Jordi Levy, and Mateu Villaret; licensed under Creative Commons License CC-BY 24th International Conference on Rewriting Techniques and Applications (RTA'13).This research has been partially supported by the projects HeLo (TIN2012-33042) and TASSAT (TIN2010-20967-C04-01), by the Austrian Science Fund (FWF) with the project SToUT (P 24087-N18) and by the Generalitat de Catalunya with the grant AGAUR 2009-SGR-1434.Peer Reviewe
Anti-Unification of Unordered Goals
Anti-unification in logic programming refers to the process of capturing common syntactic structure among given goals, computing a single new goal that is more general called a generalization of the given goals. Finding an arbitrary common generalization for two goals is trivial, but looking for those common generalizations that are either as large as possible (called largest common generalizations) or as specific as possible (called most specific generalizations) is a non-trivial optimization problem, in particular when goals are considered to be unordered sets of atoms. In this work we provide an in-depth study of the problem by defining two different generalization relations. We formulate a characterization of what constitutes a most specific generalization in both settings. While these generalizations can be computed in polynomial time, we show that when the number of variables in the generalization needs to be minimized, the problem becomes NP-hard. We subsequently revisit an abstraction of the largest common generalization when anti-unification is based on injective variable renamings, and prove that it can be computed in polynomially bounded time
Higher-Order Pattern Anti-Unification in Linear Time
We present a rule-based Huet’s style anti-unification algorithm for simply typed lambda-terms, which computes a least general higher-order pattern generalization. For a pair of arbitrary terms of the same type, such a generalization always exists and is unique modulo α-equivalence and variable renaming. With a minor modification, the algorithm works for untyped lambda-terms as well. The time complexity of both algorithms is linear.This research has been partially supported by the Austrian Science Fund (FWF) project SToUT (P 24087-N18), the Upper Austrian Government strategic program “Innovatives OÖ 2010plus”, the MINECO projects RASO (TIN2015-71799-C2-1-P) and HeLo (TIN2012-33042), the MINECO/FEDER UE project LoCoS (TIN2015-66293-R) and the UdG project MPCUdG2016/055.Peer Reviewe
KitBit: A New AI Model for Solving Intelligence Tests and Numerical Series
The resolution of intelligence tests, in particular numerical sequences, has
been of great interest in the evaluation of AI systems. We present a new
computational model called KitBit that uses a reduced set of algorithms and
their combinations to build a predictive model that finds the underlying
pattern in numerical sequences, such as those included in IQ tests and others
of much greater complexity. We present the fundamentals of the model and its
application in different cases. First, the system is tested on a set of number
series used in IQ tests collected from various sources. Next, our model is
successfully applied on the sequences used to evaluate the models reported in
the literature. In both cases, the system is capable of solving these types of
problems in less than a second using standard computing power. Finally,
KitBit's algorithms have been applied for the first time to the complete set of
entire sequences of the well-known OEIS database. We find a pattern in the form
of a list of algorithms and predict the following terms in the largest number
of series to date. These results demonstrate the potential of KitBit to solve
complex problems that could be represented numerically.Comment: 11 page
ACUOS: A System for Order-Sorted Modular ACU Generalization
[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
A Modular Order-sorted Equational Generalization Algorithm
Generalization, also called anti-unification, is the dual of unification. Given terms t and t
,
a generalizer is a term t of which t and t are substitution instances. The dual of
a most general unifier (mgu) is that of least general generalizer (lgg). In this work, we
extend the known untyped generalization algorithm to, first, 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 (including the empty set of such axioms); and third, to
the combination of both, which results in a modular, order-sorted equational generalization
algorithm. 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 finite, minimal and
complete set of lggs, so that any other generalizer 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 correctness. This opens up new applications to partial evaluation, program
synthesis, and theorem proving for typed equational reasoning systems and typed rulebased
languages such as ASF+SDF, Elan, OBJ, Cafe-OBJ, and Maude.
© 2014 Elsevier Inc. All rights reserved.
1.M. Alpuente, S. Escobar, and J. Espert have been partially supported by the EU (FEDER) and the Spanish MEC/MICINN under grant TIN 2010-21062-C02-02, and by Generalitat Valenciana PROMETEO2011/052. J. Meseguer has been supported by NSF Grants CNS 09-04749, and CCF 09-05584.Alpuente Frasnedo, M.; Escobar Román, S.; Espert Real, J.; Meseguer, J. (2014). A Modular Order-sorted Equational Generalization Algorithm. Information and Computation. 235:98-136. https://doi.org/10.1016/j.ic.2014.01.006S9813623