Rocksolid Light

Welcome to Rocksolid Light

mail  files  register  newsreader  groups  login

Message-ID:  

"We will bury you." -- Nikita Kruschev


devel / comp.theory / Re: DD correctly simulated by HH

SubjectAuthor
* DD correctly simulated by HHolcott
`* Re: DD correctly simulated by HHimmibis
 +* Re: DD correctly simulated by HHolcott
 |+* Re: DD correctly simulated by HHimmibis
 ||`- Re: DD correctly simulated by HHimmibis
 |`- Re: DD correctly simulated by HHRichard Damon
 `* Re: DD correctly simulated by HHolcott
  `- Re: DD correctly simulated by HHRichard Damon

1
DD correctly simulated by HH

<uo9vc0$28v2a$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=51573&group=comp.theory#51573

  copy link   Newsgroups: comp.theory sci.logic
Path: i2pn2.org!i2pn.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: polcott2@gmail.com (olcott)
Newsgroups: comp.theory,sci.logic
Subject: DD correctly simulated by HH
Date: Wed, 17 Jan 2024 19:37:03 -0600
Organization: A noiseless patient Spider
Lines: 28
Message-ID: <uo9vc0$28v2a$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 18 Jan 2024 01:37:05 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="dabe35476a2442cdb1039cb61887b3b8";
logging-data="2391114"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18kqcMjWjGE93TdP3gnKnde"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:Non5oXtcx7w+1n8VRbqCG7dMw1s=
Content-Language: en-US
 by: olcott - Thu, 18 Jan 2024 01:37 UTC

*DD is merely D that calls HH instead of H*

int DD(void (*x)())
{ int Halt_Status = HH(x, x);
if (Halt_Status)
HERE: goto HERE;
return Halt_Status;
}

*This was the most difficult code for me to write*
HH can correctly simulate itself simulating DD to an arbitrary
recursive depth.

Unless HH aborts its simulation of DD it will abnormally terminate
from stack overflow.

*This conclusively proves that DD simulated by HH DOES NOT HALT*

I had to make x86utm a full multi-tasking operating system with
each simulation having its own process context: {memory, stack,
virtual registers}

https://github.com/plolcott/x86utm/blob/master/Halt7.c

--
Copyright 2023 Olcott "Talent hits a target no one else can hit; Genius
hits a target no one else can see." Arthur Schopenhauer

Re: DD correctly simulated by HH

<uoaj3t$2gc89$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=51577&group=comp.theory#51577

  copy link   Newsgroups: comp.theory sci.logic
Path: i2pn2.org!i2pn.org!news.samoylyk.net!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder8.news.weretis.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: news@immibis.com (immibis)
Newsgroups: comp.theory,sci.logic
Subject: Re: DD correctly simulated by HH
Date: Thu, 18 Jan 2024 08:14:05 +0100
Organization: A noiseless patient Spider
Lines: 30
Message-ID: <uoaj3t$2gc89$1@dont-email.me>
References: <uo9vc0$28v2a$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 18 Jan 2024 07:14:06 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="a54d81eac7d5189ead9d144c0900095e";
logging-data="2633993"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19QT62Kwvj9OMPiQKAJzmTV"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:AMT6b6QYMyfG3eC0uSyjmAqVGYM=
In-Reply-To: <uo9vc0$28v2a$1@dont-email.me>
Content-Language: en-US
 by: immibis - Thu, 18 Jan 2024 07:14 UTC

On 1/18/24 02:37, olcott wrote:
> *DD is merely D that calls HH instead of H*
>
> int DD(void (*x)())
> {
>   int Halt_Status = HH(x, x);
>   if (Halt_Status)
>     HERE: goto HERE;
>   return Halt_Status;
> }
>
> *This was the most difficult code for me to write*
> HH can correctly simulate itself simulating DD to an arbitrary
> recursive depth.
>
> Unless HH aborts its simulation of DD it will abnormally terminate
> from stack overflow.
If HH aborts its simulation of DD then is not infinitely recursive so
the abort is incorrect.

>
> *This conclusively proves that DD simulated by HH DOES NOT HALT*
>
> I had to make x86utm a full multi-tasking operating system with
> each simulation having its own process context: {memory, stack,
> virtual registers}
>
> https://github.com/plolcott/x86utm/blob/master/Halt7.c
>

Re: DD correctly simulated by HH

<uobb6l$2k251$1@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=51579&group=comp.theory#51579

  copy link   Newsgroups: comp.theory sci.logic
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: polcott2@gmail.com (olcott)
Newsgroups: comp.theory,sci.logic
Subject: Re: DD correctly simulated by HH
Date: Thu, 18 Jan 2024 08:05:09 -0600
Organization: A noiseless patient Spider
Lines: 45
Message-ID: <uobb6l$2k251$1@dont-email.me>
References: <uo9vc0$28v2a$1@dont-email.me> <uoaj3t$2gc89$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 18 Jan 2024 14:05:09 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="dabe35476a2442cdb1039cb61887b3b8";
logging-data="2754721"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+5WuCX0MZLD39l3X0NXJml"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:9/ocWl4IllDMUItzsfQ/Uerv/SU=
In-Reply-To: <uoaj3t$2gc89$1@dont-email.me>
Content-Language: en-US
 by: olcott - Thu, 18 Jan 2024 14:05 UTC

On 1/18/2024 1:14 AM, immibis wrote:
> On 1/18/24 02:37, olcott wrote:
>> *DD is merely D that calls HH instead of H*
>>
>> int DD(void (*x)())
>> {
>>    int Halt_Status = HH(x, x);
>>    if (Halt_Status)
>>      HERE: goto HERE;
>>    return Halt_Status;
>> }
>>
>> *This was the most difficult code for me to write*
>> HH can correctly simulate itself simulating DD to an arbitrary
>> recursive depth.
>>
>> Unless HH aborts its simulation of DD it will abnormally terminate
>> from stack overflow.
> If HH aborts its simulation of DD then is not infinitely recursive so
> the abort is incorrect.
>

MIT Professor Michael Sipser agreed that this verbatim paragraph is correct
(a) If simulating halt decider H correctly simulates its input D until H
correctly determines that its simulated D would never stop running
unless aborted then
(b) H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.

>>
>> *This conclusively proves that DD simulated by HH DOES NOT HALT*
>>
>> I had to make x86utm a full multi-tasking operating system with
>> each simulation having its own process context: {memory, stack,
>> virtual registers}
>>
>> https://github.com/plolcott/x86utm/blob/master/Halt7.c
>>
>

--
Copyright 2023 Olcott "Talent hits a target no one else can hit; Genius
hits a target no one else can see." Arthur Schopenhauer

Re: DD correctly simulated by HH

<uobcv1$2kag4$6@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=51584&group=comp.theory#51584

  copy link   Newsgroups: comp.theory sci.logic
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: polcott2@gmail.com (olcott)
Newsgroups: comp.theory,sci.logic
Subject: Re: DD correctly simulated by HH
Date: Thu, 18 Jan 2024 08:35:13 -0600
Organization: A noiseless patient Spider
Lines: 50
Message-ID: <uobcv1$2kag4$6@dont-email.me>
References: <uo9vc0$28v2a$1@dont-email.me> <uoaj3t$2gc89$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 18 Jan 2024 14:35:13 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="dabe35476a2442cdb1039cb61887b3b8";
logging-data="2763268"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/IfVAXvkK7GwEVm5E5SqHY"
User-Agent: Mozilla Thunderbird
Cancel-Lock: sha1:59RnDv7b+N4DwL35IQiG+AaqDbg=
In-Reply-To: <uoaj3t$2gc89$1@dont-email.me>
Content-Language: en-US
 by: olcott - Thu, 18 Jan 2024 14:35 UTC

On 1/18/2024 1:14 AM, immibis wrote:
> On 1/18/24 02:37, olcott wrote:
>> *DD is merely D that calls HH instead of H*
>>
>> int DD(void (*x)())
>> {
>>    int Halt_Status = HH(x, x);
>>    if (Halt_Status)
>>      HERE: goto HERE;
>>    return Halt_Status;
>> }
>>
>> *This was the most difficult code for me to write*
>> HH can correctly simulate itself simulating DD to an arbitrary
>> recursive depth.
>>
>> Unless HH aborts its simulation of DD it will abnormally terminate
>> from stack overflow.
> If HH aborts its simulation of DD then is not infinitely recursive so
> the abort is incorrect.
>

(a) If simulating termination analyzer H correctly determines that D
correctly simulated by H cannot possibly reach its own final state and
terminate normally then

(b) H can abort its simulation of D and correctly report that D
specifies a non-halting sequence of configurations.

The ultimate measure [of a correct simulation] is the correct x86
emulation of the x86 instructions in the order that they are specified.
The alternative is incorrectly emulating the x86 instructions in some
other order than they are specified.

>>
>> *This conclusively proves that DD simulated by HH DOES NOT HALT*
>>
>> I had to make x86utm a full multi-tasking operating system with
>> each simulation having its own process context: {memory, stack,
>> virtual registers}
>>
>> https://github.com/plolcott/x86utm/blob/master/Halt7.c
>>
>

--
Copyright 2023 Olcott "Talent hits a target no one else can hit; Genius
hits a target no one else can see." Arthur Schopenhauer

Re: DD correctly simulated by HH

<uobimm$2lcsp$4@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=51589&group=comp.theory#51589

  copy link   Newsgroups: comp.theory sci.logic
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: news@immibis.com (immibis)
Newsgroups: comp.theory,sci.logic
Subject: Re: DD correctly simulated by HH
Date: Thu, 18 Jan 2024 17:13:10 +0100
Organization: A noiseless patient Spider
Lines: 34
Message-ID: <uobimm$2lcsp$4@dont-email.me>
References: <uo9vc0$28v2a$1@dont-email.me> <uoaj3t$2gc89$1@dont-email.me>
<uobb6l$2k251$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 18 Jan 2024 16:13:10 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6afc4e55e9f1ee234a70a77a193911bd";
logging-data="2798489"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/l/1rkhq7ObI9BV/uEJdEZ"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:aEYvB/6FsOnL8KMNiGIlQ2naIw4=
Content-Language: en-US
In-Reply-To: <uobb6l$2k251$1@dont-email.me>
 by: immibis - Thu, 18 Jan 2024 16:13 UTC

On 1/18/24 15:05, olcott wrote:
> On 1/18/2024 1:14 AM, immibis wrote:
>> On 1/18/24 02:37, olcott wrote:
>>> *DD is merely D that calls HH instead of H*
>>>
>>> int DD(void (*x)())
>>> {
>>>    int Halt_Status = HH(x, x);
>>>    if (Halt_Status)
>>>      HERE: goto HERE;
>>>    return Halt_Status;
>>> }
>>>
>>> *This was the most difficult code for me to write*
>>> HH can correctly simulate itself simulating DD to an arbitrary
>>> recursive depth.
>>>
>>> Unless HH aborts its simulation of DD it will abnormally terminate
>>> from stack overflow.
>> If HH aborts its simulation of DD then is not infinitely recursive so
>> the abort is incorrect.
>>
>
> MIT Professor Michael Sipser agreed that this verbatim paragraph is correct
> (a) If simulating halt decider H correctly simulates its input D until H
> correctly determines that its simulated D would never stop running
> unless aborted then
> (b) H can abort its simulation of D and correctly report that D
> specifies a non-halting sequence of configurations.
>

The verbatim paragraph is correct. It has no relevance, because H is an
incorrect simulator.

Re: DD correctly simulated by HH

<uobioa$2lcsp$5@dont-email.me>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=51590&group=comp.theory#51590

  copy link   Newsgroups: comp.theory sci.logic
Path: i2pn2.org!rocksolid2!news.neodome.net!news.mixmin.net!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From: news@immibis.com (immibis)
Newsgroups: comp.theory,sci.logic
Subject: Re: DD correctly simulated by HH
Date: Thu, 18 Jan 2024 17:14:02 +0100
Organization: A noiseless patient Spider
Lines: 40
Message-ID: <uobioa$2lcsp$5@dont-email.me>
References: <uo9vc0$28v2a$1@dont-email.me> <uoaj3t$2gc89$1@dont-email.me>
<uobb6l$2k251$1@dont-email.me> <uobimm$2lcsp$4@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Thu, 18 Jan 2024 16:14:02 -0000 (UTC)
Injection-Info: dont-email.me; posting-host="6afc4e55e9f1ee234a70a77a193911bd";
logging-data="2798489"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+7lj/v9H5T33lbBgdsrCTR"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
Thunderbird/102.14.0
Cancel-Lock: sha1:i8GxV87YQznz3gHstDYyBduPObM=
In-Reply-To: <uobimm$2lcsp$4@dont-email.me>
Content-Language: en-US
 by: immibis - Thu, 18 Jan 2024 16:14 UTC

On 1/18/24 17:13, immibis wrote:
> On 1/18/24 15:05, olcott wrote:
>> On 1/18/2024 1:14 AM, immibis wrote:
>>> On 1/18/24 02:37, olcott wrote:
>>>> *DD is merely D that calls HH instead of H*
>>>>
>>>> int DD(void (*x)())
>>>> {
>>>>    int Halt_Status = HH(x, x);
>>>>    if (Halt_Status)
>>>>      HERE: goto HERE;
>>>>    return Halt_Status;
>>>> }
>>>>
>>>> *This was the most difficult code for me to write*
>>>> HH can correctly simulate itself simulating DD to an arbitrary
>>>> recursive depth.
>>>>
>>>> Unless HH aborts its simulation of DD it will abnormally terminate
>>>> from stack overflow.
>>> If HH aborts its simulation of DD then is not infinitely recursive so
>>> the abort is incorrect.
>>>
>>
>> MIT Professor Michael Sipser agreed that this verbatim paragraph is
>> correct
>> (a) If simulating halt decider H correctly simulates its input D until
>> H correctly determines that its simulated D would never stop running
>> unless aborted then
>> (b) H can abort its simulation of D and correctly report that D
>> specifies a non-halting sequence of configurations.
>>
>
> The verbatim paragraph is correct. It has no relevance, because H is an
> incorrect simulator.
>

Correction: Each instruction is simulated correctly. The abort decision
is incorrect. H incorrectly determines that its simulated D would never
stop running unless aborted.

Re: DD correctly simulated by HH

<uocica$3mlsk$2@i2pn2.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=51625&group=comp.theory#51625

  copy link   Newsgroups: comp.theory sci.logic
Path: i2pn2.org!.POSTED!not-for-mail
From: richard@damon-family.org (Richard Damon)
Newsgroups: comp.theory,sci.logic
Subject: Re: DD correctly simulated by HH
Date: Thu, 18 Jan 2024 20:13:45 -0500
Organization: i2pn2 (i2pn.org)
Message-ID: <uocica$3mlsk$2@i2pn2.org>
References: <uo9vc0$28v2a$1@dont-email.me> <uoaj3t$2gc89$1@dont-email.me>
<uobcv1$2kag4$6@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 19 Jan 2024 01:13:46 -0000 (UTC)
Injection-Info: i2pn2.org;
logging-data="3889044"; mail-complaints-to="usenet@i2pn2.org";
posting-account="diqKR1lalukngNWEqoq9/uFtbkm5U+w3w6FQ0yesrXg";
User-Agent: Mozilla Thunderbird
X-Spam-Checker-Version: SpamAssassin 4.0.0
In-Reply-To: <uobcv1$2kag4$6@dont-email.me>
Content-Language: en-US
 by: Richard Damon - Fri, 19 Jan 2024 01:13 UTC

On 1/18/24 9:35 AM, olcott wrote:
> On 1/18/2024 1:14 AM, immibis wrote:
>> On 1/18/24 02:37, olcott wrote:
>>> *DD is merely D that calls HH instead of H*
>>>
>>> int DD(void (*x)())
>>> {
>>>    int Halt_Status = HH(x, x);
>>>    if (Halt_Status)
>>>      HERE: goto HERE;
>>>    return Halt_Status;
>>> }
>>>
>>> *This was the most difficult code for me to write*
>>> HH can correctly simulate itself simulating DD to an arbitrary
>>> recursive depth.
>>>
>>> Unless HH aborts its simulation of DD it will abnormally terminate
>>> from stack overflow.
>> If HH aborts its simulation of DD then is not infinitely recursive so
>> the abort is incorrect.
>>
>
> (a) If simulating termination analyzer H correctly determines that D
> correctly simulated by H cannot possibly reach its own final state and
> terminate normally then

WHich H doesn't do, but erroneously looks at the correct simulation of a
DIFFERENT input, which you decpetively try to give the same name.

>
> (b) H can abort its simulation of D and correctly report that D
> specifies a non-halting sequence of configurations.
>
> The ultimate measure [of a correct simulation] is the correct x86
> emulation of the x86 instructions in the order that they are specified.
> The alternative is incorrectly emulating the x86 instructions in some
> other order than they are specified.

And since your simulation doesn't correctly determine what a call H(D,D)
does, it is incorrect.

>
>
>>>
>>> *This conclusively proves that DD simulated by HH DOES NOT HALT*
>>>
>>> I had to make x86utm a full multi-tasking operating system with
>>> each simulation having its own process context: {memory, stack,
>>> virtual registers}
>>>
>>> https://github.com/plolcott/x86utm/blob/master/Halt7.c
>>>
>>
>

Re: DD correctly simulated by HH

<uocice$3mlsk$3@i2pn2.org>

  copy mid

https://news.novabbs.org/devel/article-flat.php?id=51626&group=comp.theory#51626

  copy link   Newsgroups: comp.theory sci.logic
Path: i2pn2.org!.POSTED!not-for-mail
From: richard@damon-family.org (Richard Damon)
Newsgroups: comp.theory,sci.logic
Subject: Re: DD correctly simulated by HH
Date: Thu, 18 Jan 2024 20:13:50 -0500
Organization: i2pn2 (i2pn.org)
Message-ID: <uocice$3mlsk$3@i2pn2.org>
References: <uo9vc0$28v2a$1@dont-email.me> <uoaj3t$2gc89$1@dont-email.me>
<uobb6l$2k251$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Fri, 19 Jan 2024 01:13:50 -0000 (UTC)
Injection-Info: i2pn2.org;
logging-data="3889044"; mail-complaints-to="usenet@i2pn2.org";
posting-account="diqKR1lalukngNWEqoq9/uFtbkm5U+w3w6FQ0yesrXg";
User-Agent: Mozilla Thunderbird
Content-Language: en-US
X-Spam-Checker-Version: SpamAssassin 4.0.0
In-Reply-To: <uobb6l$2k251$1@dont-email.me>
 by: Richard Damon - Fri, 19 Jan 2024 01:13 UTC

On 1/18/24 9:05 AM, olcott wrote:
> On 1/18/2024 1:14 AM, immibis wrote:
>> On 1/18/24 02:37, olcott wrote:
>>> *DD is merely D that calls HH instead of H*
>>>
>>> int DD(void (*x)())
>>> {
>>>    int Halt_Status = HH(x, x);
>>>    if (Halt_Status)
>>>      HERE: goto HERE;
>>>    return Halt_Status;
>>> }
>>>
>>> *This was the most difficult code for me to write*
>>> HH can correctly simulate itself simulating DD to an arbitrary
>>> recursive depth.
>>>
>>> Unless HH aborts its simulation of DD it will abnormally terminate
>>> from stack overflow.
>> If HH aborts its simulation of DD then is not infinitely recursive so
>> the abort is incorrect.
>>
>
> MIT Professor Michael Sipser agreed that this verbatim paragraph is correct
> (a) If simulating halt decider H correctly simulates its input D until H
> correctly determines that its simulated D would never stop running
> unless aborted then
> (b) H can abort its simulation of D and correctly report that D
> specifies a non-halting sequence of configurations.
>
>

So, your H need to CORRECTLY DETERMINE that a CORRECT SIMULATION of THIS
input (the one built on THIS H, not the one that doesn't abort) would
not halt.

You can't look at a DIFFERENT D built on a DIFFERENT H that does correct
simulate this other D, as that is a different input.

Since you can't show that, (a) is not satisfied, so you can't use it to
justify (b).

>>>
>>> *This conclusively proves that DD simulated by HH DOES NOT HALT*
>>>
>>> I had to make x86utm a full multi-tasking operating system with
>>> each simulation having its own process context: {memory, stack,
>>> virtual registers}
>>>
>>> https://github.com/plolcott/x86utm/blob/master/Halt7.c
>>>
>>
>

1
server_pubkey.txt

rocksolid light 0.9.81
clearnet tor