Term Algebras with Length Function and Bounded Quantifier Elimination

Similar documents
Decision Procedures for Recursive Data Structures with Integer Constraints

Foundations of AI. 9. Predicate Logic. Syntax and Semantics, Normal Forms, Herbrand Expansion, Resolution

Data Analytics and Boolean Algebras

Safe Stratified Datalog With Integer Order Does not Have Syntax

The Typed λ Calculus and Type Inferencing in ML

A Knowledge Compilation Technique for ALC Tboxes

Overview. CS389L: Automated Logical Reasoning. Lecture 6: First Order Logic Syntax and Semantics. Constants in First-Order Logic.

An Evolution of Mathematical Tools

Recursion and Structural Induction

The Encoding Complexity of Network Coding

MATHEMATICAL STRUCTURES FOR COMPUTER SCIENCE

Action Language Verifier, Extended

Formal Predicate Calculus. Michael Meyling

Relational Database: The Relational Data Model; Operations on Database Relations

Trees. 3. (Minimally Connected) G is connected and deleting any of its edges gives rise to a disconnected graph.

[Draft. Please do not distribute] Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic

EXTENSIONS OF FIRST ORDER LOGIC

Integrating SysML and OWL

LOGIC AND DISCRETE MATHEMATICS

Proving the Correctness of Distributed Algorithms using TLA

Yices 1.0: An Efficient SMT Solver

Contents. Chapter 1 SPECIFYING SYNTAX 1

15-819M: Data, Code, Decisions

Programming Languages Third Edition

3.4 Deduction and Evaluation: Tools Conditional-Equational Logic

Cuts from Proofs: A Complete and Practical Technique for Solving Linear Inequalities over Integers

Software Engineering Lecture Notes

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Chapter p. 1/27

Lecture Notes on Real-world SMT

VS 3 : SMT Solvers for Program Verification

3 No-Wait Job Shops with Variable Processing Times

CSL105: Discrete Mathematical Structures. Ragesh Jaiswal, CSE, IIT Delhi

Essential Gringo (Draft)

A Survey of Mathematics with Applications 8 th Edition, 2009

Treewidth and graph minors

Paths, Flowers and Vertex Cover

Module 6. Knowledge Representation and Logic (First Order Logic) Version 2 CSE IIT, Kharagpur

Introduction to Sets and Logic (MATH 1190)

The Structure of Bull-Free Perfect Graphs

Losp for Predicate Calculus

DISTINGUISHING NUMBER AND ADJACENCY PROPERTIES

Unification in Maude. Steven Eker

Unlabeled equivalence for matroids representable over finite fields

arxiv:submit/ [math.co] 9 May 2011

Framework for Design of Dynamic Programming Algorithms

Sorting and Selection

Deciding Extensions of the Theory of Arrays by Integrating Decision Procedures and Instantiation Strategies

AND-OR GRAPHS APPLIED TO RUE RESOLUTION

CSCI.6962/4962 Software Verification Fundamental Proof Methods in Computer Science (Arkoudas and Musser) Sections p.

Consistency and Set Intersection

A Reduction of Conway s Thrackle Conjecture

Reasoning About Set Comprehensions

Interleaving Schemes on Circulant Graphs with Two Offsets

DISTINGUISHING NUMBER AND ADJACENCY PROPERTIES

Higher-Order Logic. Specification and Verification with Higher-Order Logic

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

1.3. Conditional expressions To express case distinctions like

Automata Theory for Reasoning about Actions

DPLL(Γ+T): a new style of reasoning for program checking

Decision Procedures in the Theory of Bit-Vectors

Syntactic Measures of Complexity

An Experimental CLP Platform for Integrity Constraints and Abduction

Chapter 3: Propositional Languages

RAISE in Perspective

The Formal Semantics of Programming Languages An Introduction. Glynn Winskel. The MIT Press Cambridge, Massachusetts London, England

Rigidity, connectivity and graph decompositions

Module 3. Requirements Analysis and Specification. Version 2 CSE IIT, Kharagpur

Z Notation. June 21, 2018

