Is there an algorithm to decide if a word is in a finitely generated subgroup of a free group?












12












$begingroup$



Let $S$ be a finite set and $F$ is the free group on that set. Is there an algorithm which takes as input a sequence of $w,w_1,ldots,w_kin F$ and decides whether $win langle w_1,ldots,w_krangle$?




This question keeps appearing in some of my work. My intuition is that this has been solved somewhere. It seems very related to the Nielsen-Schreier theorem and, to my understanding, Nielsen's proof of this theorem gave an algorithm for finding a free generating set for any finitely generated subgroup of a free group - which is very closely related to this problem. I also have found various literature referring to this as a "generalized word problem" and various undecidability results relating to the problem in general - but, even though nothing suggests that this is undecidable for a free group, I've not come across any algorithm for deciding it.










share|cite|improve this question











$endgroup$












  • $begingroup$
    If you can decide this then you can decide whether $F/langle w_1,...,w_krangle$ is trivial, just check for each $w$ being an element of $S$, right? Thus it's undecideable...
    $endgroup$
    – Dima Pasechnik
    Dec 30 '18 at 4:21








  • 1




    $begingroup$
    @DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
    $endgroup$
    – Andy Putman
    Dec 30 '18 at 4:23










  • $begingroup$
    oops, right. sorry for noise.
    $endgroup$
    – Dima Pasechnik
    Dec 30 '18 at 4:27






  • 3




    $begingroup$
    This is known as "solvable uniform (subgroup) membership problem".
    $endgroup$
    – YCor
    Dec 30 '18 at 5:31










  • $begingroup$
    I saw this in the hot questions list and went, "Huh! We worked on something similar at Hampshire but didn't get far.". Lo and behold :D
    $endgroup$
    – TreFox
    Dec 30 '18 at 16:06
















12












$begingroup$



Let $S$ be a finite set and $F$ is the free group on that set. Is there an algorithm which takes as input a sequence of $w,w_1,ldots,w_kin F$ and decides whether $win langle w_1,ldots,w_krangle$?




This question keeps appearing in some of my work. My intuition is that this has been solved somewhere. It seems very related to the Nielsen-Schreier theorem and, to my understanding, Nielsen's proof of this theorem gave an algorithm for finding a free generating set for any finitely generated subgroup of a free group - which is very closely related to this problem. I also have found various literature referring to this as a "generalized word problem" and various undecidability results relating to the problem in general - but, even though nothing suggests that this is undecidable for a free group, I've not come across any algorithm for deciding it.










share|cite|improve this question











$endgroup$












  • $begingroup$
    If you can decide this then you can decide whether $F/langle w_1,...,w_krangle$ is trivial, just check for each $w$ being an element of $S$, right? Thus it's undecideable...
    $endgroup$
    – Dima Pasechnik
    Dec 30 '18 at 4:21








  • 1




    $begingroup$
    @DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
    $endgroup$
    – Andy Putman
    Dec 30 '18 at 4:23










  • $begingroup$
    oops, right. sorry for noise.
    $endgroup$
    – Dima Pasechnik
    Dec 30 '18 at 4:27






  • 3




    $begingroup$
    This is known as "solvable uniform (subgroup) membership problem".
    $endgroup$
    – YCor
    Dec 30 '18 at 5:31










  • $begingroup$
    I saw this in the hot questions list and went, "Huh! We worked on something similar at Hampshire but didn't get far.". Lo and behold :D
    $endgroup$
    – TreFox
    Dec 30 '18 at 16:06














12












12








12


2



$begingroup$



Let $S$ be a finite set and $F$ is the free group on that set. Is there an algorithm which takes as input a sequence of $w,w_1,ldots,w_kin F$ and decides whether $win langle w_1,ldots,w_krangle$?




This question keeps appearing in some of my work. My intuition is that this has been solved somewhere. It seems very related to the Nielsen-Schreier theorem and, to my understanding, Nielsen's proof of this theorem gave an algorithm for finding a free generating set for any finitely generated subgroup of a free group - which is very closely related to this problem. I also have found various literature referring to this as a "generalized word problem" and various undecidability results relating to the problem in general - but, even though nothing suggests that this is undecidable for a free group, I've not come across any algorithm for deciding it.










share|cite|improve this question











$endgroup$





Let $S$ be a finite set and $F$ is the free group on that set. Is there an algorithm which takes as input a sequence of $w,w_1,ldots,w_kin F$ and decides whether $win langle w_1,ldots,w_krangle$?




