Questions about theorem and proof: “Quantum error correction condition”, Thm 10.1 Nielsen & Chuang

I have some basic questions around the theorem giving quantum error correction conditions that give necessary & sufficient conditions to have an error correcting operation.

The theorem is stated this way (page 436 of Nielsen & Chuang)

Let C be a quantum code, and let P be the projector onto C.

Suppose $$E$$ is a quantum operation with operation elements $${E_i}$$.

A necessary and sufficient condition for the existence of an error-correction operation $$R$$ correcting $$E$$ on C is that $$PE_i^{\dagger}E_jP = \alpha_{ij} P$$, for some Hermitian matrix $$\alpha$$ of complex numbers.

We call the operation elements $${E_i}$$ for the noise $$E$$ errors,and if such an $$R$$ exists we say that $${E_i}$$ constitutes a correctable set of errors.

So said differently, we have a noise map that act as:

$$E(\rho) = \sum_i E_i(\rho) E_i^{\dagger}$$

And the theorem given the projector $$P$$ on the code space gives us relations that the noise Kraus operator must follow to ensure us we are able to correct the error.

My questions

If I take the example of a 3 dimensional code space (the one for 3qb code). If I take the noise map allowing only single bit-flips, then the theorem will tell me that I can find a recovery operation.

But if I considered double or 3 bits-flip then the theorem would tell me it is not possible ? Because 3qb code can only correct single errors. Am I correct with this statement (I would like to avoid to do big calculations I want to see if I understand well the things).

He does it in two steps : sufficient condition check and then necessary check. My question is for the sufficient condition.

Results he uses: He started to show that actually we can rewrite:

$$N(\rho)=\sum_i F_i \rho F_i^{\dagger}$$

With: $$F_i=\sum_k u_{i,k} F_k$$ where $$u$$ is the unitary matrix that diagonalise the matrix $$\alpha$$ in the statement of the theorem: $$u^{\dagger}.\alpha.u=d$$

He also says that there exist a unitary $$U_k$$ such that $$F_k P= \sqrt{d_kk} U_k P$$

My question

And then he says that $$F_k$$ acting on the code space changes the code space. The resulting code space has a projector:

$$P_k = U_k P U_k^{\dagger}$$

How was he able to find this ? I agree with the result. We indeed have:

$$\forall |\psi\rangle \in C, ~ P_k \left( F_k |\psi\rangle \right) = F_k |\psi\rangle$$

But how was he able to find that the projector was this one ??

Other question

He assumes in the proof that $$E$$ is not necesseraly trace-preserving: why not. But that $$R$$ is trace preserving. Why would we have $$R$$ trace preserving but not $$E$$ ?

Basically, the conclusion you drew is correct. But I should give you this caveat: the dimension of the code space of the 3-qubit code is two, not three, since the code space is expanded by states $$\left|0_{L}\right\rangle \equiv|000\rangle$$ and $$\left|1_{L}\right\rangle \equiv|111\rangle$$.

The way he obtained the projector $$P_k$$, I guess, was as follows. As you have mentioned, using polar decomposition, we can find a unitary $$U_k$$ such that $$F_{k} P=\sqrt{d_{kk}} U_{k} P$$. The effect of operation element $$F_k$$ is to transform state $$\rho$$ into $$F_k \rho F_k^\dagger$$. But if $$\rho$$ is initially in the code space (i.e. $$\rho$$ has support entirely in the code space), then we can write $$F_k \rho F_k^\dagger$$ equivalently as $$F_k P \rho P F_k^\dagger$$ since $$P$$ is the projector onto the code space and therefore does nothing when applied to $$\rho$$. So, we can do the substitution and get $$F_k P \rho P F_k^\dagger = d_{kk} U_k P \rho P U_k^\dagger = d_{kk} U_k \rho U_k^\dagger$$. So we can see that the effect of $$F_k$$ acting on density operator in the code space is to rotate it following some unitary (up to some normalization multiplicative factor) and we conclude that the rotated state is in the subspace defined by the rotated projector as well: $$P_{k}=U_{k} P U_{k}^{\dagger}$$.
Because noise process $$\mathcal{E}$$ is not generally trace-preserving. There are many cases this may occur.
The obvious one is that involves measurement and information-extraction from the principal system, where with respect to different measurement outcomes $$m$$, the system evolves (or collapses) into different states and is described by different quantum operations $$\mathcal{E}_m$$. Although when summed up, $$\sum_m \mathcal{E}_m(\rho)$$ is trace-preserving, for each specific $$m$$ (in case you are informed of the measurement outcome and thus able to exclude other circumstances), $$\mathcal{E}_m(\rho)$$ might not be. Of course you can argue that why wouldn't I add another normalization factor to render $$\mathcal{E}_m(\rho)$$ equal to one again, the rightfulness to not do so is perhaps for mathematical convenience. You can refer to section 8.2.4 Axiomatic approach to quantum operations in the same book and see that $$\operatorname{tr}(\mathcal{E}_m(\rho))$$ has the interpretation of the propability that this quantum operation occurs.
What's more, quite often, we are not able to correct all the possible errors from a noisy channel. For example, the bit-flip channel that flips each qubit of the three independently with probability $$p$$ as you mentioned. Mathematically, this channel is of course trace-preserving, but it also involves terms where more than one qubit is flipped and in that case error-correcting is impossible. Therefore, in this specific example non-trace-preserving operations are essential for us to focus on the situations where only one qubit is flipped: we just discard those higher oder terms and suppose that it is the right operation with theoretical significance.