A Variant of Higher-Order Anti-Unification
Alexander Baumgartner Temur Kutsia Jordi Levy Mateu Villaret
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
A Variant of Higher-Order Anti-Unification Alexander Baumgartner - - PowerPoint PPT Presentation
A Variant of Higher-Order Anti-Unification Alexander Baumgartner Temur Kutsia Jordi Levy Mateu Villaret Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification Anti-Unification Problem Given two terms t 1 , t 2 .
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
◮ Input: Simply-typed lambda terms t1, t2. ◮ Output: Simply-typed higher-order pattern generalization of t1, t2. Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
◮ Input: Simply-typed lambda terms t1, t2. ◮ Output: Simply-typed higher-order pattern generalization of t1, t2.
◮ Design algorithm, ◮ Prove correctness, ◮ Complexity analysis, ◮ Implementation. Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
◮ λx.f (X(x), Y ), f (c, λx.x) and λx.λy.X(λz.x(z), y) are patterns. ◮ λx.f (X(X(x)), Y ), f (X(c), c) and λx.λy.X(x, x) are not patterns.
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
◮ A is a set of AUPs like {X1(#»
◮ S is a set of already solved AUPs (the store). ◮ σ is a substitution which maps variables to patterns.
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
◮ D is a set of domain variables, ◮ R is a set of range variables, ◮ P is a set of matching problems of the form {s1 ⇒ t1, . . . , sm ⇒ tm}, ◮ ρ is a substitution which keeps track of bound variable renamings, ◮ π is a substitution which keeps track of the permutations.
◮ The failure state ⊥. ◮ The success state D; R; ∅; ρ; π. Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification
◮ Soundness, completeness, and termination of M. ◮ Soundness, completeness, and termination of P. ◮ Computed result is a pattern-lgg and unique modulo α-equivalence.
◮ M has linear time and space complexity. ◮ P has cubic time and linear space complexity.
◮ http://www.risc.jku.at/projects/stout/software/hoau.php Baumgartner, Kutsia, Levy, Villaret A Variant of Higher-Order Anti-Unification