Deutsch English Français Italiano |
<v36rlr$13000$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Mikko <mikko.levanto@iki.fi> Newsgroups: comp.theory Subject: Re: D correctly simulated by H cannot possibly halt --- templates and infinite sets Date: Wed, 29 May 2024 12:14:35 +0300 Organization: - Lines: 138 Message-ID: <v36rlr$13000$1@dont-email.me> References: <v3501h$lpnh$1@dont-email.me> <v362eu$2d367$3@i2pn2.org> <v363js$vg63$2@dont-email.me> <v36803$2d368$3@i2pn2.org> <v368je$100kd$3@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Wed, 29 May 2024 11:14:35 +0200 (CEST) Injection-Info: dont-email.me; posting-host="12174c0476b29b50a8f25da96e0ea8af"; logging-data="1146880"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1++MMqbIekap1gAaReDDUP2" User-Agent: Unison/2.2 Cancel-Lock: sha1:DqKXsmiYEPBDNNUVlUUx8tJ6sME= Bytes: 6234 On 2024-05-29 03:49:02 +0000, olcott said: > On 5/28/2024 10:38 PM, Richard Damon wrote: >> On 5/28/24 10:23 PM, olcott wrote: >>> On 5/28/2024 9:04 PM, Richard Damon wrote: >>>> On 5/28/24 12:16 PM, olcott wrote: >>>>> typedef int (*ptr)(); // ptr is pointer to int function in C >>>>> 00 int H(ptr p, ptr i); >>>>> 01 int D(ptr p) >>>>> 02 { >>>>> 03 int Halt_Status = H(p, p); >>>>> 04 if (Halt_Status) >>>>> 05 HERE: goto HERE; >>>>> 06 return Halt_Status; >>>>> 07 } >>>>> 08 >>>>> 09 int main() >>>>> 10 { >>>>> 11 H(D,D); >>>>> 12 return 0; >>>>> 13 } >>>>> >>>>> When Ĥ is applied to ⟨Ĥ⟩ >>>>> Ĥ.q0 ⟨Ĥ⟩ ⊢* embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qy ∞ >>>>> Ĥ.q0 ⟨Ĥ⟩ ⊢* embedded_H ⟨Ĥ⟩ ⟨Ĥ⟩ ⊢* Ĥ.qn >>>>> >>>>> *Formalizing the Linz Proof structure* >>>>> ∃H ∈ Turing_Machines >>>>> ∀x ∈ Turing_Machines_Descriptions >>>>> ∀y ∈ Finite_Strings >>>>> such that H(x,y) = Halts(x,x) >>>> >>>> But since for x being the description of the H^ built from that H and y >>>> being the same, it turns out that no matter what answer H gives, it >>>> will be wrong. >>>> >>> >>> We have not gotten to that point yet this post is so that >>> you can fully understand what templates are and how they work. >> >> But note, x, being a Turing Machine, is NOT a "template" >> >> And H, isn't a "set of Turing Machines", but an arbitrary member of >> that set, so all we need to do is find a single x, y, possible >> determined as a function of H (so, BUILT from a template, but not a >> template themselves) that shows that particular H was wrong. >> >> >> That is basically what Linz does. >> >> Given a SPECIFIC (but arbitary) H, we can construct a specific H^ built >> from a template from H, that that H can not get right. >> >> All the other H's might get this input right, but we don't care, we >> have shown that for every H we >> >>> >>>> (And I think you have an error in your reference to Halts, I think you >>>> mean Halts(x,y) not Halts(x,x) >>>> >>> >>> Yes good catch. I was trying to model embedded_H / ⟨Ĥ⟩ >>> and then changed my mind to make it more general. >>> >>>>> >>>>> *Here is the same thing applied to H/D pairs* >>>>> ∃H ∈ C_Functions >>>>> ∀D ∈ x86_Machine_Code_of_C_Functions >>>>> such that H(D,D) = Halts(D,D) >>>> >>>> Not the same thing. >>>> ∃H ∈ C_Functions >>>> is not equivalent to >>>> ∃H ∈ Turing_Machines >>>> >>>> as there are many C_Functions that are not the equivalent of Turing Machines. >>>> >>> >>> The whole purpose here is to get you to understand what >>> templates are and how they reference infinite sets. >>> >> >> But the problem is that even in your formulation, H and D are, when >> doing the test, SPECIFIC PROGRAMS and not "templates" as Halts is >> defined on the domain of PROGRAMS. >> >> Similarly, a "Template" doesn't have a specific set of >> x86_Machine_Code_of_C_function, at least not one with defined behavior >> since if it tries to reference code outside of itself, then Halts of >> that just isn't defined, only Halts of that code + the specific machine >> deciding it. >> >>>> >>>>> >>>>> In both cases infinite sets are examined to see >>>>> if any H exists with the required properties. >>>>> >>>> >>>> Yes, but the logic of Turing Machines looks at them one at a time, and >>>> the input is a FULL INDEPENDENT PROGRAM. >>>> >>> >>> ∃H ∈ Turing_Machines >>> That does not look at one machine it looks as an infinite set of >>> machines. I am very happy to find out that you were not playing head >>> games. Linz actually used the words that you referred to. >> >> while the ∃H part can create a set of machines, each element of that >> set is INDIVIDUALLY TESTED in the following conditions, so, when we get >> to your test H(x,y) = Halts(x,x), each of H, x, y are individual >> members of the set, and we THEN collect the set of all of them. >> >> If we try to say >> ∃x ∈ Natural Numbers, such that x+x = 3 >> we can't say that x is both 1 and 2 and thus as a set meet the >> requirement. For the conditions, each qualifier select a single >> prospective element, and those are tested to see if that meet the >> requirement. >> > > So it never was about any specific machine as Linz misleading words > seemed to indicate. It was always about examining each element of an > infinite set. > > Likewise: ∃H ∈ C_Functions is about examining each element > of an infinite set. A program template specifies a set of programs > the same way that an axiom schema specifies a set of axioms. > > I am very happy that the issue was the misleading words of Linz > and not you playing head games. In an inderect proof of an unversal claim the counter-hypothesis must be about one example. Then the proof is about that specific example until a contradiction is derived. -- Mikko