A Decision Procedure for Equality Logic with Uninterpreted Functions

The equality logic with uninterpreted functions (EUF) has been proposed for processor verification. A procedure for proving satisfiability of formulas in this logic is introduced. Since it is based on the DPLL method, the procedure can adopt its heuristics. Therefore the procedure can be used as a basis for efficient implementations of satisfiability checkers for EUF. A part of the introduced method is a technique for reducing the size of formulas, which can also be used as a preprocessing step in other approaches for checking satisfiability of EUF formulas.

[1]  Saburo Muroga,et al.  Binary Decision Diagrams , 2000, The VLSI Handbook.

[2]  Daniel R. Tauritz,et al.  Adaptive Information Filtering: Concepts and Algorithms , 2002 .

[3]  Nobuhiro Yugami Theoretical Analysis of Davis-Putnam Procedure and Propositional Satisfiability , 1995, IJCAI.

[4]  Hui Gao,et al.  Design and verification of lock-free parallel algorithms , 2005 .

[5]  Hans Zantema,et al.  Solving satisfiability of ground term algebras using DPLL and unification , 2004 .

[6]  M. T. Ionita,et al.  Scenario-based system architecting : a systematic approach to developing future-proof system architectures , 2005 .

[7]  G Goce Naumoski,et al.  A discrete-event simulator for systems engineering , 1998 .

[8]  R Ronald Ruimerman,et al.  Modeling and remodeling in bone tissue , 2005 .

[9]  Matthias Fuchs,et al.  DISCOUNT: A SYstem for Distributed Equational Deduction , 1995, RTA.

[10]  F. Bartels,et al.  On Generalised Coinduction and Probabilistic Specification Formats , 2004 .

[11]  Joost Visser,et al.  Generic traversal over typed source code representations , 2003 .

[12]  Peter Achten,et al.  Interactive functional programs: models, methods, and implementation , 1996 .

[13]  N.J.M. van den Nieuwelaar,et al.  Supervisory machine control by predictive-reactive scheduling , 2004 .

[14]  Maria Eva Magdalena Lijding,et al.  Real-Time Scheduling of Tertiary Storage , 2003 .

[15]  Ad M. G. Peeters,et al.  An asynchronous low-power 80C51 microcontroller , 1998, Proceedings Fourth International Symposium on Advanced Research in Asynchronous Circuits and Systems.

[16]  Wolfgang Bibel,et al.  SETHEO: A high-performance theorem prover , 1992, Journal of Automated Reasoning.

[17]  M. Oostdijk Generation and presentation of formal mathematical documents , 2001 .

[18]  Mariëlle Stoelinga,et al.  Alea jacta est : verification of probabilistic, real-time and parametric systems , 2002 .

[19]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[20]  Hartmut Peter Benz,et al.  Casual Multimedia Process Annotations -- CoMPAs , 2003 .

[21]  Stephan Schulz,et al.  Learning search control knowledge for equational deduction , 2000, DISKI.

[22]  Jaco van de Pol,et al.  Zero, successor and equality in BDDs , 2005, Ann. Pure Appl. Log..

[23]  Hans Zantema,et al.  A Proof System and a Decision Procedure for Equality Logic , 2004, LATIN.

[24]  Ivan Kurtev,et al.  Adaptability of model transformations , 2005 .

[25]  Y Yuechen Qian,et al.  Data synchronization and browsing for home environments , 2004 .

[26]  Michel A. Reniers,et al.  Message sequence chart : syntax and semantics , 1999 .

[27]  Ts Ed Voermans Inductive datatypes with laws and subtyping : a relational model , 1999 .

[28]  Dennis Dams,et al.  Abstract interpretation and partition refinement for model checking , 1996 .

[29]  Jjd Joep Aerts Random redundant storage for video on demand , 2003 .

[30]  Simona Orzan,et al.  On Distributed Verification and Verified Distribution , 2004 .

[31]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[32]  Jan Friso Groote,et al.  Parameterised Boolean Equation Systems (Extended Abstract) , 2004, CONCUR.

[33]  Amir Pnueli,et al.  Range Allocation for Equivalence Logic , 2001, FSTTCS.

[34]  Nwa Norbert Arends,et al.  A systems engineering specification formalism , 1996 .

[35]  M. Franssen Cocktail : a tool for deriving correct programs , 2000 .

[36]  Richard S. Bird,et al.  Introduction to functional programming using haskeu , 1998 .