SAT-CNF Is N P-complete

Chapter 10 Part 1: Reduction

Unifying and extending hybrid tractable classes of CSPs

Relational Databases

Tree Decompositions Why Matroids are Useful

1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.

Proof-Pattern Recognition and Lemma Discovery in ACL2

Distributed minimum spanning tree problem

Extremal Graph Theory: Turán s Theorem

Faster parameterized algorithms for Minimum Fill-In

Substitution in Structural Operational Semantics and value-passing process calculi

NO WARRANTY. Use of any trademarks in this presentation is not intended in any way to infringe on the rights of the trademark holder.

Discrete Mathematics Lecture 4. Harper Langston New York University

A Method for Construction of Orthogonal Arrays 1

ON WEIGHTED RECTANGLE PACKING WITH LARGE RESOURCES*

Typed Scheme: Scheme with Static Types

Boolean Representations and Combinatorial Equivalence

Lecture 7 February 26, 2010

ON SWELL COLORED COMPLETE GRAPHS

Introductory logic and sets for Computer scientists

Small Formulas for Large Programs: On-line Constraint Simplification In Scalable Static Analysis

Tutorial: Computable Model Theory and Differential Algebra

Definition of Graphs and Trees. Representation of Trees.

Abstract Interpretation Using Laziness: Proving Conway s Lost Cosmological Theorem

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions

Logic and Computation

Operational Semantics

This is already grossly inconvenient in present formalisms. Why do we want to make this convenient? GENERAL GOALS

Parameterized graph separation problems

Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 6 Outline. Unary Relational Operations: SELECT and

Introduction to Automata Theory. BİL405 - Automata Theory and Formal Languages 1

Transcription:

with Length Function and Bounded Ting Zhang, Henny B Sipma, Zohar Manna Stanford University tingz,sipma,zm@csstanfordedu STeP Group, September 3, 2004 TPHOLs 2004 - p 1/37

Motivation: Program Verification Motivation BQE Outline with Integers Term algebras can model a wide range of tree-like data structures To verify programs we need to reason about these data structures Programming languages often involve multiple data domains, resulting in verification conditions that span multiple theories Common mixed constraints are combinations of data structures with integer constraints on the size of those structures STeP Group, September 3, 2004 TPHOLs 2004 - p 2/37

Bounded Motivation BQE Outline with Integers In Theory: Term algebras have nonelementary time complexity [FR79] The complexity lower bound remains the same for any sub-theories of term algebras [CL89, Vor96] In Practice: We rarely deal with formulae with a large quantifier alternation depth Therefore it is worthwhile to investigate the bounded class of formulae Previous Work: We gave a quantifier-elimination procedure for the extended theory [ZSM04b] But no complexity upper bound is established STeP Group, September 3, 2004 TPHOLs 2004 - p 3/37

Outline Motivation BQE Outline with Integers A Procedure for with Length Function A Procedure for with Length Function Future work STeP Group, September 3, 2004 TPHOLs 2004 - p 4/37

Definitions and Notations Axiomatization Example: LISP lists with Integers Definition 1 A term algebra 1 2 3 4 5 : The term domain : A finite set of constants: : A finite set of constructors:,,,,,, : A finite set of selectors For a constructor there are selectors in : A finite set of testers For each constructor corresponding tester Two Properties: consists of with arity there is a The data domain is the set of data objects generated exclusively by applying constructors Each data object is uniquely generated, STeP Group, September 3, 2004 TPHOLs 2004 - p 5/37

Definitions and Notations Definitions and Notations Axiomatization Example: LISP lists with Integers and means that is a constructor with are the corresponding selectors of A term is a constructor term ( -term) if the outmost function symbol of is a constructor A term is a selector term ( symbol of is a selector -term) if the outmost function We assume that no constructor term appears inside selectors as simplification can always be done For example, simplifies to denote selector sequences For stands for, A selector term is called proper if holds STeP Group, September 3, 2004 TPHOLs 2004 - p 6/37

