  We show that there exists a universal quantum Turing machine (UQTM) that can
simulate every other QTM until the other QTM has halted and then halt itself
with probability one. This extends work by Bernstein and Vazirani who have
shown that there is a UQTM that can simulate every other QTM for an arbitrary,
but preassigned number of time steps. As a corollary to this result, we give a
rigorous proof that quantum Kolmogorov complexity as defined by Berthiaume et
al. is invariant, i.e. depends on the choice of the UQTM only up to an additive
constant. Our proof is based on a new mathematical framework for QTMs,
including a thorough analysis of their halting behaviour. We introduce the
notion of mutually orthogonal halting spaces and show that the information
encoded in an input qubit string can always be effectively decomposed into a
classical and a quantum part.
