Does my solution show that the language is uncomputable by applying rice's theorem?











up vote
2
down vote

favorite












If p is a Turing machine then L(p) = {x | p(x) = yes}.



Let A = {p | p is a Turing machine and L(p) is a finite set}.


Is A computable? Justify your answer.



So I'm trying to figure out how to solve this question and here is the answer that I've come up with:



(i) So we know that A is a non-trivial problem since some turing machines L(p) is a finite state and some turing machines where L(p) is not a finite state.



(ii) A respects equivalence when given any 2 equivalent turing machines p and q.



 p ε A ⇒ p is a turing machine and L(p) is a finite set

⇒ q is a turing machine and L(q) is a finite set

⇒ q ε A


Therefore, by applying Rice's theorem we can see that A is uncomputable.










share|cite|improve this question







New contributor




ken6208 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    up vote
    2
    down vote

    favorite












    If p is a Turing machine then L(p) = {x | p(x) = yes}.



    Let A = {p | p is a Turing machine and L(p) is a finite set}.


    Is A computable? Justify your answer.



    So I'm trying to figure out how to solve this question and here is the answer that I've come up with:



    (i) So we know that A is a non-trivial problem since some turing machines L(p) is a finite state and some turing machines where L(p) is not a finite state.



    (ii) A respects equivalence when given any 2 equivalent turing machines p and q.



     p ε A ⇒ p is a turing machine and L(p) is a finite set

    ⇒ q is a turing machine and L(q) is a finite set

    ⇒ q ε A


    Therefore, by applying Rice's theorem we can see that A is uncomputable.










    share|cite|improve this question







    New contributor




    ken6208 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      up vote
      2
      down vote

      favorite









      up vote
      2
      down vote

      favorite











      If p is a Turing machine then L(p) = {x | p(x) = yes}.



      Let A = {p | p is a Turing machine and L(p) is a finite set}.


      Is A computable? Justify your answer.



      So I'm trying to figure out how to solve this question and here is the answer that I've come up with:



      (i) So we know that A is a non-trivial problem since some turing machines L(p) is a finite state and some turing machines where L(p) is not a finite state.



      (ii) A respects equivalence when given any 2 equivalent turing machines p and q.



       p ε A ⇒ p is a turing machine and L(p) is a finite set

      ⇒ q is a turing machine and L(q) is a finite set

      ⇒ q ε A


      Therefore, by applying Rice's theorem we can see that A is uncomputable.










      share|cite|improve this question







      New contributor




      ken6208 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      If p is a Turing machine then L(p) = {x | p(x) = yes}.



      Let A = {p | p is a Turing machine and L(p) is a finite set}.


      Is A computable? Justify your answer.



      So I'm trying to figure out how to solve this question and here is the answer that I've come up with:



      (i) So we know that A is a non-trivial problem since some turing machines L(p) is a finite state and some turing machines where L(p) is not a finite state.



      (ii) A respects equivalence when given any 2 equivalent turing machines p and q.



       p ε A ⇒ p is a turing machine and L(p) is a finite set

      ⇒ q is a turing machine and L(q) is a finite set

      ⇒ q ε A


      Therefore, by applying Rice's theorem we can see that A is uncomputable.







      discrete-mathematics computability automata turing-machines






      share|cite|improve this question







      New contributor




      ken6208 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|cite|improve this question







      New contributor




      ken6208 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|cite|improve this question




      share|cite|improve this question






      New contributor




      ken6208 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 2 days ago









      ken6208

      132




      132




      New contributor




      ken6208 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      ken6208 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      ken6208 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          0
          down vote



          accepted










          Yes, you are right that Rice's theorem applies here and implies $A$ is not computable.



          For a direct reduction to the halting problem (which is really nothing more than the proof of Rice's theorem specialized to this particular case), given a program $a$ and input $i,$




          1. write a program that, for any input $j$, first runs $a$ on input $i$ and
            then (if it finishes) returns $1,$ and then

          2. use the oracle for $A$ to analyze this program to decide whether it
            accepts only finitely many inputs or not, returning $0$ if it does,
            and $1$ if it doesn't.


          It's clear that this inner program is equivalent to "return $1$" if $a$ halts on input $i$ and equivalent to "loop" if it doesn't. And "return $1$" accepts infinitely many inputs (all of them) whereas "loop" accepts only finitely many (none).






          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: "69"
            };
            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',
            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
            });


            }
            });






            ken6208 is a new contributor. Be nice, and check out our Code of Conduct.










             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2997747%2fdoes-my-solution-show-that-the-language-is-uncomputable-by-applying-rices-theor%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








            up vote
            0
            down vote



            accepted










            Yes, you are right that Rice's theorem applies here and implies $A$ is not computable.



            For a direct reduction to the halting problem (which is really nothing more than the proof of Rice's theorem specialized to this particular case), given a program $a$ and input $i,$




            1. write a program that, for any input $j$, first runs $a$ on input $i$ and
              then (if it finishes) returns $1,$ and then

            2. use the oracle for $A$ to analyze this program to decide whether it
              accepts only finitely many inputs or not, returning $0$ if it does,
              and $1$ if it doesn't.


            It's clear that this inner program is equivalent to "return $1$" if $a$ halts on input $i$ and equivalent to "loop" if it doesn't. And "return $1$" accepts infinitely many inputs (all of them) whereas "loop" accepts only finitely many (none).






            share|cite|improve this answer



























              up vote
              0
              down vote



              accepted










              Yes, you are right that Rice's theorem applies here and implies $A$ is not computable.



              For a direct reduction to the halting problem (which is really nothing more than the proof of Rice's theorem specialized to this particular case), given a program $a$ and input $i,$




              1. write a program that, for any input $j$, first runs $a$ on input $i$ and
                then (if it finishes) returns $1,$ and then

              2. use the oracle for $A$ to analyze this program to decide whether it
                accepts only finitely many inputs or not, returning $0$ if it does,
                and $1$ if it doesn't.


              It's clear that this inner program is equivalent to "return $1$" if $a$ halts on input $i$ and equivalent to "loop" if it doesn't. And "return $1$" accepts infinitely many inputs (all of them) whereas "loop" accepts only finitely many (none).






              share|cite|improve this answer

























                up vote
                0
                down vote



                accepted







                up vote
                0
                down vote



                accepted






                Yes, you are right that Rice's theorem applies here and implies $A$ is not computable.



                For a direct reduction to the halting problem (which is really nothing more than the proof of Rice's theorem specialized to this particular case), given a program $a$ and input $i,$




                1. write a program that, for any input $j$, first runs $a$ on input $i$ and
                  then (if it finishes) returns $1,$ and then

                2. use the oracle for $A$ to analyze this program to decide whether it
                  accepts only finitely many inputs or not, returning $0$ if it does,
                  and $1$ if it doesn't.


                It's clear that this inner program is equivalent to "return $1$" if $a$ halts on input $i$ and equivalent to "loop" if it doesn't. And "return $1$" accepts infinitely many inputs (all of them) whereas "loop" accepts only finitely many (none).






                share|cite|improve this answer














                Yes, you are right that Rice's theorem applies here and implies $A$ is not computable.



                For a direct reduction to the halting problem (which is really nothing more than the proof of Rice's theorem specialized to this particular case), given a program $a$ and input $i,$




                1. write a program that, for any input $j$, first runs $a$ on input $i$ and
                  then (if it finishes) returns $1,$ and then

                2. use the oracle for $A$ to analyze this program to decide whether it
                  accepts only finitely many inputs or not, returning $0$ if it does,
                  and $1$ if it doesn't.


                It's clear that this inner program is equivalent to "return $1$" if $a$ halts on input $i$ and equivalent to "loop" if it doesn't. And "return $1$" accepts infinitely many inputs (all of them) whereas "loop" accepts only finitely many (none).







                share|cite|improve this answer














                share|cite|improve this answer



                share|cite|improve this answer








                edited yesterday

























                answered yesterday









                spaceisdarkgreen

                31.2k21552




                31.2k21552






















                    ken6208 is a new contributor. Be nice, and check out our Code of Conduct.










                     

                    draft saved


                    draft discarded


















                    ken6208 is a new contributor. Be nice, and check out our Code of Conduct.













                    ken6208 is a new contributor. Be nice, and check out our Code of Conduct.












                    ken6208 is a new contributor. Be nice, and check out our Code of Conduct.















                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f2997747%2fdoes-my-solution-show-that-the-language-is-uncomputable-by-applying-rices-theor%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

                    Plaza Victoria

                    In PowerPoint, is there a keyboard shortcut for bulleted / numbered list?

                    How to put 3 figures in Latex with 2 figures side by side and 1 below these side by side images but in...