Formalization of simulation for Turing machines Right now I am trying to understand the concept of simulation in theoretical computer science, focussing on Universal Turing machines. All textbooks that I looked into only explain examples. They introduce one particular Universal Turing Machine and explain how it simulates other Turing Machines. But does there exist a rigorous theory/formalization behind simulations of Turing machines? Particular questions that I care about:

Given two Turing machines T and T', when can it be said that T simulates T'?
Is there a theory of &quot;shortcuts&quot; in simulations of Turing machines?
A random google search revealed the notion of Simulation preorder, see e.g.:
https://en.wikipedia.org/wiki/Simulation_preorder
Does something similar exist for Turing machines?
First, let's clearly settle what it means for a Turing Machine to compute a function.
Any specification of a deterministic TM $M$ implicitly defines, for each word $w \in \Sigma^*$, a (possibly infinite) sequence of configurations of $M$ when run on $w$ (the machine is said to halt if this sequence is finite). A configuration consists of the state of the TM, the position of its head, and the contents of its tape. This, in turn, defines a function
$$f_M: \Sigma^* \to \Sigma^* \uplus \{\bot\}$$
that the machine computes: for a word $w \in \Sigma^*$, if the sequence of configurations of $M$ when run on $w$ is finite, the function value $f_M(w)$ is the word $v$ that is on the tape in the last configuration of that sequence, and if the sequence is infinite, we set $f_M(w) = \bot$ (indicating that $M$ does not halt on input $w$).
Next, we need to recognize that TMs themselves can be encoded as words over $\Sigma^*$. Let's assume for simplicity that every word $w$ describes a TM $M_w$. Also, define for each TM $M$ the set of words that encode $M$, i.e.
$$ \operatorname{enc}(M) = \{w \in \Sigma^* \mid M_w = M\}.$$
Further, pairs of words $(w, v) \in \Sigma^* \times \Sigma^*$ can be canonically encoded as a single word $u \in \Sigma^*$ - denote this word by $\langle w, v \rangle$.
And now we're ready to rigorously define what we mean when we say that TMs simulate other TMs. We say that a TM $M$ simulates another TM $M'$, if for all $w \in \operatorname{enc}(M')$ and all words $v \in \Sigma^*$,
$$f_M(\langle w, v\rangle) = f_{M'}(v).$$
That is, given any description of $M'$, and an input $v$, $M$ outputs exactly what $M'$ would output, and if $M'$ doesn't halt, then $M$ also doesn't halt.
A universal TM is a machine that simulates all other machines, in the following sense: A TM $M$ is called universal, if for every pair $(w, v) \in \Sigma^* \times \Sigma^*$,
$$f_M(\langle w, v \rangle) = f_{M_w}(v).$$
That is, given any description $w$ of a Turing machine $M_w$, and an input $v$ for that machine, $M$ outputs exactly what $M_w$ would output when run on $v$, and if $M_w$ doesn't halt, then $M$ also doesn't halt.
Edit: Restructured answer to make it more readable.