Deduction, Strategies, and Rewriting

Automated deduction methods should be specified not procedurally, but declaratively, as inference systems which are proved correct regardless of implementation details. Then, different algorithms to implement a given inference system should be specified as strategies to apply the inference rules. The inference rules themselves can be naturally specified as (possibly conditional) rewrite rules. Using a high-performance rewriting language implementation and a strategy language to guide rewriting computations, we can obtain in a modular way implementations of both the inference rules of automated deduction procedures and of algorithms controling their application. This paper presents the design of a strategy language for the Maude rewriting language that supports this modular decomposition: inference systems are specified in system modules, and strategies in strategy modules. We give a set-theoretic semantics for this strategy language, present its different combinators, illustrate its main ideas with several examples, and describe both a reflective prototype in Maude and an ongoing C++ implementation.

[1]  Eelco Visser,et al.  Program Transformation with Stratego/XT: Rules, Strategies, Tools, and Systems in Stratego/XT 0.9 , 2003, Domain-Specific Program Generation.

[2]  Fernando Rosa-Velardo,et al.  Typed Mobile Ambients in Maude , 2005, RULE@RDP.

[3]  Ashish Tiwari,et al.  Abstract Congruence Closure , 2003, Journal of Automated Reasoning.

[4]  MeseguerJosé Conditional rewriting logic as a unified model of concurrency , 1992 .

[5]  Nachum Dershowitz,et al.  Completion for Rewriting Modulo a Congruence , 1987, Theor. Comput. Sci..

[6]  M. Clavel Reflection in Rewriting Logic: Metalogical Foundations and Metaprogramming Applications , 2000 .

[7]  Sylvain Conchon,et al.  Strategies for combining decision procedures , 2003, Theor. Comput. Sci..

[8]  Jean-Louis Lassez,et al.  Computational logic: essays in honor of Alan Robinson , 1991 .

[9]  Tetsuo Tamai,et al.  CAFE: An Industrial-Strength Algebraic Formal Method , 2000 .

[10]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[11]  Adrián Riesco,et al.  Introducing the ITP Tool: a Tutorial , 2006, J. Univers. Comput. Sci..

[12]  Alan Bundy,et al.  Constructing Induction Rules for Deductive Synthesis Proofs , 2006, CLASE.

[13]  Narciso Martí-Oliet,et al.  Rewriting Logic as a Logical and Semantic Framework , 1996 .

[14]  Manuel Clavel,et al.  Reflection in conditional rewriting logic , 2002, Theor. Comput. Sci..

[15]  J. Meseguer,et al.  Building Equational Proving Tools by Reflection in Rewriting Logic , 2000 .

[16]  Alberto Martelli,et al.  An Efficient Unification Algorithm , 1982, TOPL.

[17]  Cesare Tinelli,et al.  Abstract DPLL and Abstract DPLL Modulo Theories , 2005, LPAR.

[18]  José Meseguer,et al.  Towards a Strategy Language for Maude , 2005, WRLA.

[19]  Alberto Verdejo,et al.  Using Maude and Its Strategies for Defining a Framework for Analyzing Eden Semantics , 2007, WRS@FLoC.

[20]  Pierre Lescanne,et al.  Completion Procedures as Transition Rules + Control , 1989, TAPSOFT, Vol.1.

[21]  Deepak Kapur,et al.  Shostak's Congruence Closure as Completion , 1997, RTA.

[22]  José Meseguer,et al.  Reflective metalogical frameworks , 2004, TOCL.

[23]  Robert E. Shostak,et al.  An algorithm for reasoning about equality , 1977, CACM.

[24]  Claude Kirchner,et al.  Solving Equations in Abstract Algebras: A Rule-Based Survey of Unification , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[25]  Robert E. Tarjan,et al.  Variations on the Common Subexpression Problem , 1980, J. ACM.

[26]  Claude Kirchner,et al.  Rewriting with Strategies in ELAN: A Functional Semantics , 2001, Int. J. Found. Comput. Sci..

[27]  A. Tiwari,et al.  Decision procedures in automated deduction , 2000 .