Aleks Kissinger + Oxford CS Quantum Group
Oxford QEC Workshop 2026
ZX := a handy tool for working with quantum
computations using graph rewriting
![]() |
![]() |
![]() |
| Optimisation | Simulation & Verification | Error Correction |
| $:=$ | $\ \ |0...0\rangle\langle 0...0| + e^{i \alpha} |1...1\rangle\langle 1...1|$ | |
| $:=$ | $\ \ |{+}...{+}\rangle\langle {+}...{+}| + e^{i \alpha} |{-}...{-}\rangle\langle {-}...{-}|$ |
$CNOT =$
$CZ =$
$H =$
$:=$
$R_Z[\alpha] =$
$R_X[\alpha] =$
$\Pi_{Z...Z}^{(k)} =$
$\Pi_{X...X}^{(k)} =$
A complete set of equations for qubit QC
A complete set of equations for qubit Clifford QC
efficient synthesis, equality checking, classical simulation, ...
$\approx$ "graphical stabiliser theory"
...give us a simple dictionary between QEC codes and ZX-diagrams, e.g. the GHZ code can be fully represented as:
But codes are only half the story in FTQC. We also need to know how to implement operations fault-tolerantly.
Q: Is the LHS really equivalent to the RHS?
A: It depends on what "equivalent" means.
They both give the same linear map, i.e. the behave the same in the absence of errors.
But they behave differently in the presence of errors, e.g.
$D \ \hat{=}\ E$
$D\ \hat{=}\ E \implies D = E$
$D = E \ \ \not\!\!\!\implies D\ \hat{=}\ E$
Definition: Two circuits (or ZX-diagrams) $C, D$ are called fault-equivalent:
$C \ \hat{=}\ D$
if for any undetectable fault $F$ of weight $w$ on $C$, there exists an undetectable fault $F'$ of weight $\leq w$ on $D$ such that $C[F] = D[F']$
Idea: start with an idealised computation (i.e. specification) and refine it with fault-equivalent rewrites until it is implementable on hardware.
Specification/refinement has been used in formal methods for classical software dev since the 1970s. Why not for FTQC?
Fault Tolerance by Construction » arXiv:2506.17181
https://zxcalc.github.io/book
(free book! Ch 12 = ZX + QEC)
https://zxcalculus.com
(350+ ZX papers, ~10% tagged QEC, online seminars, Discord)