Axiomatization of Definitions and Notations Axiomatization Example: LISP lists with Integers Construction vs selection Unification closure Acyclicity properly contains, if Uniqueness, and are distinct atoms and if constructors Domain closure is built solely by constructors and and, and are distinct, if STeP Group, September 3, 2004 TPHOLs 2004 - p 7/37

Example: LISP lists Signature: Definitions and Notations Axiomatization Axioms: Example: LISP lists with Integers Formulas: (valid) (valid) STeP Group, September 3, 2004 TPHOLs 2004 - p 8/37

Preliminary QE Preliminary Solved Form It is well-known that eliminating arbitrary quantifiers reduces to eliminating existential quantifiers from formulae in the form (1) with Integers where ( We can also assume that ) are literals [Hod93] are not of the form as simplifies to, if, if, if does not occur in ; is a constructor term properly containing ; STeP Group, September 3, 2004 TPHOLs 2004 - p 9/37

Solved Form QE Preliminary Solved Form with Integers Definition 2 (Solved Form) We say solved form (with respect to ), is in the if are not in equalities, not asserted to be constants and not inside selector terms General Idea: An existential formula in solved form has solutions under any instantiation of parameters Procedure Outline: A sequence of equivalence-preserving transformations will bring the input formula into a disjunction of formulae in the solved form The whole block of existential quantifiers can be eliminated by removing all literals containing in the matrix STeP Group, September 3, 2004 TPHOLs 2004 - p 10/37

for Algorithm 1 Input: Type Completion Eliminate -terms Decompose Relations Solve Equalities Eliminate Atoms Final Elimination with Integers Guess a type completion of Eliminate selector terms containing Decompose relations between constructor terms Solve equalities of the form Eliminate variables asserted to be constants Eliminate quantifiers and all literals containing STeP Group, September 3, 2004 TPHOLs 2004 - p 11/37

Type Completion Type Completion Eliminate -terms Decompose Relations Solve Equalities Eliminate Atoms Final Elimination Definition 3 is a type completion of if from by adding tester predicates such that for any term either is present in Example 1 A possible type completion for is obtained (for some constructor ) or is with Integers With this type information, simplifies to Guess a type completion of selector term to a proper one and simplify every STeP Group, September 3, 2004 TPHOLs 2004 - p 12/37

Eliminate -terms Containing s Type Completion Eliminate -terms Decompose Relations Solve Equalities Eliminate Atoms Final Elimination with Integers Replace all selector terms containing equivalent constructor terms Example 2 Let Similarly, can be rewritten as by the corresponding becomes It may increase the number of existential quantifiers, but leaves parameters unchanged In the following transformations, selector terms never appear inside STeP Group, September 3, 2004 TPHOLs 2004 - p 13/37

Decompose Relations between -Terms Replace (2) Type Completion Eliminate -terms Decompose Relations Solve Equalities Eliminate Atoms Final Elimination with Integers by Repeat until no equality of the form (2) appears Replace by (3) Repeat until no equality of the form (3) appears STeP Group, September 3, 2004 TPHOLs 2004 - p 14/37

Solve Equalities of the Form Type Completion Eliminate -terms Decompose Relations Solve Equalities Eliminate Atoms Final Elimination with Integers Solve equations of the form 1 2 is a block of selectors, is a constructor term containing, where The result is a set of equations in terms of selector language Example 3 Suppose that in the The solution set of is STeP Group, September 3, 2004 TPHOLs 2004 - p 15/37

Eliminate Variables Asserted to Be Constant Instantiate to each constant to eliminate be an atom Ie, if is asserted to Type Completion Eliminate -terms Decompose Relations Solve Equalities Eliminate Atoms Final Elimination with Integers STeP Group, September 3, 2004 TPHOLs 2004 - p 16/37

Eliminate Literals Containing s Now we can assume formulae are in the form Type Completion Eliminate -terms Decompose Relations Solve Equalities Eliminate Atoms Final Elimination Since (4) with Integers (5) is in solved form and hence valid, (4) is equivalent to (6) STeP Group, September 3, 2004 TPHOLs 2004 - p 17/37

