Variadic equational matching in associative and commutative theories

In this paper we study matching in equational theories that specify counterparts of associativity and commutativity for variadic function symbols. We design a procedure to solve a system of matching equations and prove its termination, soundness, completeness, and minimality. The minimal complete set of matchers for such a system can be infinite, but our algorithm computes its finite representation in the form of solved set. From the practical side, we identify two finitary cases and impose restrictions on the procedure to get an incomplete algorithm, which, based on our experiments, describes the inputoutput behavior and properties of Mathematica’s flat and orderless pattern matching.

[1]  Temur Kutsia,et al.  Unification with Sequence Variables and Flexible Arity Symbols and Its Extension with Pattern-Terms , 2002, AISC.

[2]  J. A. Robinson,et al.  Handbook of Automated Reasoning (in 2 volumes) , 2001 .

[3]  Feryal Fulya Horozal A Framework for Defining Declarative Languages , 2014 .

[4]  Temur Kutsia,et al.  On the Implementation of a Rule-Based Programming System and Some of its Applications , 2008 .

[5]  Koji Nakagawa,et al.  Theorema: Towards computer-aided mathematical theory exploration , 2006, J. Appl. Log..

[6]  Paolo Bientinesi,et al.  Efficient Pattern Matching in Python , 2017, PyHPC@SC.

[7]  Michael Kohlhase,et al.  Flexary Operators for Formalized Mathematics , 2014, CICM.

[8]  Temur Kutsia,et al.  Equational Prover of THEOREMA , 2003, RTA.

[9]  Temur Kutsia,et al.  Strategies in PρLog , 2010 .

[10]  Temur Kutsia,et al.  Solving, Reasoning, and Programming in Common Logic , 2012, 2012 14th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[11]  Mário Florido,et al.  A Rule-Based Approach to XML Processing and Web Reasoning , 2010, RR.

[12]  Temur Kutsia,et al.  Foundations of the rule-based system ρLog , 2006, J. Appl. Non Class. Logics.

[13]  Mário Florido,et al.  CLP(H): Constraint logic programming for hedges , 2016, Theory Pract. Log. Program..

[14]  Claude Kirchner,et al.  Anti-patterns for rule-based languages , 2010, J. Symb. Comput..

[15]  Michael Trott The mathematica guidebook for programming (includes DVD) , 2004 .

[16]  Mário Florido,et al.  CLP(Flex): Constraint Logic Programming Applied to XML Processing , 2004, CoopIS/DOA/ODBASE.

[17]  Norbert E. Fuchs,et al.  Development of Correct Transformation Schemata for Prolog Programs , 1997, LOPSTR.

[18]  Thomas J. Schaefer,et al.  The complexity of satisfiability problems , 1978, STOC.

[19]  Temur Kutsia,et al.  Solving Equations Involving Sequence Variables and Sequence Functions , 2004, AISC.

[20]  Mircea Marin,et al.  Programming with Sequence Variables: the Sequentica Package , 2003 .

[21]  Geoff Sutcliffe,et al.  First Order Reasoning on a Large Ontology , 2007, ESARLT.

[22]  Ronald V. Book,et al.  Rewriting Techniques and Applications , 1991, Lecture Notes in Computer Science.

[23]  Temur Kutsia,et al.  Variadic Equational Matching , 2019, CICM.

[24]  Temur Kutsia Flat matching , 2008, J. Symb. Comput..

[25]  Steven Eker Single Elementary Associative-Commutative Matching , 2004, Journal of Automated Reasoning.

[26]  Franz Baader,et al.  Unification theory , 1986, Decis. Support Syst..

[27]  Temur Kutsia,et al.  Solving equations with sequence variables and sequence functions , 2007, J. Symb. Comput..

[28]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[29]  Paolo Bientinesi,et al.  Automatic Generation of Efficient Linear Algebra Programs , 2019, PASC.

[30]  Zohar Manna,et al.  Proving termination with multiset orderings , 1979, CACM.

[31]  Thomas Lukasiewicz,et al.  Web Reasoning and Rule Systems - Fourth International Conference, RR 2010, Bressanone/Brixen, Italy, September 22-24, 2010. Proceedings , 2010, RR.

[32]  N. E. Fuchs Logic Programming Synthesis and Transformation, 7th International Workshop, LOPSTR'97, Leuven, Belgium, July 10-12, 1997, Proceedings , 1998, LOPSTR.

[33]  François Fages,et al.  Complete Sets of Unifiers and Matchers in Equational Theories , 1983, CAAP.

[34]  Stephen Wolfram,et al.  The Mathematica Book , 1996 .

[35]  Yves Deville,et al.  Logic Program Schemas, Constraints, and Semi-unification , 1997, LOPSTR.

[36]  Benjamin C. Pierce,et al.  Regular expression pattern matching for XML , 2003, POPL '01.

[37]  Temur Kutsia,et al.  Regular expression order-sorted unification and matching , 2015, J. Symb. Comput..

[38]  Paliath Narendran,et al.  Complexity of Matching Problems , 1987, J. Symb. Comput..

[39]  Mário Florido,et al.  XCentric: A Logic-Programming Language for XML Processing , 2007, PLAN-X.

[40]  Temur Kutsia,et al.  An Overview of PρLog , 2017, PADL.

[41]  Steven Eker,et al.  Associative-Commutative Rewriting on Large Terms , 2003, RTA.

[42]  Jean-Marie Hullot,et al.  Associative Commutative Pattern Matching , 1979, IJCAI.