[37]  EO Esko Dijk Indoor ultrasonic position estimation using a single base station , 2004 .

[38]  H. Zantema,et al.  Transforming DPLL to resolution , 2002 .

[39]  Robert E. Shostak,et al.  A Practical Decision Procedure for Arithmetic with Function Symbols , 1979, JACM.

[40]  Hans Zantema,et al.  Transforming equality logic to propositional logic , 2003, Electron. Notes Theor. Comput. Sci..

[41]  Harald Ganzinger,et al.  On Restrictions of Ordered Paramodulation with Simplification , 1990, CADE.

[42]  Cruz Filipe,et al.  Constructive real analysis : a type-theoretical formalization and applications , 2004 .

[43]  Albert Oliveras,et al.  Congruence Closure with Integer Offsets , 2003, LPAR.

[44]  Greg Nelson,et al.  Fast Decision Procedures Based on Congruence Closure , 1980, JACM.

[45]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[46]  M.H.G. Kesseler,et al.  The implementation of functional languages on parallel machines with distributed memory , 1996 .

[47]  Ansgar Fehnker,et al.  Citius, Vilius, Melius : guiding and cost-optimality in model checking of timed and hybrid systems , 2002 .

[48]  A. G. Engels,et al.  Languages for analysis and testing of event sequences , 2001 .

[49]  R Rene Schiefer,et al.  Viper : a visualisation tool for parallel program construction , 1999 .

[50]  Michael R. Lowry,et al.  Explaining synthesized software , 1998, Proceedings 13th IEEE International Conference on Automated Software Engineering (Cat. No.98EX239).

[51]  Michel A. Reniers,et al.  Hybrid process algebra , 2005, J. Log. Algebraic Methods Program..

[52]  Cesare Tinelli,et al.  DPLL( T): Fast Decision Procedures , 2004, CAV.

[53]  Maurice H. ter Beek,et al.  Team Automata: A Formal Approach to the Modeling of Collaboration Between System Components , 2003 .

[54]  Dick Alstein,et al.  Distributed algorithms for hard real-time systems , 1996 .

[55]  Amir Pnueli,et al.  The small model property: how small can it be? , 2002 .

[56]  Harald Ganzinger,et al.  Rewrite-Based Equational Theorem Proving with Selection and Simplification , 1994, J. Log. Comput..

[57]  D. Bosnacki Enhancing state space reduction techniques for model checking , 2001 .

[58]  Hans Zantema,et al.  Resolution and binary decision diagrams cannot simulate each other polynomially , 2001, Discret. Appl. Math..

[59]  G Georgina Fabian,et al.  A language and simulator for hybrid systems , 1999 .

[60]  A. T. Hofkamp,et al.  Reactive machine control : a simulation approach using chi , 2001 .

[61]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[62]  den Jeremy Ian Hartog,et al.  Probabilistic Extensions of Semantical Models , 2002 .

[63]  R. S. Venema,et al.  Aspects of an integrated neural prediction system , 1999 .

[64]  L. Wos,et al.  Paramodulation and Theorem-Proving in First-Order Theories with Equality , 1983 .

[65]  Jan Friso Groote,et al.  New developments around the mCRL tool set , 2003, Electron. Notes Theor. Comput. Sci..

[66]  Pedro R. D'Argenio,et al.  Algebras and Automata for Timed and Stochastic Systems , 1999 .

[67]  Cees van Kemenade,et al.  Recombinative evolutionary search , 1999 .

[68]  Gabriele Lenzini,et al.  Integration of Analysis Techniques in Security and Fault-Tolerance , 2005 .

[69]  Bengt Jonsson,et al.  Probabilistic Process Algebra , 2001 .

[70]  Jurriaan Hage,et al.  Structural Aspects Of Switching Classes , 2001 .

[71]  Theodorus Cornelis Ruys,et al.  Towards effective model checking , 2001 .

[72]  David L. Dill,et al.  Checking Satisfiability of First-Order Formulas by Incremental Translation to SAT , 2002, CAV.

[73]  Bahareh Badban,et al.  Two solutions to incorporate zero, successor and equality in binary decision diagrams , 2002 .

[74]  T. Kuipers,et al.  Techniques for understanding legacy software systems , 2002 .

[75]  J. Wessels,et al.  Faculty of Mathematics and Computing Science , 1988 .