Language and Structure with Integers Language and Structure Presburger arithmetic (PA): Two-sorted language 1 2 3, : signature of term algebras : signature of Presburger arithmetic, the length function defined by : if if is an atom : generalized integer terms STeP Group, September 3, 2004 TPHOLs 2004 - p 18/37

Counting Constraints with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Definition 4 (Counting Constraint) A counting constraint is a predicate ( ) that is true if and only if there are at least constants -terms replaced by with Example 4 For where number different -terms is -terms of length in is similarly defined with with one constant, is the least number such that the is greater than Reason: gives the number of binary trees with (that tree has nodes) -th Catalan leaves STeP Group, September 3, 2004 TPHOLs 2004 - p 19/37

Equality Completion with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) In order to construct counting constraints, we need equality information between terms and equality information between lengths of terms Definition 5 (Equality Completion) Let -terms An equality completion of consisting of the following literals: for any of and, and exactly one of in Example 5 Let and be A possible equality completion of is be a set of is a formula, exactly one and are (7) STeP Group, September 3, 2004 TPHOLs 2004 - p 20/37

Clusters with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Definition 6 (Clusters) Let denote the equivalence class containing with respect to term equality We say that is a cluster if length are pairwise unequal terms of the same A cluster is maximal if no superset of it is a cluster A cluster is closed if is maximal and for any maximal Two distinct closed clusters are said to be mutually independent The rank of a cluster terms, written, is the length of its, STeP Group, September 3, 2004 TPHOLs 2004 - p 21/37

Clusters: Examples with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Example 6 In Ex 5, formula (7) induces two mutually independent clusters with Example 7 The formula gives two maximal clusters However, neither incomparable nor and and is closed and their ranks are Any equality completion induces a set of mutually independent clusters STeP Group, September 3, 2004 TPHOLs 2004 - p 22/37

Length Constraint Completion For the construction of accurate length constraints for need to make complete Definition 7 (Length Constraint Completion) Let, we with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) We say a formula with respect to is a completion of if the following formulae are valid: in (8) (9) STeP Group, September 3, 2004 TPHOLs 2004 - p 23/37

Length Constraint Completion: Example with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Example 8 Let Consider the following formulae: is a completion of satisfies (8), it does not satisfies (9) Reason: Reason: satisfies (9), but not (8) STeP Group, September 3, 2004 TPHOLs 2004 - p 24/37

Strong Solved Form with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) For the construction of length constraint completion, we require that be in strong normal form Definition 8 We say form (with respect to if where containing ) is in strong solved is in solved form and all literals of the form and is a constructor term (properly), are redundant Example 9 In Ex 5, formula (7) is not in strong solved form However, it can be made into strong solved form by adding or STeP Group, September 3, 2004 TPHOLs 2004 - p 25/37

Notations The following predicates are needed to describe the construction algorithm: with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) where stands for, are the distinct arities of constructors STeP Group, September 3, 2004 TPHOLs 2004 - p 26/37

Compute Length Constraint Completion Algorithm 2 (Length Constraint Completion) Input: with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Initially set in, if and has, if, if, add the following to is a constant, if is untyped is, if, if has -typed is For each term -typed with children occurs in an untyped clusters of size constants, if occurs in an constants -cluster of size occurring and STeP Group, September 3, 2004 TPHOLs 2004 - p 27/37

Quantifiers Elimination on Integer Variables Algorithm 3 (Integer ) We assume that formulae with quantifiers on integer variables are in the form (10) with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) where, are integer variables and Since is in, obtaining, we can move are term variables out of the scope of Now is essentially a Presburger formula and we can proceed to remove the block of existential quantifiers In fact, we can defer the elimination of integer quantifiers until all term quantifiers have been eliminated (11) STeP Group, September 3, 2004 TPHOLs 2004 - p 28/37

Quantifiers Elimination on Term Variables with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Algorithm 4 We assume that formulae with quantifiers on term variables are in the form where are term variables, are integer variables, and is an arbitrary Presburger formula Run Alg 1 up to the last step Apply the following subprocedures successively unless noted otherwise 1 Equality Completion (Alg 5) 2 Elimination of Equalities Containing 3 Propagation of Disequalities of the Form (Alg 6) (Alg 7) 4 Reduction of Term Quantifiers to Integer Quantifiers (Alg8) (12) STeP Group, September 3, 2004 TPHOLs 2004 - p 29/37

