Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Knuth–Bendix completion algorithm
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==String rewriting systems in group theory== An important case in [[computational group theory]] is string rewriting systems which can be used to give canonical labels to elements or [[coset]]s of a [[finitely presented group]] as products of the [[Generating set of a group|generator]]s. This special case is the focus of this section. === Motivation in group theory === The [[critical pair lemma]] states that a term rewriting system is [[confluence (term rewriting)|locally confluent]] (or weakly confluent) if and only if all its [[critical pair (logic)|critical pairs]] are convergent. Furthermore, we have [[Newman's lemma]] which states that if an (abstract) rewriting system is [[normal form (term rewriting)|strongly normalizing]] and weakly confluent, then the rewriting system is confluent. So, if we can add rules to the term rewriting system in order to force all critical pairs to be convergent while maintaining the strong normalizing property, then this will force the resultant rewriting system to be confluent. Consider a [[finitely presented monoid]] <math>M = \langle X \mid R \rangle</math> where X is a finite set of generators and R is a set of defining relations on X. Let X<sup>*</sup> be the set of all words in X (i.e. the free monoid generated by X). Since the relations R generate an equivalence relation on X*, one can consider elements of M to be the equivalence classes of X<sup>*</sup> under R. For each class ''{w<sub>1</sub>, w<sub>2</sub>, ... }'' it is desirable to choose a standard representative ''w<sub>k</sub>''. This representative is called the '''canonical''' or '''normal form''' for each word ''w<sub>k</sub>'' in the class. If there is a computable method to determine for each ''w<sub>k</sub>'' its normal form ''w<sub>i</sub>'' then the word problem is easily solved. A confluent rewriting system allows one to do precisely this. Although the choice of a canonical form can theoretically be made in an arbitrary fashion this approach is generally not computable. (Consider that an equivalence relation on a language can produce an infinite number of infinite classes.) If the language is [[well-ordered]] then the order < gives a consistent method for defining minimal representatives, however computing these representatives may still not be possible. In particular, if a rewriting system is used to calculate minimal representatives then the order < should also have the property: : A < B → XAY < XBY for all words A,B,X,Y This property is called '''translation invariance'''. An order that is both translation-invariant and a well-order is called a '''reduction order'''. From the presentation of the monoid it is possible to define a rewriting system given by the relations R. If A x B is in R then either A < B in which case B → A is a rule in the rewriting system, otherwise A > B and A → B. Since < is a reduction order a given word W can be reduced W > W_1 > ... > W_n where W_n is irreducible under the rewriting system. However, depending on the rules that are applied at each W<sub>i</sub> → W<sub>i+1</sub> it is possible to end up with two different irreducible reductions W<sub>n</sub> ≠ W'<sub>m</sub> of W. However, if the rewriting system given by the relations is converted to a confluent rewriting system via the Knuth–Bendix algorithm, then all reductions are guaranteed to produce the same irreducible word, namely the normal form for that word. ===Description of the algorithm for finitely presented monoids=== Suppose we are given a [[presentation of a group|presentation]] <math> \langle X \mid R \rangle </math>, where <math> X </math> is a set of [[generating set of a group|generator]]s and <math> R </math> is a set of [[Relation (mathematics)|relations]] giving the rewriting system. Suppose further that we have a reduction ordering <math> < </math> among the words generated by <math> X </math>(e.g., [[shortlex order]]). For each relation <math> P_i = Q_i </math> in <math> R </math>, suppose <math> Q_i < P_i </math>. Thus we begin with the set of reductions <math> P_i \rightarrow Q_i </math>. First, if any relation <math> P_i = Q_i </math> can be reduced, replace <math> P_i </math> and <math> Q_i </math> with the reductions. Next, we add more reductions (that is, rewriting rules) to eliminate possible exceptions of confluence. Suppose that <math> P_i </math> and <math> P_j </math> overlap. # Case 1: either the prefix of <math> P_i</math> equals the suffix of <math> P_j </math>, or vice versa. In the former case, we can write <math> P_i = BC </math> and <math> P_j = AB </math>; in the latter case, <math> P_i = AB </math> and <math> P_j = BC </math>. #Case 2: either <math> P_i</math> is completely contained in (surrounded by) <math> P_j </math>, or vice versa. In the former case, we can write <math> P_i = B </math> and <math> P_j = ABC </math>; in the latter case, <math> P_i = ABC </math> and <math> P_j = B </math>. Reduce the word <math> ABC </math> using <math> P_i </math> first, then using <math> P_j </math> first. Call the results <math> r_1, r_2 </math>, respectively. If <math> r_1 \neq r_2 </math>, then we have an instance where confluence could fail. Hence, add the reduction <math> \max r_1, r_2 \rightarrow \min r_1, r_2 </math> to <math> R </math>. After adding a rule to <math> R </math>, remove any rules in <math> R </math> that might have reducible left sides (after checking if such rules have critical pairs with other rules). Repeat the procedure until all overlapping left sides have been checked. ===Examples=== ==== A terminating example ==== Consider the monoid: :<math> \langle x, y \mid x^3 = y^3 = (xy)^3 = 1 \rangle </math>. We use the [[shortlex order]]. This is an infinite monoid but nevertheless, the Knuth–Bendix algorithm is able to solve the word problem. Our beginning three reductions are therefore {{NumBlk|:|<math> x^3 \rightarrow 1 </math>|{{EquationRef|1}}}} {{NumBlk|:|<math> y^3 \rightarrow 1 </math>|{{EquationRef|2}}}} {{NumBlk|:|<math> (xy)^3 \rightarrow 1 </math>.|{{EquationRef|3}}}} A suffix of <math>x^3</math> (namely <math>x</math>) is a prefix of <math>(xy)^3=xyxyxy</math>, so consider the word <math> x^3yxyxy </math>. Reducing using ({{EquationNote|1}}), we get <math> yxyxy </math>. Reducing using ({{EquationNote|3}}), we get <math> x^2 </math>. Hence, we get <math> yxyxy = x^2 </math>, giving the reduction rule {{NumBlk|:|<math> yxyxy \rightarrow x^2 </math>.|{{EquationRef|4}}}} Similarly, using <math> xyxyxy^3 </math> and reducing using ({{EquationNote|2}}) and ({{EquationNote|3}}), we get <math> xyxyx = y^2 </math>. Hence the reduction {{NumBlk|:|<math> xyxyx \rightarrow y^2 </math>.|{{EquationRef|5}}}} Both of these rules obsolete ({{EquationNote|3}}), so we remove it. Next, consider <math> x^3yxyx </math> by overlapping ({{EquationNote|1}}) and ({{EquationNote|5}}). Reducing we get <math> yxyx = x^2y^2 </math>, so we add the rule {{NumBlk|:|<math> yxyx \rightarrow x^2y^2</math>.|{{EquationRef|6}}}} Considering <math> xyxyx^3 </math> by overlapping ({{EquationNote|1}}) and ({{EquationNote|5}}), we get <math> xyxy = y^2x^2 </math>, so we add the rule {{NumBlk|:|<math> y^2x^2 \rightarrow xyxy </math>.|{{EquationRef|7}}}} These obsolete rules ({{EquationNote|4}}) and ({{EquationNote|5}}), so we remove them. Now, we are left with the rewriting system {{NumBlk|:|<math> x^3 \rightarrow 1 </math>|({{EquationNote|1}})|RawN=.}} {{NumBlk|:|<math> y^3 \rightarrow 1 </math>|({{EquationNote|2}})|RawN=.}} {{NumBlk|:|<math> yxyx \rightarrow x^2y^2 </math>|({{EquationNote|6}})|RawN=.}} {{NumBlk|:|<math> y^2 x^2 \rightarrow xyxy </math>.|({{EquationNote|7}})|RawN=.}} Checking the overlaps of these rules, we find no potential failures of confluence. Therefore, we have a confluent rewriting system, and the algorithm terminates successfully. ==== A non-terminating example ==== The order of the generators may crucially affect whether the Knuth–Bendix completion terminates. As an example, consider the [[free Abelian group]] by the monoid presentation: : <math>\langle x, y, x^{-1}, y^{-1}\, |\, xy=yx, xx^{-1} = x^{-1}x = yy^{-1} = y^{-1}y = 1 \rangle .</math> The Knuth–Bendix completion with respect to lexicographic order <math>x < x^{-1} < y < y^ {-1}</math> finishes with a convergent system, however considering the length-lexicographic order <math>x < y < x^{-1} < y^{-1}</math> it does not finish for there are no finite convergent systems compatible with this latter order.<ref name="BogopolskiBumagin2011">{{cite book |editor=Oleg Bogopolski |editor2=Inna Bumagin |editor3=Olga Kharlampovich |editor4=Enric Ventura|title=Combinatorial and Geometric Group Theory: Dortmund and Ottawa-Montreal conferences|year=2011|publisher=Springer Science & Business Media|isbn=978-3-7643-9911-5|page=62|chapter=Geodesic Rewriting Systems and Pregroups|author=V. Diekert |author2=A.J. Duncan |author3=A.G. Myasnikov}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)