Unification in many-sorted equational theories
Proc. of the 8th international conference on Automated deduction
Algebraic specification
Foundations of deductive databases and logic programming
Journal of Symbolic Computation
Journal of Symbolic Computation
Conditional rewriting logic as a unified model of concurrency
Selected papers of the Second Workshop on Concurrency and compositionality
Tutorial on specialisation of logic programs
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Partial evaluation of functional logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Inductive logic programming: issues, results and the challenge of learning language in logic
Artificial Intelligence - Special issue on applications of artificial intelligence
An Efficient Unification Algorithm
ACM Transactions on Programming Languages and Systems (TOPLAS)
Computer-Aided Reasoning: An Approach
Computer-Aided Reasoning: An Approach
ELAN from a rewriting logic point of view
Theoretical Computer Science - Rewriting logic and its applications
Membership algebra as a logical framework for equational specification
WADT '97 Selected papers from the 12th International Workshop on Recent Trends in Algebraic Development Techniques
Specialization of functional logic programs based on needed narrowing
Theory and Practice of Logic Programming
All about maude - a high-performance logical framework: how to specify, program and verify systems in rewriting logic
A Modular Equational Generalization Algorithm
Logic-Based Program Synthesis and Transformation
An integrated framework for the diagnosis and correction of rule-based programs
Theoretical Computer Science
Anti-unification for Unranked Terms and Hedges
Journal of Automated Reasoning
Hi-index | 0.02 |
Generalization, also called anti-unification, is the dual of unification. Given terms t and t^', a generalization 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 generalization (lgg). In this work, we extend the known untyped generalization algorithm to an order-sorted typed setting with sorts, subsorts, and subtype polymorphism. Unlike the untyped case, there is in general no single lgg. Instead, there is a finite, minimal set of lggs, so that any other generalization has at least one of them as an instance. Our generalization algorithm is expressed by means of an inference system for which we give a proof of correctness. This opens up new applications to partial evaluation, program synthesis, and theorem proving for typed reasoning systems and typed rule-based languages such as ASF+SDF, Elan, OBJ, Cafe-OBJ, and Maude.