Knuth-Bendix Completion Algorithm Reza Sherafat November 30, 2004.

Slides:



Advertisements
Similar presentations
The simplex algorithm The simplex algorithm is the classical method for solving linear programs. Its running time is not polynomial in the worst case.
Advertisements

Copyright © Cengage Learning. All rights reserved. 6 Equations and Formulas.
1 State of the art for TSP TSP instances of thousand of cities can be consistently solved to optimality. Instances of up to cities have been solved:
3 -1 Chapter 3 The Greedy Method 3 -2 The greedy method Suppose that a problem can be solved by a sequence of decisions. The greedy method has that each.
Using Knuth-Bendix to Verify Programs Scott McPeak OSQ 2/23/04.
Cs466(Prasad)L8Norm1 Normal Forms Chomsky Normal Form Griebach Normal Form.
CS21 Decidability and Tractability
1 Reducibility. 2 Problem is reduced to problem If we can solve problem then we can solve problem.
Recursive Descent Parsing Top-down parsing: build tree from root symbol Each production corresponds to one recursive procedure Each procedure recognizes.
8.3 Solving Systems of Linear Equations by Elimination
Solving Multiplication and Division Equations Lesson 2-7.
Induction and recursion
Solving Equations: The Addition and Multiplication Properties
Introduction To Logarithms. Logarithms were originally developed to simplify complex arithmetic calculations. They were designed to transform multiplicative.
Do Now Pass out calculators. Solve the following system by graphing: Graph paper is in the back. 5x + 2y = 9 x + y = -3 Solve the following system by using.
Unit 11, Part 2: Introduction To Logarithms. Logarithms were originally developed to simplify complex arithmetic calculations. They were designed to transform.
© The McGraw-Hill Companies, Inc., Chapter 3 The Greedy Method.
Unit 11, Part 2: Introduction To Logarithms. Logarithms were originally developed to simplify complex arithmetic calculations. They were designed to transform.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
Solving Systems of Linear Equations by Elimination Solve linear systems by elimination. Multiply when using the elimination method. Use an alternative.
CS 108 Computing Fundamentals March 31, Grades not as good as I hoped I drop the lowest of the first 3 exams Exam #3 and #4 will cover much of the.
Type checking and inference Applications of typing axioms / rules are replaced with type equations. A solution to the equations assigns types for every.
MFM 2P Minds On Add or Subtract the following equations in order to make “y” equal 0.
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall. 2.6 Solving Equations: The Addition and Multiplication Properties.
1.3 Solving Systems by Substitution. Steps for Substitution 1.Solve for the “easiest” variable 2.Substitute this expression into the other equation 3.Solve.
Great Theoretical Ideas in Computer Science.
4.2 Solving Inequalities using ADD or SUB. 4.2 – Solving Inequalities Goals / “I can…”  Use addition to solve inequalities  Use subtraction to solve.
7.4. 5x + 2y = 16 5x + 2y = 16 3x – 4y = 20 3x – 4y = 20 In this linear system neither variable can be eliminated by adding the equations. In this linear.
Solving Systems of Equations by Elimination (Addition)
TM Design Macro Language D and SD MA/CSSE 474 Theory of Computation.
Multiply one equation, then add
1/20 Arrays Changki PSWLAB Arrays Daniel Kroening and Ofer Strichman Decision Procedure.
Slide Copyright © 2009 Pearson Education, Inc. 7.2 Solving Systems of Equations by the Substitution and Addition Methods.
7-3: Solving Systems of Equations using Elimination
Section 2.6 Inverse Functions. Definition: Inverse The inverse of an invertible function f is the function f (read “f inverse”) where the ordered pairs.
Solving 2 step equations. Two step equations have addition or subtraction and multiply or divide 3x + 1 = 10 3x + 1 = 10 4y + 2 = 10 4y + 2 = 10 2b +
 2005 SDU Lecture11 Decidability.  2005 SDU 2 Topics Discuss the power of algorithms to solve problems. Demonstrate that some problems can be solved.
Solving Equations with Variables on Both Sides. Review O Suppose you want to solve -4m m = -3 What would you do as your first step? Explain.
The Addition/Subtraction Principle of Equality
Solve Systems of Equations by Elimination
2 Understanding Variables and Solving Equations.
CSE322 Recursive and Recursively enumerable sets
Variables on Both Sides with Equations
Type checking and inference
Canonical LR Parsing Tables
Introduction To Logarithms
Introduction To Logarithms
Copyright © Cengage Learning. All rights reserved.
6-3 Solving Systems Using Elimination
BALANCING REDOX EQUATIONS
USING GRAPHS TO SOLVE EQUATIONS
2 Understanding Variables and Solving Equations.
Systems of Linear Equations and Problem Solving
1.4 Solving Absolute-Value Equations
Solving Multiplication and Division Equations
Solving One Step Equations
Solving a System of Equations in Two Variables by the Addition Method
Solving 1-Step Integer Equations
Solving Equations with Variables on Both Sides
1.4 Solving Absolute-Value Equations
Solving Equations with Variables on Both Sides
6.3 Using Elimination to Solve Systems
Solving Multiplication and Division Equations
Example 2B: Solving Linear Systems by Elimination
Exercise Solve and check x – 3 = 5. x = 8 8 – 3 = 5.
Simultaneous Equations
Learning Intention I will learn about the standard algorithm for input validation.
Answer Questions about Exam2 problems
One-step addition & subtraction equations: fractions & decimals
Presentation transcript:

Knuth-Bendix Completion Algorithm Reza Sherafat November 30, 2004

Word Problem Whether two given terms represent the same element? No general algorithm exists (Pyotr Sergeyevich Novikov in 1952) The problem is undecidable.

Knuth-Bendix Completion Algorithm Transforms a term rewriting system into a confluent term rewriting system. The word problem is undecidable so the algorithm is not guaranteed to terminate. If the algorithm succeeds it has effectively solved the word problem.

Knuth-Bendix Algorithm (cont’d) Let be an equational theory such that is a finite set of axioms. Given and a reduction order as input, the K-B completion algorithm: –Returns a term rewriting system for that is sound and complete with respect to, finite, confluent, and finitely terminating. –Terminates with failure. –Loops without terminating.

Knuth-Bendix Algorithm (con’d) The algorithm: –Constructs an initial set of rules by orienting members of according to the reduction order –Adds more reductions (rewrite rules) to eliminate possible exceptions of confluence –Confluency fails when results of applying overlapping rules are different –If algorithm succeeds rewrite system is finitely terminating

Knuth-Bendix Algorithm (cont’d) Adding rules: –Suppose two left sides and where overlap. Either the prefix of equals the suffix of, or vice versa. In the former case, we can write, ; and in the later case,. –Confluency may fail when reducing the word using first and then results and reducing using first and then results and.

Knuth-Bendix Algorithm (cont’d) Adding Rules (cont’d): –If confluency fails add the reduction –Remove any rules in that might have reducible left sides –Repeat the procedure until all overlaping left sides have been checked.

Example Consider the presentation: The initial rules are: (1) (2) (3) We use the lexicographical ordering as our well-ordered relation.

Example (cont’d) (4) (5) (6) (7) Rules (3), (4), (5) are obsolete. The algorithm has been successfully terminated.