This question keeps appearing in some of my work. My intuition is that this has been solved somewhere. It seems very related to the Nielsen-Schreier theorem and, to my understanding, Nielsen's proof of this theorem gave an algorithm for finding a free generating set for any finitely generated subgroup of a free group - which is very closely related to this problem. I also have found various literature referring to this as a "generalized word problem" and various undecidability results relating to the problem in general - but, even though nothing suggests that this is undecidable for a free group, I've not come across any algorithm for deciding it.







gr.group-theory






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Dec 30 '18 at 5:25









YCor

27.4k481132




27.4k481132










asked Dec 30 '18 at 3:39









Milo BrandtMilo Brandt

228110




228110












  • $begingroup$
    If you can decide this then you can decide whether $F/langle w_1,...,w_krangle$ is trivial, just check for each $w$ being an element of $S$, right? Thus it's undecideable...
    $endgroup$
    – Dima Pasechnik
    Dec 30 '18 at 4:21








  • 1




    $begingroup$
    @DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
    $endgroup$
    – Andy Putman
    Dec 30 '18 at 4:23










  • $begingroup$
    oops, right. sorry for noise.
    $endgroup$
    – Dima Pasechnik
    Dec 30 '18 at 4:27






  • 3




    $begingroup$
    This is known as "solvable uniform (subgroup) membership problem".
    $endgroup$
    – YCor
    Dec 30 '18 at 5:31










  • $begingroup$
    I saw this in the hot questions list and went, "Huh! We worked on something similar at Hampshire but didn't get far.". Lo and behold :D
    $endgroup$
    – TreFox
    Dec 30 '18 at 16:06


















  • $begingroup$
    If you can decide this then you can decide whether $F/langle w_1,...,w_krangle$ is trivial, just check for each $w$ being an element of $S$, right? Thus it's undecideable...
    $endgroup$
    – Dima Pasechnik
    Dec 30 '18 at 4:21








  • 1




    $begingroup$
    @DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
    $endgroup$
    – Andy Putman
    Dec 30 '18 at 4:23










  • $begingroup$
    oops, right. sorry for noise.
    $endgroup$
    – Dima Pasechnik
    Dec 30 '18 at 4:27






  • 3




    $begingroup$
    This is known as "solvable uniform (subgroup) membership problem".
    $endgroup$
    – YCor
    Dec 30 '18 at 5:31










  • $begingroup$
    I saw this in the hot questions list and went, "Huh! We worked on something similar at Hampshire but didn't get far.". Lo and behold :D
    $endgroup$
    – TreFox
    Dec 30 '18 at 16:06
















$begingroup$
If you can decide this then you can decide whether $F/langle w_1,...,w_krangle$ is trivial, just check for each $w$ being an element of $S$, right? Thus it's undecideable...
$endgroup$
– Dima Pasechnik
Dec 30 '18 at 4:21






$begingroup$
If you can decide this then you can decide whether $F/langle w_1,...,w_krangle$ is trivial, just check for each $w$ being an element of $S$, right? Thus it's undecideable...
$endgroup$
– Dima Pasechnik
Dec 30 '18 at 4:21






1




1




$begingroup$
@DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
$endgroup$
– Andy Putman
Dec 30 '18 at 4:23




$begingroup$
@DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
$endgroup$
– Andy Putman
Dec 30 '18 at 4:23












$begingroup$
oops, right. sorry for noise.
$endgroup$
– Dima Pasechnik
Dec 30 '18 at 4:27




$begingroup$
oops, right. sorry for noise.
$endgroup$
– Dima Pasechnik
Dec 30 '18 at 4:27




3




3




$begingroup$
This is known as "solvable uniform (subgroup) membership problem".
$endgroup$
– YCor
Dec 30 '18 at 5:31




$begingroup$
This is known as "solvable uniform (subgroup) membership problem".
$endgroup$
– YCor
Dec 30 '18 at 5:31












$begingroup$
I saw this in the hot questions list and went, "Huh! We worked on something similar at Hampshire but didn't get far.". Lo and behold :D
$endgroup$
– TreFox
Dec 30 '18 at 16:06




$begingroup$
I saw this in the hot questions list and went, "Huh! We worked on something similar at Hampshire but didn't get far.". Lo and behold :D
$endgroup$
– TreFox
Dec 30 '18 at 16:06










1 Answer
1






active

oldest

votes


















17