[76]  Randal E. Bryant,et al.  Exploiting Positive Equality in a Logic of Equality with Uninterpreted Functions , 1999, CAV.

[77]  Ofer Strichman,et al.  Finite Instantiations in Equivalence Logic with Uninterpreted Functions , 2001, CAV.

[78]  J. A. Robinson,et al.  A Machine-Oriented Logic Based on the Resolution Principle , 1965, JACM.

[79]  Twan Laan The evolution of type theory in logic and mathematics , 1997 .

[80]  Stefan Blom,et al.  Term Graph Rewriting. Syntax and semantics , 2001 .

[81]  Alan Bundy,et al.  Proofs About Lists Using Ellipsis , 1999, LPAR.

[82]  Ashish Tiwari,et al.  Abstract Congruence Closure and Specializations , 2000, CADE.

[83]  Christoph Weidenbach,et al.  SPASS & FLOTTER Version 0.42 , 1996, CADE.

[84]  M. B. van der Zwaag,et al.  Models and logics for process algebra , 2002 .

[85]  Larry Wos,et al.  Otter - The CADE-13 Competition Incarnations , 1997, Journal of Automated Reasoning.

[86]  Albert Rubio,et al.  Theorem Proving with Ordering Constrained Clauses , 1992, CADE.

[87]  Pascal Fontaine,et al.  Using BDDs with Combinations of Theories , 2002, LPAR.

[88]  Chang Liu,et al.  Term rewriting and all that , 2000, SOEN.

[90]  Randal E. Bryant,et al.  Boolean satisfiability with transitivity constraints , 2000, TOCL.

[91]  V Victor Bos,et al.  Formal specification and analysis of industrial systems , 2002 .

[92]  Wpaj Wil Michiels Performance ratios for the differencing method , 2004 .

[93]  J.J.H. Fey,et al.  Design of a fruit juice blending and packaging plant , 2000 .

[94]  Isabelle Reymen,et al.  Improving Design Processes through Structured Reflection: Feedback , 2001 .

[95]  M. Niqui,et al.  Formalising Exact Arithmetic. Representations, Algorithms and Proofs , 2004 .

[96]  M. de Jonge,et al.  To reuse or to be reused. Techniques for component composition and construction , 2003 .

[97]  S. P. Luttik Choice quantification in process algebra , 2002 .

[98]  J. Verriet Scheduling with communication for multiprocessor computation , 1998 .

[99]  Hai Zhou,et al.  BDD Based Procedures for a Theory of Equality with Uninterpreted Functions , 2003, Formal Methods Syst. Des..

[100]  J. C. Pol A Prover for the muCRL toolset with applications -- version 0.1 , 2001 .

[101]  Leon Moonen,et al.  Exploring software systems , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[102]  Martijn M. Schrage,et al.  Proxima: a presentation-oriented editor for structured documents , 2000 .

[103]  Jpl John Segers Algorithms for the simulation of surface processes , 1999 .

[104]  Johann Schumann Automatic Verification of Cryptographic Protocols with SETHEO , 1997, CADE.

[105]  Judi Maria Tirza Romijn,et al.  Analysing Industrial Protocols with Formal Methods , 1999 .

[106]  B. D. Fluiter Algorithms for graphs of small treewidth , 1997 .

[107]  D. Turi,et al.  Functional Operational Semantics and its Denotational Dual , 1996 .

[108]  Piergiorgio Bertoli,et al.  A SAT Based Approach for Solving Formulas over Boolean and Linear Mathematical Propositions , 2002, CADE.

[109]  Ad M. G. Peeters,et al.  Single-rail handshake circuits , 1995, Proceedings Second Working Conference on Asynchronous Design Methodologies.

[110]  Tac Tim Willemse Semantics and verification in process algebras with data and timing , 2003 .

[111]  Emilia I. Barakova,et al.  Learning reliability : a study on dindecisiveness in sample selection , 1999 .

[112]  Erik Harald Saaman,et al.  Another formal specification language , 2000 .

[113]  David L. Dill,et al.  Validity Checking for Combinations of Theories with Equality , 1996, FMCAD.

[114]  Sebastian Maneth,et al.  Models of tree translation , 2004 .

[115]  Lex Heerink,et al.  Ins and Outs in Refusal Testing , 1998 .

[116]  Thomas Wolle,et al.  Computational aspects of treewidth : Lower bounds and network reliability , 2005 .

