Equipping a set with an abstract notion of computability











up vote
1
down vote

favorite












I'm curious what the right abstraction is for equipping an arbitrary set with "something kind of like computability".



Topologies don't seem to fit because the complement of an open set is not open in general.



Sigma algebras don't seem to fit because computable functions on real numbers can't "zero in" on a particular real under our intuitive notion of computability. We can construct narrower and narrower sets containing the real in question, but can't isolate the real itself.





Most of the definitions of computability that I've seen before involve defining a subset of $mathbb{N} to mathbb{N}$ or $(mathbb{N})^n to mathbb{N}$. One constructs Turing Machines and describes how to feed data in and read it back out, or considers an initial pool of functions and closes them under certain operators.



There are a couple of properties that apply to functions in $mathbb{N} to mathbb{N}$ that are vaguely computability-like.




  • computability itself: corresponding to an always-halting Turing Machine / decider.

  • computable in polynomial time.

  • capable of being expressed in a particular total functional programming language.


Each of these properties, even though they apply to maps from $mathbb{N}$ to itself, readily give us a notion of which subsets of $mathbb{N}$ are computable, namely the preimages of $0_{mathbb{N}}$ in any of the maps.





However, for certain things like the real numbers $mathbb{R}$, I can think of two obvious ways to talk about computability, i.e. two candidates for $(mathbb{R}, sigma)$ .




  • 1) Restrict our attention to the computable reals. Each of the sets in our collection of subsets $sigma$ is a subset of the computable reals. Not every subset of the set of computable reals is in $sigma$, however.


  • 2) Consider "computably distinguishable" reals. Restrict our attention to the interval $[0,1]$, i.e. interpret infinite bitstrings as a real number on the unit interval. As our "basis" of sorts, consider numbers starting with the same finite sequence of 0s and 1s . Consider all finite sequences of finite bistrings. Associate each bitstring with the interval in $[0,1]$ that it corresponds to. By taking reciprocals and using negation, we can map portions of $mathbb{R}$ back to $[0,1]$ . We then say that our computable subsets in $mathbb{R}$ have to be computable in $[0,1]$ when $lambda x . -x$ or $lambda x . 1/x$ is applied and the result is intersected with $[0,1]$





Is there a kind of additional structure that we can endow a set with to "fix" our notion of computability up front?










