ERRATA

The following is a list of typos in the paper

 J. Makary, N. J. Ross, and P. Selinger. "Generators and relations
 for real stabilizer operators". Proceedings of QPL 2021, EPTCS 343,
 pages 14-36, 2021.

and in its supplement, which appears as an ancillary file on the
ArXiv (arXiv:2109.05655).

Note: these typos are only present in the published paper, which is
also the ArXiv paper; the version on my website has already been
corrected. None of them affects the main results.

Conventions: the typed relations of Appendix B are not numbered in the
paper. As in the supplement, we number them row by row within each
figure, so that 3.20 is the 20th relation of Figure 3. (Exception: the
first 8 relations of Figure 4 are numbered by column.) "Top", "middle",
and "bottom" refer to wires. ";" separates gates from left to right.

 * Page 15, proof of Proposition 2.2:

          "P_i^2" ----> "P^2"

 * Page 19, Proposition 4.7, last sentence:

          "the specified action" ----> "the specified actions"

 * Page 20, Proposition 4.11: "Let P be a n-qubit" ----> "Let P be an
   n-qubit"

 * Page 20, Proposition 4.14: "a X-circuit" ----> "an X-circuit"

 * Page 21, Definition 5.3:

    + clause for X: after "on a wire labelled 1 or 2.", insert "An X
      gate on a wire labelled 1 is regarded as an abbreviation for
      HZH."

    + clause for CZ:

          "or the top wire is a double wire labelled 2"

          ----> "or the top wire is a single wire labelled 2"

 * Page 21, proof of Lemma 5.4: "integers numbers" ----> "integers"

 * Page 26, Figure 3:

    + 3.6:  H ; A3 = A2 ; H  ---->  H ; A3 = A3 ; H

    + 3.13: draw the top wire after B8 on the right-hand side as a
            single wire.

    + 3.20: replace the right-hand side by
            A3 ; B5 ; H_top H_bottom ; CXZ ; H_top H_bottom.

    + 3.22: draw the bottom input and the top output of B5 on the
            right-hand side as double wires.

    + 3.23: replace the right-hand side by
            B6 ; CXZ ; H_bottom ; CXZ ; Z_top ; X_bottom.

    + 3.24: replace the right-hand side by
            B7 ; CXZ ; H_bottom ; CXZ ; Z_top ; X_bottom.

    + 3.25: on the right-hand side, replace the two controlled-XZ
            gates by CZ gates.

 * Page 27, Figure 4:

    + 4.13: Z_top ; B2 = B2 ; X_top  ---->  ... = B2 ; X_top ; Z_bottom

    + 4.25: Z_top ; B6 = B6 ; X_top  ---->  ... = B6 ; X_top ; Z_bottom

    + 4.34: X ; C1 = C1 ; Z  ---->  X ; C1 = C2

    + 4.37: X ; C2 = C2 ; Z  ---->  X ; C2 = C1

 * Page 28, Figure 5:

    + 5.4: expand the final controlled-XZ gate on the right-hand side
           as H_middle ; CZ ; H_middle ; CZ (acting on the middle and
           bottom wires), for compatibility with the wire types of
           Definition 5.3.

    + 5.5: delete the final Z on the bottom wire of the right-hand side.

    + 5.8: append a Z on the bottom wire to the right-hand side.

 * Page 29, Figure 6, relation 6.16: draw the wires between the two B2
   gates and after the second B2 on the right-hand side as single
   wires.

 * Page 32, Figure 10: insert "=" between the two sides of the second
   relation, which then reads C1 = B1 ; C1 ; D1.

 * Page 33, Proposition 4.11: "Let P be a n-qubit" ----> "Let P be an
   n-qubit"

 * Page 34, Proposition 4.14: "a X-circuit" ----> "an X-circuit"

 * Page 35, proof of Proposition 4.14, uniqueness:

          "= X (x) I (x) ... (x) I" ----> "= I (x) ... (x) I (x) X"

 * Page 35, proof of Proposition 4.15:

          "ByProposition" ----> "By Proposition"

          Insert closing parenthesis after
          "phi((ML)^{-1} . (I (x) ... (x) I (x) Z)"

          Delete opening parenthesis in
          "((phi')^{-1}(phi(U))"

   In the uniqueness part, after the display ending in
   "= I (x) ... (x) I (x) Z", insert "and similarly
   M'L' . Q = I (x) ... (x) I (x) X".

 * Page 36, proof of Corollary 4.16:

          "must be green" ----> "must be of single type"

          "we start on a green wire" ----> "we start on a wire of single type"

          "the last one of which must be a B4 gate"

          ----> "the last one of which must also be a B8 gate"

 * Supplement, Section 1 (introduction):

          "the next 12 rules of Figure 6" ----> "the next 12 rules of
          Figure 4"

 * Supplement, Lemmas 1.2 and 1.3: "R1-R18" ----> "R1-R16"

 * Supplement, proofs of L10 and L11: append a final step labelled
   "R14", leading to the right-hand side of L10 (resp. L11) as stated
   in Lemma 1.3.

 * Supplement, proof of L13, row 5: insert an H on the middle wire
   immediately before the last CZ.

 * Supplement, proofs of L16 and L17, row 2: insert a second H on the
   middle wire between the 5th and 6th CZ.

 * Supplement, proof of L18, step 6: "R4" ----> "R5"

 * Supplement, Section 1.3, throughout: many citations of typed
   relations use an older figure numbering. Renumber them as follows:
   5.k ----> 3.(k+17) for k <= 8, and 5.k ----> 4.(k-8) for k >= 9;
   6.k ----> 4.(k+8); 7.k ----> 5.k; 8.k ----> 6.k; 10.k ----> 8.k;
   11.k ----> 9.k.

 * Supplement, derivation 3.20: in rows 8 and 9, move the H on the top
   wire that immediately precedes the second-to-last CZ to the end of
   the row. In row 9, also insert H_top ; H_top after the third CZ,
   and change the label "R5" to "R3,R5". Replace the last row by
   A3 ; B5 ; H_top H_bottom ; CXZ ; H_top H_bottom.

 * Supplement, derivation 3.23: replace rows 25 to the end by the
   following steps: insert H_top ; H_top between the 4th and 5th CZ
   (R3); apply R10 to move the second of these H gates to the right
   of the 6th CZ, which also creates a Z_bottom (R10); simplify the
   single-qubit gates at the end to Z_top and X_bottom, with a scalar
   (-1)^2 (R4); remove the scalar (R1); and fold the result into
   B6 ; CXZ ; H_bottom ; CXZ ; Z_top ; X_bottom (Def).

 * Supplement, derivation 3.24: in rows 2 and 3, replace the part
   coming from 3.23 by the corrected right-hand side of 3.23; the last
   row then reads B7 ; CXZ ; H_bottom ; CXZ ; Z_top ; X_bottom.

 * Supplement, derivation 5.4: in steps 3 and 5, "R13" ----> "R14".
   In the last row, expand the final controlled-XZ gate as
   H_middle ; CZ ; H_middle ; CZ, as in the corrected relation 5.4.

 * Supplement, derivation 5.6, step 4: "R12" ----> "R14"

 * Supplement, derivation 5.7, row 2: append H_middle ; CZ ; H_middle,
   with the CZ acting on the middle and bottom wires.

 * Supplement, derivation 5.8: append a Z on the bottom wire to rows 2
   to the end. In step 5, "R12" ----> "R14".

 * Supplement, derivation 6.1, step 4: "R4" ----> "R5"

 * Supplement, derivation 6.13, row 3: move the H that immediately
   precedes the 4th CZ from the middle wire to the top wire, and
   delete the 6th CZ together with the two H gates immediately before
   it.

 * Supplement, derivation 9.1: insert an R12 step before the final
   "Def" step, leading to the last row with its D gates expanded.

 * Supplement, derivation 9.3, last row:

          "H_middle ; CZ ; H_middle"

          ----> "H_top H_middle ; CZ ; H_top H_middle"

 * Supplement, derivation 9.6, step 12: "6.11" ----> "8.7"

 * Supplement, derivation 9.15: in rows 2 to the end, move the H gates
   of the H ; CZ ; H patterns inserted in step 2 from the top wire to
   the middle wire, and change the label of step 2 from "L2" to "L3".
   The last row then reads D4 ; D1 ; H_middle ; CZ ; H_middle.

 * Supplement, derivation 9.16, step 4: "7.6" ----> "9.6" (used right
   to left)

Thanks to Xiaoning Bian for finding most of these typos while
formalizing the paper in Agda.

Last updated: 2026/10/14.