[117]  Cj Roel Bloo,et al.  Preservation of termination for explicit substitution , 1997 .

[118]  K. Leeuw Cryptology and statecraft in the Dutch Republic , 2000 .

[119]  Bahareh Badban,et al.  An Algorithm to Verify Formulas by means of (O,S,=)-BDDs , 2004 .

[120]  Marieke Huisman,et al.  Reasoning about Java programs in higher order logic using PVS and Isabelle , 2001 .

[121]  Adnan Darwiche,et al.  Using DPLL for Efficient OBDD Construction , 2004, SAT.

[122]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[123]  M. Bonsangue,et al.  Topological Dualities in Semantics , 1996 .

[124]  Wilhelm Ackermann,et al.  Solvable Cases Of The Decision Problem , 1954 .

[125]  Nikolaj Bjørner,et al.  A Practical Integration of First-Order Reasoning and Decision Procedures , 1997, CADE.

[126]  Amir Pnueli,et al.  The Small Model Property: How Small Can It Be? , 2002, Inf. Comput..

[127]  Jaco van de Pol,et al.  A BDD-Representation for the Logic of Equality and Uninterpreted Functions , 2005, MFCS.

[128]  H.M.A. van Beek,et al.  Specification and analysis of Internet applications , 2005 .

[129]  Randal E. Bryant,et al.  Efficient implementation of a BDD package , 1991, DAC '90.

[130]  G. S. Tseitin On the Complexity of Derivation in Propositional Calculus , 1983 .

[131]  Willem Otto David Griffioen,et al.  Studies in computer aided verification of protocols , 2000 .

[132]  Andres Löh,et al.  Exploring generic Haskell , 2004 .

[133]  Cesare Tinelli A DPLL-Based Calculus for Ground Satisfiability Modulo Theories , 2002, JELIA.

[134]  Jan Friso Groote,et al.  µCRL: A Toolset for Analysing Algebraic Specifications , 2001, CAV.

[135]  J. O. Blanco,et al.  The state operator in process algebra , 1996 .

[136]  van Robert Liere,et al.  Studies in Interactive Visualization , 2001 .

[137]  Paul Klint,et al.  Efficient annotated terms , 2000, Softw. Pract. Exp..

[138]  Randal E. Bryant,et al.  Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic , 1999, TOCL.

[139]  P. Severi Normalisation in lambda calculus and its relation to type inference , 1996 .

[140]  Toby Walsh,et al.  Adding resolution to the DPLL procedure for Boolean satisfiability , 2002 .

[141]  Aa Twan Basten,et al.  In terms of nets : system design with Petri nets and process algebra , 1998 .

[142]  Xinming Ou,et al.  Theorem Proving Using Lazy Proof Explication , 2003, CAV.

[143]  Cheun Ngen Chong Experiments in rights control : expression and enforcement , 2005 .

[144]  Erika Ábrahám,et al.  An Assertional Proof System for Multithreaded Java - Theory and Tool Support , 2005 .

[145]  Emile H. L. Aarts,et al.  Parallel local search , 1995, J. Heuristics.

[146]  D Dmitri Chkliaev,et al.  Mechanical verification of concurrency control and recovery protocols , 2001 .

[147]  F.A.M. van den Beuken,et al.  A functional approach to syntax and typing , 1997 .

[148]  Amir Pnueli,et al.  Deciding Equality Formulas by Small Domains Instantiations , 1999, CAV.

[149]  Jaco van de Pol,et al.  State Space Reduction by Proving Confluence , 2002, CAV.

[150]  Nachum Dershowitz,et al.  A Note on Simplification Orderings , 1979, Inf. Process. Lett..

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

[152]  Daan Leijen,et al.  The λ Abroad - A Functional Approach to Software Components , 2003 .

[153]  Ivan Kurtev Ivanov,et al.  Adaptability of model transformations , 2005 .

[154]  Michael R. Lowry,et al.  Deductive Composition of Astronomical Software from Subroutine Libraries , 1994, CADE.

[155]  Jan Friso Groote,et al.  Equational Binary Decision Diagrams , 2000, LPAR.

[156]  F. Alkemade,et al.  Evolutionary agent-based economics , 2004 .

[157]  Geoff Sutcliffe,et al.  The TPTP Problem Library , 1994, Journal of Automated Reasoning.

[158]  Rina Dechter,et al.  Resolution versus Search: Two Strategies for SAT , 2000, Journal of Automated Reasoning.