Compute Equality Completion Algorithm 5 (Equality Completion) We assume the input formula is in the form (renaming the first part of (5)) (13) with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Let be all terms including subterms which appear in (13) Guess an equality completion of and we obtain (14) STeP Group, September 3, 2004 TPHOLs 2004 - p 30/37

Eliminate Equalities Containing s with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Algorithm 6 (Elimination of Equalities Containing ) Let denote the set of equalities containing Exhaustively apply the following subprocedures until is empty Pick an is Then we know does not occur in and hence we can remove by substituting for all occurrences of is is Then replace by Then replace by STeP Group, September 3, 2004 TPHOLs 2004 - p 31/37

Propagate Disequalities with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Algorithm 7 (Propagation of Disequalities) Let of disequalities of the form Exhaustively apply the following subprocedures until empty Pick Disequality Splitting Remove Return if we take from and add to denote the set ; continue otherwise is STeP Group, September 3, 2004 TPHOLs 2004 - p 32/37

Propagate Disequalities (2) Length Splitting Suppose we take Split on ( ) with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Return if we take Equality Splitting Suppose the cluster of Split on If we choose any properly contains If we choose ; ; continue otherwise contains, rerun Alg 6 in case that, rerun this algorithm STeP Group, September 3, 2004 TPHOLs 2004 - p 33/37

Reduction of Term Quantifiers with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Algorithm 8 (Reduction of Term Quantifiers to Integer Quantifiers) Omitting the redundant disequalities of the form, we may assume the resulting formula be where and simplicity is of the form does not contain, is the integer constraint obtained from Algs 5, 7, is the PA formula not listed before for, (15) STeP Group, September 3, 2004 TPHOLs 2004 - p 34/37

Reduction of Term Quantifiers (2) with Integers Counting Constraints Equality Completion Clusters Clusters: Examples Length Constraint Completion Example Strong Solved Form Notations Compute Length Completion QE on Integers QE on Terms Compute Equality Completion Eliminate Equalities Propagate Disequalities Propagate Disequalities (2) Reduction of TQ Reduction of TQ (2) Let denote Call Alg 2 to get the completion with respect to Now we claim that (15) is equivalent to which in turn is equivalent to of in (16) (17) STeP Group, September 3, 2004 TPHOLs 2004 - p 35/37

with Integers Theorem 1 Alg 1 eliminates a block of quantifiers in time Theorem 2 is decidable in Theorem 3 Alg 4 eliminates a block of quantifiers in time Theorem 4 is decidable in STeP Group, September 3, 2004 TPHOLs 2004 - p 36/37

with Integers Refine length constraint construction to reduce double-exponential blowup to one exponential Apply bounded elimination to improve the decision procedure of the first-order theory of Knuth-Bendix order [ZSM04a] STeP Group, September 3, 2004 TPHOLs 2004 - p 37/37

[CL89] Hubert Comon and Pierre Lescanne Equational problems and disunification Journal of Symbolic Computation, 7:371 425, 1989 [FR79] [Hod93] [Vor96] J Ferrante and C W Rackoff The Computational of Logical Theories Springer-Verlag, 1979 Wilfrid Hodges Model Theory Cambridge University Press, Cambridge, UK, 1993 Sergei Vorobyov An improved lower bound for the elementary theories of trees In Proc of the Intl Conference on Automated Deduction, volume 1104 of LNCS, pages 275 287 Springer-Verlag, 1996 [ZSM04a] Ting Zhang, Henny Sipma, and Zohar Manna The decidability of the first-order theory of term algebras with Knuth-Bendix order, 2004 Submitted [ZSM04b] Ting Zhang, Henny Sipma, and Zohar Manna Decision procedures for recursive data structures with integer constraints, 2004 To appear in the Proceedings of the International Joint Conference on Automated Reasoning 37-1