$begingroup$

Let $T$ be a finite subset of the free group on a set $S$. Nielsen's original proof (described nicely in the beginning of Lyndon and Schupp's book) gives an algorithmic process to find a free generating set $T'$ for the subgroup generated by $T$ with the following very nice property: for a word $u$ in $T'$, the $T'$-length $|u|_{T'}$ of $u$ is at least the $S$-length $|u|_S$ of $u$. To recognize if a word $w$ in $S$ lies in the subgroup generated by $T$, it is thus enough to check whether it equals any of the finitely many words of length at most $|w|_S$ in $T'$.



But of course there are much faster and better ways to do this. The nicest algorithm (which runs very fast) is based on Stallings folding and can be found in



Stallings, John R.
Topology of finite graphs.
Invent. Math. 71 (1983), no. 3, 551–565.



I don't have the paper handy right now, so I'm not sure if the algorithm is made explicit in it, but if you understand this paper then it should be clear how to do what you want.






share|cite|improve this answer









$endgroup$













  • $begingroup$
    In fact the algorithm can be thought of as a special case of Todd-Coxeter coset enumeration.
    $endgroup$
    – Derek Holt
    Dec 30 '18 at 10:51






  • 1




    $begingroup$
    @DerekHolt: Conversely, having "grown up" with Stallings' algorithm, I've never needed to learn the Todd--Coxeter algorithm explicilty, since you can recover it in any group by pulling back to a free group. But I guess Todd--Coxeter comes with no guarantees that it will successfully distinguish cosets in general.
    $endgroup$
    – HJRW
    Dec 30 '18 at 15:11






  • 1




    $begingroup$
    Yes, in general if two cosets are equal, then Todd-Coxeter will eventually establish their equality, but you cannot predict how long it will take (which is inevitable since the question is undecidable). But for free groups, where there are no relations, there is a bound on the total time.
    $endgroup$
    – Derek Holt
    Dec 30 '18 at 20:36






  • 2




    $begingroup$
    The algorithm is made pretty explicit there.
    $endgroup$
    – Benjamin Steinberg
    Dec 30 '18 at 21:44











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "504"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathoverflow.net%2fquestions%2f319740%2fis-there-an-algorithm-to-decide-if-a-word-is-in-a-finitely-generated-subgroup-of%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









17












$begingroup$

Let $T$ be a finite subset of the free group on a set $S$. Nielsen's original proof (described nicely in the beginning of Lyndon and Schupp's book) gives an algorithmic process to find a free generating set $T'$ for the subgroup generated by $T$ with the following very nice property: for a word $u$ in $T'$, the $T'$-length $|u|_{T'}$ of $u$ is at least the $S$-length $|u|_S$ of $u$. To recognize if a word $w$ in $S$ lies in the subgroup generated by $T$, it is thus enough to check whether it equals any of the finitely many words of length at most $|w|_S$ in $T'$.



But of course there are much faster and better ways to do this. The nicest algorithm (which runs very fast) is based on Stallings folding and can be found in



Stallings, John R.
Topology of finite graphs.
Invent. Math. 71 (1983), no. 3, 551–565.



I don't have the paper handy right now, so I'm not sure if the algorithm is made explicit in it, but if you understand this paper then it should be clear how to do what you want.






share|cite|improve this answer









$endgroup$













  • $begingroup$
    In fact the algorithm can be thought of as a special case of Todd-Coxeter coset enumeration.
    $endgroup$
    – Derek Holt
    Dec 30 '18 at 10:51






  • 1




    $begingroup$
    @DerekHolt: Conversely, having "grown up" with Stallings' algorithm, I've never needed to learn the Todd--Coxeter algorithm explicilty, since you can recover it in any group by pulling back to a free group. But I guess Todd--Coxeter comes with no guarantees that it will successfully distinguish cosets in general.
    $endgroup$
    – HJRW
    Dec 30 '18 at 15:11






  • 1




    $begingroup$
    Yes, in general if two cosets are equal, then Todd-Coxeter will eventually establish their equality, but you cannot predict how long it will take (which is inevitable since the question is undecidable). But for free groups, where there are no relations, there is a bound on the total time.
    $endgroup$
    – Derek Holt
    Dec 30 '18 at 20:36






  • 2




    $begingroup$
    The algorithm is made pretty explicit there.
    $endgroup$
    – Benjamin Steinberg
    Dec 30 '18 at 21:44
















17












$begingroup$

