bad locations fail and are both flagged, and assuming there are no more faults, the measured syndrome will correspond to the product of the error caused in each circuit (which could have weight greater than two). Consequently, one should modify \[Def:FlagErrSetDef1\] of the flag error set to include these types of errors. One then decodes based on the pair of errors that resulted in the measured syndrome, provided logically inequivalent errors have distinct syndromes.

Before stating the protocol, we extend some definitions from \[subsec:ReviewChaoReichardt\].

Consider a stabilizer code $\mathcal{S} =  \langle g_{1},g_{2},\cdots , g_{r} \rangle$ and $t$-flag circuits $C(g_{i})$ for measuring the generator $g_{i}$.

Let $\mathcal{E}_{m}(g_{i_{1}},\cdots , g_{i_{k}})$ be the set of all errors caused by precisely $m$ faults spread amongst the circuits $C(g_{i_{1}}),C(g_{i_{2}}), \cdots , C(g_{i_{k}})$ which all flagged. \[Def:FlagErrSetDef\]

Note that there could be more than one fault in a single circuit $C(g_{i_{k}})$. Examples of flag error sets are given in \[tab:PossibleCorrelatedErrors\] where only contributions from $Z$ errors are included (since the considered code is a CSS code). We also define a general $t$-fault correction set:

$$\begin{aligned}
\tilde{E}_{t}^{m}(g_{i_{1}},\cdots , g_{i_{k}},s) =
\begin{cases}
\{ E \in \mathcal{E}_{m}(g_{i_{1}},\cdots , g_{i_{k}}) \times \mathcal{E}_{t-m}  \\
 \text{ such that } s(E) = s 