Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C / C++ / MFC
  4. Can D simulated by H terminate normally?

Can D simulated by H terminate normally?

Scheduled Pinned Locked Moved C / C++ / MFC
debuggingdata-structuresperformancehelptutorial
42 Posts 4 Posters 15 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Lost User

    It doesn't matter. There is no consequential difference here between simulating the code in an emulator or running it directly, except perhaps by making it less obvious what's going to happen so you can fool yourself for longer.

    P Offline
    P Offline
    polcott
    wrote on last edited by
    #6

    So you can't tell whether or not D correctly simulated by H will ever terminate normally for the above code under the stated assumptions?

    L 1 Reply Last reply
    0
    • P polcott

      So you can't tell whether or not D correctly simulated by H will ever terminate normally for the above code under the stated assumptions?

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #7

      Are you trying to trick me into doing your homework? E: oh I see now, it's worse than that. You already wrote papers about this.. Apparently you're some sort of crank scientist then. You cannot disprove the undecidability of the halting problem, *especially* not with simple things like "just emulate the code LMAO". The interesting part about the famous undecidability proof is that it doesn't matter how H works, if you take that away you just get something that doesn't work for mundane reasons.

      P J 7 Replies Last reply
      0
      • L Lost User

        Are you trying to trick me into doing your homework? E: oh I see now, it's worse than that. You already wrote papers about this.. Apparently you're some sort of crank scientist then. You cannot disprove the undecidability of the halting problem, *especially* not with simple things like "just emulate the code LMAO". The interesting part about the famous undecidability proof is that it doesn't matter how H works, if you take that away you just get something that doesn't work for mundane reasons.

        P Offline
        P Offline
        polcott
        wrote on last edited by
        #8

        In other words it is dead obvious to everyone that D correctly simulated by H would never terminate normally. I can't tell what is and what is not obvious to others without feedback from them.

        1 Reply Last reply
        0
        • L Lost User

          Are you trying to trick me into doing your homework? E: oh I see now, it's worse than that. You already wrote papers about this.. Apparently you're some sort of crank scientist then. You cannot disprove the undecidability of the halting problem, *especially* not with simple things like "just emulate the code LMAO". The interesting part about the famous undecidability proof is that it doesn't matter how H works, if you take that away you just get something that doesn't work for mundane reasons.

          P Offline
          P Offline
          polcott
          wrote on last edited by
          #9

          Here is the code in its full context: [^]

          1 Reply Last reply
          0
          • L Lost User

            Are you trying to trick me into doing your homework? E: oh I see now, it's worse than that. You already wrote papers about this.. Apparently you're some sort of crank scientist then. You cannot disprove the undecidability of the halting problem, *especially* not with simple things like "just emulate the code LMAO". The interesting part about the famous undecidability proof is that it doesn't matter how H works, if you take that away you just get something that doesn't work for mundane reasons.

            P Offline
            P Offline
            polcott
            wrote on last edited by
            #10

            So you can see that D does not terminate normally. fully operational sample code

            1 Reply Last reply
            0
            • L Lost User

              Are you trying to trick me into doing your homework? E: oh I see now, it's worse than that. You already wrote papers about this.. Apparently you're some sort of crank scientist then. You cannot disprove the undecidability of the halting problem, *especially* not with simple things like "just emulate the code LMAO". The interesting part about the famous undecidability proof is that it doesn't matter how H works, if you take that away you just get something that doesn't work for mundane reasons.

              P Offline
              P Offline
              polcott
              wrote on last edited by
              #11

              This is a tautology: When simulating halt decider H correctly simulates its input D until H correctly determines that its simulated D would never stop running unless aborted then H is necessarily correct to abort its simulation and reject this input as non-halting.

              1 Reply Last reply
              0
              • L Lost User

                Are you trying to trick me into doing your homework? E: oh I see now, it's worse than that. You already wrote papers about this.. Apparently you're some sort of crank scientist then. You cannot disprove the undecidability of the halting problem, *especially* not with simple things like "just emulate the code LMAO". The interesting part about the famous undecidability proof is that it doesn't matter how H works, if you take that away you just get something that doesn't work for mundane reasons.

                P Offline
                P Offline
                polcott
                wrote on last edited by
                #12

                Any competent software engineer should be able to tell that D correctly simulated by H cannot possibly terminate normally because D remains stuck in recursive simulation. If these software engineers can see this then it is plausible that H can see this too. The full source-code for H is provided in a link above. In this source-code we can see that H simply recognizes a non-halting behavior pattern having the same form as infinite recursion. These same ideas are applied to the Peter Linz Turing Machine based Halting Problem proof with the same effect. When the conventional halting problem counter-example is presented to a simulating (partial) halt decider this correctly simulated input cannot possibly terminate normally and reach its own final state (the definition of halting) It remains stuck in recursive simulation.

                J 1 Reply Last reply
                0
                • L Lost User

                  Are you trying to trick me into doing your homework? E: oh I see now, it's worse than that. You already wrote papers about this.. Apparently you're some sort of crank scientist then. You cannot disprove the undecidability of the halting problem, *especially* not with simple things like "just emulate the code LMAO". The interesting part about the famous undecidability proof is that it doesn't matter how H works, if you take that away you just get something that doesn't work for mundane reasons.

                  J Offline
                  J Offline
                  jschell
                  wrote on last edited by
                  #13

                  harold aptroot wrote:

                  You already wrote papers about this..

                  Ah...well then that makes some of the rest more clear then.

                  P 1 Reply Last reply
                  0
                  • P polcott

                    Any competent software engineer should be able to tell that D correctly simulated by H cannot possibly terminate normally because D remains stuck in recursive simulation. If these software engineers can see this then it is plausible that H can see this too. The full source-code for H is provided in a link above. In this source-code we can see that H simply recognizes a non-halting behavior pattern having the same form as infinite recursion. These same ideas are applied to the Peter Linz Turing Machine based Halting Problem proof with the same effect. When the conventional halting problem counter-example is presented to a simulating (partial) halt decider this correctly simulated input cannot possibly terminate normally and reach its own final state (the definition of halting) It remains stuck in recursive simulation.

                    J Offline
                    J Offline
                    jschell
                    wrote on last edited by
                    #14

                    polcott wrote:

                    Any competent software engineer...

                    Any competent civil engineer can design a bridge that doesn't fall down. Yet they do. You said in the OP "Will D ever reach its own.." Ever means just that. In no situation in no time period. Any competent engineer (of any discipline) understands that there is a big difference between one single case and all cases for all time. The problem that you are looking at has been proven to be impossible. Any compentent engineer then understands that they must then do the following to achieve what you want. 1. Invalidate the original proof 2. Provide a new proof that it can fail. This by itself might provide the first. That is mathematics and not software.

                    P 2 Replies Last reply
                    0
                    • J jschell

                      harold aptroot wrote:

                      You already wrote papers about this..

                      Ah...well then that makes some of the rest more clear then.

                      P Offline
                      P Offline
                      polcott
                      wrote on last edited by
                      #15

                      I also posted a link to the fully operational code. I had to create the x86utm operating system based on an excellent x86 emulator. This system allows one C function to monitor the behavior of another C function in debug step mode. It is an easily verified fact that H does correctly determine that D correctly simulated by H would never terminate normally by reaching its own "return instruction" final state. D remains stuck in recursive simulation until H aborts its simulation of D. Many people have thought that this is an artifact of using C instead of Turing machines. This is refuted by the application of the same notion of a simulating (partial) halt decider to the Peter Linz Turing machine based Halting Problem proof.

                      1 Reply Last reply
                      0
                      • J jschell

                        polcott wrote:

                        Any competent software engineer...

                        Any competent civil engineer can design a bridge that doesn't fall down. Yet they do. You said in the OP "Will D ever reach its own.." Ever means just that. In no situation in no time period. Any competent engineer (of any discipline) understands that there is a big difference between one single case and all cases for all time. The problem that you are looking at has been proven to be impossible. Any compentent engineer then understands that they must then do the following to achieve what you want. 1. Invalidate the original proof 2. Provide a new proof that it can fail. This by itself might provide the first. That is mathematics and not software.

                        P Offline
                        P Offline
                        polcott
                        wrote on last edited by
                        #16

                        When you actually objectively review my work you will see that H does correctly determine that D correctly simulated by H will never reach its own "return instruction" and halt. Also this is a tautology (thus impossibly false): When simulating halt decider H correctly simulates its input D until H correctly determines that its simulated D would never stop running unless aborted then H is necessarily correct to abort its simulation and reject this input as non-halting.

                        1 Reply Last reply
                        0
                        • L Lost User

                          Are you trying to trick me into doing your homework? E: oh I see now, it's worse than that. You already wrote papers about this.. Apparently you're some sort of crank scientist then. You cannot disprove the undecidability of the halting problem, *especially* not with simple things like "just emulate the code LMAO". The interesting part about the famous undecidability proof is that it doesn't matter how H works, if you take that away you just get something that doesn't work for mundane reasons.

                          P Offline
                          P Offline
                          polcott
                          wrote on last edited by
                          #17

                          One can easily verify that D correctly simulated by H would never terminate normally because D would remain stuck in recursive simulation. Because recursive simulation demonstrates the same dynamic behavior pattern as infinite recursion it can also be understood that this behavior pattern can be recognized by an algorithm. From this we can see that from a software engineering perspective (at least) that H can correctly report that its simulated input would never terminate normally. Whether or not these insights apply to the actual halting problem is a next level review that must be done by a qualified computer scientist. The key issue here is Turing computability.

                          J 1 Reply Last reply
                          0
                          • P polcott

                            One can easily verify that D correctly simulated by H would never terminate normally because D would remain stuck in recursive simulation. Because recursive simulation demonstrates the same dynamic behavior pattern as infinite recursion it can also be understood that this behavior pattern can be recognized by an algorithm. From this we can see that from a software engineering perspective (at least) that H can correctly report that its simulated input would never terminate normally. Whether or not these insights apply to the actual halting problem is a next level review that must be done by a qualified computer scientist. The key issue here is Turing computability.

                            J Offline
                            J Offline
                            jschell
                            wrote on last edited by
                            #18

                            polcott wrote:

                            Whether or not these insights apply to the actual halting problem is a next level review that must be done by a qualified computer scientist.

                            The code you have provided is a demonstration of something that has already been demonstrated mathematically. Doesn't matter how you phrase your posts that remains true. Lets say you create a interpreter which changes the context in which the problem runs. For example it halts every single time a specific instruction is called. Certainly provable that it halts then. But that is a different problem than the one you posted. So your choices are 1. Find your own problem and prove anything you want about it. You must fully define the problem space. 2. Find a way to invalidate the existing Turing proof using the context in which it was presented. You do not get to change that context - if you want to change the context then see item #1. Note that step #1 even being fully correct will say nothing about the Turing proof.

                            P 2 Replies Last reply
                            0
                            • J jschell

                              polcott wrote:

                              Whether or not these insights apply to the actual halting problem is a next level review that must be done by a qualified computer scientist.

                              The code you have provided is a demonstration of something that has already been demonstrated mathematically. Doesn't matter how you phrase your posts that remains true. Lets say you create a interpreter which changes the context in which the problem runs. For example it halts every single time a specific instruction is called. Certainly provable that it halts then. But that is a different problem than the one you posted. So your choices are 1. Find your own problem and prove anything you want about it. You must fully define the problem space. 2. Find a way to invalidate the existing Turing proof using the context in which it was presented. You do not get to change that context - if you want to change the context then see item #1. Note that step #1 even being fully correct will say nothing about the Turing proof.

                              P Offline
                              P Offline
                              polcott
                              wrote on last edited by
                              #19

                              Thanks for answering. It is an easily verified fact that the H/D pair is isomorphic to the Halting Problem's pathological input. For any program H that might determine whether programs halt, a "pathological" program D, called with some input, can pass its own source and its input to H and then specifically do the opposite of what H predicts D will do. No H can exist that handles this case. Wikipedia:Halting problem It is equally an easily verified fact that D correctly simulated by H cannot possibly terminate normally. (D remains stuck in recursive simulation) This would seem to indicate: (a) When H correctly determines the halt status of D this is not Turing computable. (still possibly useful for termination analysis) (b) The original halting problem proofs never considered a simulating halt decider as an option, thus have a key gap in their reasoning.

                              1 Reply Last reply
                              0
                              • J jschell

                                polcott wrote:

                                Any competent software engineer...

                                Any competent civil engineer can design a bridge that doesn't fall down. Yet they do. You said in the OP "Will D ever reach its own.." Ever means just that. In no situation in no time period. Any competent engineer (of any discipline) understands that there is a big difference between one single case and all cases for all time. The problem that you are looking at has been proven to be impossible. Any compentent engineer then understands that they must then do the following to achieve what you want. 1. Invalidate the original proof 2. Provide a new proof that it can fail. This by itself might provide the first. That is mathematics and not software.

                                P Offline
                                P Offline
                                polcott
                                wrote on last edited by
                                #20

                                When the original proof relies on a single counter-example template as its input to prove undecidability all that is needed to refute this proof is to show how to determine the halt status of this otherwise undecidable input. Anyone with a BSCS can easily verify the software engineering aspect of my work. D correctly simulated by H remains stuck in recursive simulation, thus cannot possibly terminate normally. Once this is understood and accepted then looking at my actual code for H shows that it does correctly recognize a non-halting behavior pattern having the same form as infinite recursion. Summing this all up although there is a universal consensus of subjective opinion that I am wrong the objectively verified facts conclusively prove that my software engineering is correct.

                                J 1 Reply Last reply
                                0
                                • J jschell

                                  polcott wrote:

                                  Whether or not these insights apply to the actual halting problem is a next level review that must be done by a qualified computer scientist.

                                  The code you have provided is a demonstration of something that has already been demonstrated mathematically. Doesn't matter how you phrase your posts that remains true. Lets say you create a interpreter which changes the context in which the problem runs. For example it halts every single time a specific instruction is called. Certainly provable that it halts then. But that is a different problem than the one you posted. So your choices are 1. Find your own problem and prove anything you want about it. You must fully define the problem space. 2. Find a way to invalidate the existing Turing proof using the context in which it was presented. You do not get to change that context - if you want to change the context then see item #1. Note that step #1 even being fully correct will say nothing about the Turing proof.

                                  P Offline
                                  P Offline
                                  polcott
                                  wrote on last edited by
                                  #21

                                  The software engineering easily proves that D correctly simulated by H cannot possibly ever terminate normally to everyone having at least a bachelor's degree in computer science. Two people each with a masters degree in computer science have agreed that D correctly simulated by H cannot possibly terminate normally.

                                  L 1 Reply Last reply
                                  0
                                  • P polcott

                                    The software engineering easily proves that D correctly simulated by H cannot possibly ever terminate normally to everyone having at least a bachelor's degree in computer science. Two people each with a masters degree in computer science have agreed that D correctly simulated by H cannot possibly terminate normally.

                                    L Offline
                                    L Offline
                                    Lost User
                                    wrote on last edited by
                                    #22

                                    polcott wrote:

                                    cannot possibly terminate normally.

                                    Nigel Molesworth* wrote:

                                    As any fule kno.

                                    *The curse of St. Custard's

                                    P 1 Reply Last reply
                                    0
                                    • P polcott

                                      When the original proof relies on a single counter-example template as its input to prove undecidability all that is needed to refute this proof is to show how to determine the halt status of this otherwise undecidable input. Anyone with a BSCS can easily verify the software engineering aspect of my work. D correctly simulated by H remains stuck in recursive simulation, thus cannot possibly terminate normally. Once this is understood and accepted then looking at my actual code for H shows that it does correctly recognize a non-halting behavior pattern having the same form as infinite recursion. Summing this all up although there is a universal consensus of subjective opinion that I am wrong the objectively verified facts conclusively prove that my software engineering is correct.

                                      J Offline
                                      J Offline
                                      jeron1
                                      wrote on last edited by
                                      #23

                                      Try submitting it here for more peer review. Frontiers | Publisher of peer-reviewed articles in open access journals[^]

                                      "the debugger doesn't tell me anything because this code compiles just fine" - random QA comment "Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst "I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle

                                      P 1 Reply Last reply
                                      0
                                      • L Lost User

                                        polcott wrote:

                                        cannot possibly terminate normally.

                                        Nigel Molesworth* wrote:

                                        As any fule kno.

                                        *The curse of St. Custard's

                                        P Offline
                                        P Offline
                                        polcott
                                        wrote on last edited by
                                        #24

                                        And examining the complete github code of H posted on a link in these messages we can see that H itself correctly determines that D correctly simulated by H cannot possibly terminate normally. H simply recognizes a dynamic behavior pattern having the same form as infinite recursion. For any program H that might determine whether programs halt, a "pathological" program D, called with some input, can pass its own source and its input to H and then specifically do the opposite of what H predicts D will do. No H can exist that handles this case. Wikipedia: Halting Problem Finally we can also see (From the above Wikipedia quote) that H and D have the exact halting problem relationship to each other. Thus it is clear from a software engineering perspective that H does correctly determine the halt status of the halting problem's "impossible" input. If I was actually wrong someone could point out a mistake.

                                        J 1 Reply Last reply
                                        0
                                        • J jeron1

                                          Try submitting it here for more peer review. Frontiers | Publisher of peer-reviewed articles in open access journals[^]

                                          "the debugger doesn't tell me anything because this code compiles just fine" - random QA comment "Facebook is where you tell lies to your friends. Twitter is where you tell the truth to strangers." - chriselst "I don't drink any more... then again, I don't drink any less." - Mike Mullikins uncle

                                          P Offline
                                          P Offline
                                          polcott
                                          wrote on last edited by
                                          #25

                                          I am aware that there are journals that accept any material if you pay them enough. My aim is Communications of the ACM, where Edgar Dijkstra got his start. Edgar Dijkstra: Go To Statement Considered Harmful

                                          J 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups