LATA 2008: Language and Automata Theory and Applications pp 275-286 | Cite as
Anti-pattern Matching Modulo
Abstract
Negation is intrinsic to human thinking and most of the time when searching for something, we base our patterns on both positive and negative conditions. In a recent work, the notion of term was extended to the one of anti-term, i.e. terms that may contain complement symbols.
Here we generalize the syntactic anti-pattern matching to anti-pattern matching modulo an arbitrary equational theory ε, and we study the specific and practically very useful case of associativity, possibly with a unity (\(\mathcal{AU}\)). To this end, based on the syntacticness of associativity, we present a rule-based associative matching algorithm, and we extend it to \(\mathcal{AU}\). This algorithm is then used to solve \(\mathcal{AU}\) anti-pattern matching problems. This allows us to be generic enough so that for instance, the AllDiff standard predicate of constraint programming becomes simply expressible in this framework. \(\mathcal{AU}\) anti-patterns are implemented in the Tom language and we show some examples of their usage.
Preview
Unable to display preview. Download preview PDF.
References
- 1.Balland, E., Brauner, P., Kopetz, R., Moreau, P.-E., Reilles, A.: Tom: Piggybacking rewriting on java. In: Baader, F. (ed.) RTA 2007. LNCS, vol. 4533, pp. 36–47. Springer, Heidelberg (2007)CrossRefGoogle Scholar
- 2.van den Brand, M., Deursen, A., Heering, J., Jong, H., Jonge, M., Kuipers, T., Klint, P., Moonen, L., Olivier, P., Scheerder, J., Vinju, J., Visser, E., Visser, J.: The ASF+SDF Meta-Environment: a Component-Based Language Development Environment. In: Wilhelm, R. (ed.) CC 2001. LNCS, vol. 2027, pp. 365–370. Springer, Heidelberg (2001)CrossRefGoogle Scholar
- 3.Comon, H., Kirchner, C.: Constraint solving on terms. In: Comon, H., Marché, C., Treinen, R. (eds.) CCL 1999. LNCS, vol. 2002, pp. 47–103. Springer, Heidelberg (2001)CrossRefGoogle Scholar
- 4.Eker, S.: Associative matching for linear terms. Report CS-R9224, CWI, ISSN 0169-118X (1992)Google Scholar
- 5.Eker, S.: Associative-commutative rewriting on large terms. In: Nieuwenhuis, R. (ed.) RTA 2003. LNCS, vol. 2706, pp. 14–29. Springer, Heidelberg (2003)CrossRefGoogle Scholar
- 6.Kirchner, C.: Computing unification algorithms, pp. 206–216 (1986)Google Scholar
- 7.Kirchner, C., Klay, F.: Syntactic theories and unification, pp. 270–277 (June 1990)Google Scholar
- 8.Kirchner, C., Kopetz, R., Moreau, P.: Anti-pattern matching. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 110–124. Springer, Heidelberg (2007)CrossRefGoogle Scholar
- 9.Kirchner, C., Kopetz, R., Moreau, P.: Anti-pattern matching modulo. Technical report, INRIA & LORIA Nancy (2007), http://hal.inria.fr/inria-00129421/fr/
- 10.Makanin, G.S.: The problem of solvability of equations in a free semigroup. Math. USSR Sbornik 32(2), 129–198 (1977)MATHCrossRefGoogle Scholar
- 11.Marché, C.: Normalized rewriting: an alternative to rewriting modulo a set of equations. Journal of Symbolic Computation 21(3), 253–288 (1996)MATHCrossRefMathSciNetGoogle Scholar
- 12.Nipkow, T.: Proof transformations for equational theories, pp. 278–288 (June 1990)Google Scholar
- 13.Nipkow, T.: Combining matching algorithms: The regular case. Journal of Symbolic Computation 12(6), 633–653 (1991)MATHCrossRefMathSciNetGoogle Scholar
- 14.Plotkin, G.: Building-in equational theories. Machine Intelligence 7, 73–90 (1972)MATHMathSciNetGoogle Scholar
- 15.Ringeissen, C.: Combining decision algorithms for matching in the union of disjoint equational theories. Information and Computation 126(2), 144–160 (1996)MATHCrossRefMathSciNetGoogle Scholar
- 16.Treinen, R.: A new method for undecidability proofs of first order theories. Journal of Symbolic Computation 14(5), 437–457 (1992)MATHCrossRefMathSciNetGoogle Scholar