share|cite|improve this question


























    up vote
    1
    down vote

    favorite












    I'm curious what the right abstraction is for equipping an arbitrary set with "something kind of like computability".



    Topologies don't seem to fit because the complement of an open set is not open in general.



    Sigma algebras don't seem to fit because computable functions on real numbers can't "zero in" on a particular real under our intuitive notion of computability. We can construct narrower and narrower sets containing the real in question, but can't isolate the real itself.





    Most of the definitions of computability that I've seen before involve defining a subset of $mathbb{N} to mathbb{N}$ or $(mathbb{N})^n to mathbb{N}$. One constructs Turing Machines and describes how to feed data in and read it back out, or considers an initial pool of functions and closes them under certain operators.



    There are a couple of properties that apply to functions in $mathbb{N} to mathbb{N}$ that are vaguely computability-like.




    • computability itself: corresponding to an always-halting Turing Machine / decider.

    • computable in polynomial time.

    • capable of being expressed in a particular total functional programming language.


    Each of these properties, even though they apply to maps from $mathbb{N}$ to itself, readily give us a notion of which subsets of $mathbb{N}$ are computable, namely the preimages of $0_{mathbb{N}}$ in any of the maps.





    However, for certain things like the real numbers $mathbb{R}$, I can think of two obvious ways to talk about computability, i.e. two candidates for $(mathbb{R}, sigma)$ .




    • 1) Restrict our attention to the computable reals. Each of the sets in our collection of subsets $sigma$ is a subset of the computable reals. Not every subset of the set of computable reals is in $sigma$, however.


    • 2) Consider "computably distinguishable" reals. Restrict our attention to the interval $[0,1]$, i.e. interpret infinite bitstrings as a real number on the unit interval. As our "basis" of sorts, consider numbers starting with the same finite sequence of 0s and 1s . Consider all finite sequences of finite bistrings. Associate each bitstring with the interval in $[0,1]$ that it corresponds to. By taking reciprocals and using negation, we can map portions of $mathbb{R}$ back to $[0,1]$ . We then say that our computable subsets in $mathbb{R}$ have to be computable in $[0,1]$ when $lambda x . -x$ or $lambda x . 1/x$ is applied and the result is intersected with $[0,1]$





    Is there a kind of additional structure that we can endow a set with to "fix" our notion of computability up front?










    share|cite|improve this question
























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      I'm curious what the right abstraction is for equipping an arbitrary set with "something kind of like computability".



      Topologies don't seem to fit because the complement of an open set is not open in general.



      Sigma algebras don't seem to fit because computable functions on real numbers can't "zero in" on a particular real under our intuitive notion of computability. We can construct narrower and narrower sets containing the real in question, but can't isolate the real itself.





      Most of the definitions of computability that I've seen before involve defining a subset of $mathbb{N} to mathbb{N}$ or $(mathbb{N})^n to mathbb{N}$. One constructs Turing Machines and describes how to feed data in and read it back out, or considers an initial pool of functions and closes them under certain operators.



      There are a couple of properties that apply to functions in $mathbb{N} to mathbb{N}$ that are vaguely computability-like.




      • computability itself: corresponding to an always-halting Turing Machine / decider.

      • computable in polynomial time.

      • capable of being expressed in a particular total functional programming language.


      Each of these properties, even though they apply to maps from $mathbb{N}$ to itself, readily give us a notion of which subsets of $mathbb{N}$ are computable, namely the preimages of $0_{mathbb{N}}$ in any of the maps.





      However, for certain things like the real numbers $mathbb{R}$, I can think of two obvious ways to talk about computability, i.e. two candidates for $(mathbb{R}, sigma)$ .




      • 1) Restrict our attention to the computable reals. Each of the sets in our collection of subsets $sigma$ is a subset of the computable reals. Not every subset of the set of computable reals is in $sigma$, however.


      • 2) Consider "computably distinguishable" reals. Restrict our attention to the interval $[0,1]$, i.e. interpret infinite bitstrings as a real number on the unit interval. As our "basis" of sorts, consider numbers starting with the same finite sequence of 0s and 1s . Consider all finite sequences of finite bistrings. Associate each bitstring with the interval in $[0,1]$ that it corresponds to. By taking reciprocals and using negation, we can map portions of $mathbb{R}$ back to $[0,1]$ . We then say that our computable subsets in $mathbb{R}$ have to be computable in $[0,1]$ when $lambda x . -x$ or $lambda x . 1/x$ is applied and the result is intersected with $[0,1]$





      Is there a kind of additional structure that we can endow a set with to "fix" our notion of computability up front?










      share|cite|improve this question













      I'm curious what the right abstraction is for equipping an arbitrary set with "something kind of like computability".



      Topologies don't seem to fit because the complement of an open set is not open in general.



      Sigma algebras don't seem to fit because computable functions on real numbers can't "zero in" on a particular real under our intuitive notion of computability. We can construct narrower and narrower sets containing the real in question, but can't isolate the real itself.





      Most of the definitions of computability that I've seen before involve defining a subset of $mathbb{N} to mathbb{N}$ or $(mathbb{N})^n to mathbb{N}$. One constructs Turing Machines and describes how to feed data in and read it back out, or considers an initial pool of functions and closes them under certain operators.



      There are a couple of properties that apply to functions in $mathbb{N} to mathbb{N}$ that are vaguely computability-like.




      • computability itself: corresponding to an always-halting Turing Machine / decider.

      • computable in polynomial time.

      • capable of being expressed in a particular total functional programming language.


      Each of these properties, even though they apply to maps from $mathbb{N}$ to itself, readily give us a notion of which subsets of $mathbb{N}$ are computable, namely the preimages of $0_{mathbb{N}}$ in any of the maps.





      However, for certain things like the real numbers $mathbb{R}$, I can think of two obvious ways to talk about computability, i.e. two candidates for $(mathbb{R}, sigma)$ .




      • 1) Restrict our attention to the computable reals. Each of the sets in our collection of subsets $sigma$ is a subset of the computable reals. Not every subset of the set of computable reals is in $sigma$, however.


      • 2) Consider "computably distinguishable" reals. Restrict our attention to the interval $[0,1]$, i.e. interpret infinite bitstrings as a real number on the unit interval. As our "basis" of sorts, consider numbers starting with the same finite sequence of 0s and 1s . Consider all finite sequences of finite bistrings. Associate each bitstring with the interval in $[0,1]$ that it corresponds to. By taking reciprocals and using negation, we can map portions of $mathbb{R}$ back to $[0,1]$ . We then say that our computable subsets in $mathbb{R}$ have to be computable in $[0,1]$ when $lambda x . -x$ or $lambda x . 1/x$ is applied and the result is intersected with $[0,1]$





      Is there a kind of additional structure that we can endow a set with to "fix" our notion of computability up front?







      soft-question computability






      share|cite|improve this question













      share|cite|improve this question











      share|cite|improve this question




      share|cite|improve this question










      asked 2 days ago









      Gregory Nisbet

      334111




      334111






















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          1
          down vote













          The Blum–Shub–Smale machine is a model of computation intended to describe computations over the real numbers. See the original paper [1], but there is now a huge literature on this model.



          [1] Lenore Blum, Mike Shub, and Steve Smale, On a theory of computation and complexity over the real numbers: NP-completeness, recursive functions and universal machines, Bull. Amer. Math. Soc. (N.S.) 21, Number 1 (1989), 1-46.






          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
            });


            }
            });














             

            draft saved


            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3005464%2fequipping-a-set-with-an-abstract-notion-of-computability%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
            1
            down vote













            The Blum–Shub–Smale machine is a model of computation intended to describe computations over the real numbers. See the original paper [1], but there is now a huge literature on this model.



            [1] Lenore Blum, Mike Shub, and Steve Smale, On a theory of computation and complexity over the real numbers: NP-completeness, recursive functions and universal machines, Bull. Amer. Math. Soc. (N.S.) 21, Number 1 (1989), 1-46.






            share|cite|improve this answer

























              up vote
              1
              down vote













              The Blum–Shub–Smale machine is a model of computation intended to describe computations over the real numbers. See the original paper [1], but there is now a huge literature on this model.



              [1] Lenore Blum, Mike Shub, and Steve Smale, On a theory of computation and complexity over the real numbers: NP-completeness, recursive functions and universal machines, Bull. Amer. Math. Soc. (N.S.) 21, Number 1 (1989), 1-46.






              share|cite|improve this answer























                up vote
                1
                down vote










                up vote
                1
                down vote









                The Blum–Shub–Smale machine is a model of computation intended to describe computations over the real numbers. See the original paper [1], but there is now a huge literature on this model.



                [1] Lenore Blum, Mike Shub, and Steve Smale, On a theory of computation and complexity over the real numbers: NP-completeness, recursive functions and universal machines, Bull. Amer. Math. Soc. (N.S.) 21, Number 1 (1989), 1-46.






                share|cite|improve this answer












                The Blum–Shub–Smale machine is a model of computation intended to describe computations over the real numbers. See the original paper [1], but there is now a huge literature on this model.



                [1] Lenore Blum, Mike Shub, and Steve Smale, On a theory of computation and complexity over the real numbers: NP-completeness, recursive functions and universal machines, Bull. Amer. Math. Soc. (N.S.) 21, Number 1 (1989), 1-46.







                share|cite|improve this answer












                share|cite|improve this answer



                share|cite|improve this answer










                answered 2 days ago









                J.-E. Pin

                18.1k21754




                18.1k21754






























                     

                    draft saved


                    draft discarded



















































                     


                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3005464%2fequipping-a-set-with-an-abstract-notion-of-computability%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

                    MongoDB - Not Authorized To Execute Command

                    in spring boot 2.1 many test slices are not allowed anymore due to multiple @BootstrapWith

                    How to fix TextFormField cause rebuild widget in Flutter