Let $T$ be a finite subset of the free group on a set $S$. Nielsen's original proof (described nicely in the beginning of Lyndon and Schupp's book) gives an algorithmic process to find a free generating set $T'$ for the subgroup generated by $T$ with the following very nice property: for a word $u$ in $T'$, the $T'$-length $|u|_{T'}$ of $u$ is at least the $S$-length $|u|_S$ of $u$. To recognize if a word $w$ in $S$ lies in the subgroup generated by $T$, it is thus enough to check whether it equals any of the finitely many words of length at most $|w|_S$ in $T'$.



But of course there are much faster and better ways to do this. The nicest algorithm (which runs very fast) is based on Stallings folding and can be found in



Stallings, John R.
Topology of finite graphs.
Invent. Math. 71 (1983), no. 3, 551–565.



I don't have the paper handy right now, so I'm not sure if the algorithm is made explicit in it, but if you understand this paper then it should be clear how to do what you want.






share|cite|improve this answer









$endgroup$













  • $begingroup$
    In fact the algorithm can be thought of as a special case of Todd-Coxeter coset enumeration.
    $endgroup$
    – Derek Holt
    Dec 30 '18 at 10:51






  • 1




    $begingroup$
    @DerekHolt: Conversely, having "grown up" with Stallings' algorithm, I've never needed to learn the Todd--Coxeter algorithm explicilty, since you can recover it in any group by pulling back to a free group. But I guess Todd--Coxeter comes with no guarantees that it will successfully distinguish cosets in general.
    $endgroup$
    – HJRW
    Dec 30 '18 at 15:11






  • 1




    $begingroup$
    Yes, in general if two cosets are equal, then Todd-Coxeter will eventually establish their equality, but you cannot predict how long it will take (which is inevitable since the question is undecidable). But for free groups, where there are no relations, there is a bound on the total time.
    $endgroup$
    – Derek Holt
    Dec 30 '18 at 20:36






  • 2




    $begingroup$
    The algorithm is made pretty explicit there.
    $endgroup$
    – Benjamin Steinberg
    Dec 30 '18 at 21:44














17












17








17





$begingroup$

Let $T$ be a finite subset of the free group on a set $S$. Nielsen's original proof (described nicely in the beginning of Lyndon and Schupp's book) gives an algorithmic process to find a free generating set $T'$ for the subgroup generated by $T$ with the following very nice property: for a word $u$ in $T'$, the $T'$-length $|u|_{T'}$ of $u$ is at least the $S$-length $|u|_S$ of $u$. To recognize if a word $w$ in $S$ lies in the subgroup generated by $T$, it is thus enough to check whether it equals any of the finitely many words of length at most $|w|_S$ in $T'$.



But of course there are much faster and better ways to do this. The nicest algorithm (which runs very fast) is based on Stallings folding and can be found in



Stallings, John R.
Topology of finite graphs.
Invent. Math. 71 (1983), no. 3, 551–565.



I don't have the paper handy right now, so I'm not sure if the algorithm is made explicit in it, but if you understand this paper then it should be clear how to do what you want.






share|cite|improve this answer









$endgroup$



Let $T$ be a finite subset of the free group on a set $S$. Nielsen's original proof (described nicely in the beginning of Lyndon and Schupp's book) gives an algorithmic process to find a free generating set $T'$ for the subgroup generated by $T$ with the following very nice property: for a word $u$ in $T'$, the $T'$-length $|u|_{T'}$ of $u$ is at least the $S$-length $|u|_S$ of $u$. To recognize if a word $w$ in $S$ lies in the subgroup generated by $T$, it is thus enough to check whether it equals any of the finitely many words of length at most $|w|_S$ in $T'$.



But of course there are much faster and better ways to do this. The nicest algorithm (which runs very fast) is based on Stallings folding and can be found in



Stallings, John R.
Topology of finite graphs.
Invent. Math. 71 (1983), no. 3, 551–565.



I don't have the paper handy right now, so I'm not sure if the algorithm is made explicit in it, but if you understand this paper then it should be clear how to do what you want.







share|cite|improve this answer












share|cite|improve this answer



share|cite|improve this answer










answered Dec 30 '18 at 4:32









Andy PutmanAndy Putman

31.6k6134214




