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












2















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
























  • 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...
    – Dima Pasechnik
    1 hour ago












  • @DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
    – Andy Putman
    1 hour ago










  • oops, right. sorry for noise.
    – Dima Pasechnik
    1 hour ago
















2















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
























  • 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...
    – Dima Pasechnik
    1 hour ago












  • @DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
    – Andy Putman
    1 hour ago










  • oops, right. sorry for noise.
    – Dima Pasechnik
    1 hour ago














2












2








2








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
















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 2 mins ago









YCor

27.1k380132




27.1k380132










asked 1 hour ago









Milo Brandt

1789




1789












  • 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...
    – Dima Pasechnik
    1 hour ago












  • @DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
    – Andy Putman
    1 hour ago










  • oops, right. sorry for noise.
    – Dima Pasechnik
    1 hour ago


















  • 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...
    – Dima Pasechnik
    1 hour ago












  • @DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
    – Andy Putman
    1 hour ago










  • oops, right. sorry for noise.
    – Dima Pasechnik
    1 hour ago
















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...
– Dima Pasechnik
1 hour ago






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...
– Dima Pasechnik
1 hour ago














@DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
– Andy Putman
1 hour ago




@DimaPasechnik: What you write down is not a group since the subgroup you are trying to take the quotient by is not normal.
– Andy Putman
1 hour ago












oops, right. sorry for noise.
– Dima Pasechnik
1 hour ago




oops, right. sorry for noise.
– Dima Pasechnik
1 hour ago










1 Answer
1






active

oldest

votes


















3














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





















    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









    3














    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


























      3














      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
























        3












        3








        3






        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












        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 56 mins ago









        Andy Putman

        31.2k5132212




        31.2k5132212






























            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.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • 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.


            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

            Bundesstraße 106

            Verónica Boquete

            Ida-Boy-Ed-Garten