when describing an algorithm for a TM, can we assume that we can calculate several things ' in parallel threads ' (i.e one step from each calculation in a circulation)?

for example, run a given input on k given TM's in parallel; when k is costant, or when k is finite & unbounded?

or the opposite, run k different inputs on some TM in parallel (when k is constant, or finite & unbounded)?

Basically, you can think of a TM that writes k copies of itself and an input for each "thread", and simulate the k executions in parallel,

i.e., one step at a time of each TM on its input (similar to the proof of $RE \cap CoRE \subseteq R$, Lec6, slides 70-72).

I'm not sure if that answers your question. If not, try to clarify the question or state the problem for which you need parallel computation.

well the answer is relevant to the question in it's subject, but i guess I wasn't clear enough…

i just wanted to know if we are **allowed**to use this abillity of 'thread splitting' as a black box, when describing an algorithm for a TM.

i guess it's quite trivial to do this when talking of a fixed number of parallel threads (like 2, in the proof mentioned above),

but i would like a more specific response regarding to a situation where the number of threads is dependent on the input.

for example, can we say something like: "for an input w, split calculation to |w| different threads…. (and then mention what each thread does)" when we describe a TM-algorithm?

The process I talked about can be dependent on the size of the input.

The number k I talked about doesn't have to be fixed.

Think for example of a TM that runs a "thread" for each letter of the input. The implementation is identical to the one I wrote.

You can use such a feature, but you need to explain how you implement it.

In general (not only regarding threads), you can do whatever a TM can do, and if you try to use a more complex model of a TM, you need to prove that you can do the same with a regular TM.

well the answer is relevant to the question in it's subject, but i guess I wasn't clear enough…

i just wanted to know if we are **allowed**to use this abillity of 'thread splitting' as a black box, when describing an algorithm for a TM.

i guess it's quite trivial to do this when talking of a fixed number of parallel threads (like 2, in the proof mentioned above),

but i would like a more specific response regarding to a situation where the number of threads is dependent on the input.

for example, can we say something like: "for an input w, split calculation to |w| different threads…. (and then mention what each thread does)" when we describe a TM-algorithm?