31.6k6134214












  • $begingroup$
    In fact the algorithm can be thought of as a special case of Todd-Coxeter coset enumeration.
    $endgroup$
    – Derek Holt
    Dec 30 '18 at 10:51






  • 1




    $begingroup$
    @DerekHolt: Conversely, having "grown up" with Stallings' algorithm, I've never needed to learn the Todd--Coxeter algorithm explicilty, since you can recover it in any group by pulling back to a free group. But I guess Todd--Coxeter comes with no guarantees that it will successfully distinguish cosets in general.
    $endgroup$
    – HJRW
    Dec 30 '18 at 15:11






  • 1




    $begingroup$
    Yes, in general if two cosets are equal, then Todd-Coxeter will eventually establish their equality, but you cannot predict how long it will take (which is inevitable since the question is undecidable). But for free groups, where there are no relations, there is a bound on the total time.
    $endgroup$
    – Derek Holt
    Dec 30 '18 at 20:36






  • 2




    $begingroup$
    The algorithm is made pretty explicit there.
    $endgroup$
    – Benjamin Steinberg
    Dec 30 '18 at 21:44


















  • $begingroup$
    In fact the algorithm can be thought of as a special case of Todd-Coxeter coset enumeration.
    $endgroup$
    – Derek Holt
    Dec 30 '18 at 10:51






  • 1




    $begingroup$
    @DerekHolt: Conversely, having "grown up" with Stallings' algorithm, I've never needed to learn the Todd--Coxeter algorithm explicilty, since you can recover it in any group by pulling back to a free group. But I guess Todd--Coxeter comes with no guarantees that it will successfully distinguish cosets in general.
    $endgroup$
    – HJRW
    Dec 30 '18 at 15:11






  • 1




    $begingroup$
    Yes, in general if two cosets are equal, then Todd-Coxeter will eventually establish their equality, but you cannot predict how long it will take (which is inevitable since the question is undecidable). But for free groups, where there are no relations, there is a bound on the total time.
    $endgroup$
    – Derek Holt
    Dec 30 '18 at 20:36






  • 2




    $begingroup$
    The algorithm is made pretty explicit there.
    $endgroup$
    – Benjamin Steinberg
    Dec 30 '18 at 21:44
















$begingroup$
In fact the algorithm can be thought of as a special case of Todd-Coxeter coset enumeration.
$endgroup$
– Derek Holt
Dec 30 '18 at 10:51




$begingroup$
In fact the algorithm can be thought of as a special case of Todd-Coxeter coset enumeration.
$endgroup$
– Derek Holt
Dec 30 '18 at 10:51




1




1




$begingroup$
@DerekHolt: Conversely, having "grown up" with Stallings' algorithm, I've never needed to learn the Todd--Coxeter algorithm explicilty, since you can recover it in any group by pulling back to a free group. But I guess Todd--Coxeter comes with no guarantees that it will successfully distinguish cosets in general.
$endgroup$
– HJRW
Dec 30 '18 at 15:11




$begingroup$
@DerekHolt: Conversely, having "grown up" with Stallings' algorithm, I've never needed to learn the Todd--Coxeter algorithm explicilty, since you can recover it in any group by pulling back to a free group. But I guess Todd--Coxeter comes with no guarantees that it will successfully distinguish cosets in general.
$endgroup$
– HJRW
Dec 30 '18 at 15:11




1




1




$begingroup$
Yes, in general if two cosets are equal, then Todd-Coxeter will eventually establish their equality, but you cannot predict how long it will take (which is inevitable since the question is undecidable). But for free groups, where there are no relations, there is a bound on the total time.
$endgroup$
– Derek Holt
Dec 30 '18 at 20:36




$begingroup$
Yes, in general if two cosets are equal, then Todd-Coxeter will eventually establish their equality, but you cannot predict how long it will take (which is inevitable since the question is undecidable). But for free groups, where there are no relations, there is a bound on the total time.
$endgroup$
– Derek Holt
Dec 30 '18 at 20:36




2




2




$begingroup$
The algorithm is made pretty explicit there.
$endgroup$
– Benjamin Steinberg
Dec 30 '18 at 21:44




$begingroup$
The algorithm is made pretty explicit there.
$endgroup$
– Benjamin Steinberg
Dec 30 '18 at 21:44


















draft saved

draft discarded




















































Thanks for contributing an answer to MathOverflow!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathoverflow.net%2fquestions%2f319740%2fis-there-an-algorithm-to-decide-if-a-word-is-in-a-finitely-generated-subgroup-of%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Monofisismo

Angular Downloading a file using contenturl with Basic Authentication

Olmecas