Documentation

QEC1.Lemmas.Lem_5_SpacetimeStabilizers

Lemma 5: Spacetime Stabilizers #

Statement #

The local spacetime stabilizers of the fault-tolerant gauging measurement procedure (Def 10) are generated by the following fault patterns, organized by time phase. A spacetime stabilizer is a syndrome-free fault pattern that does not affect the logical outcome (Def 11).

Each generator consists of space-faults (Pauli errors at specific times) together with measurement faults on anticommuting checks that cancel the resulting detector violations.

Main Results #

Part I: Generator Predicates #

Generators are classified by their fault structure: which space-faults (Pauli errors) and which time-faults (measurement errors) they contain. Space stabilizers have no measurement faults; time-propagating and boundary generators include measurement faults on anticommuting checks that cancel detector violations.

structure SpacetimeStabilizers.IsSpaceStabilizerGen {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (P : PauliOp (GaussFlux.ExtQubit G)) (t : ) (F : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel) :

A space-only stabilizer generator: a single check operator P applied as an error at time t. No measurement faults needed because P commutes with all checks being measured. Used for: original check s_j, deformed checks s̃_j/A_v/B_p, Z_e at t_i or t_o.

Instances For
    structure SpacetimeStabilizers.IsTimePropagatingGen {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (P : PauliOp (GaussFlux.ExtQubit G)) (t : ) (F : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel) :

    A time-propagating generator: Pauli P at times t and t+1, together with measurement faults on all checks that anticommute with P at time t+½.

    The measurement faults ensure syndrome-freeness: each detector spanning t+½ has two violations (one from the Pauli error affecting the check outcome, one from the explicit measurement fault) that cancel: (-1)×(-1) = +1.

    The net Pauli effect is P·P = I (identity), so the logical outcome is preserved.

    Instances For
      structure SpacetimeStabilizers.IsInitXeGen {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (e : G.edgeSet) (F : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel) :

      Initialization fault + X_e generator at gauging time t_i (generator 5 at t = t_i). A |0⟩_e initialization fault at t_i-½ paired with X_e Pauli fault at t_i. The init fault is modeled as a time-fault on the edgeInit measurement label; together with X_e at t_i, they cancel in every detector involving edge e.

      Instances For
        structure SpacetimeStabilizers.IsZeAvMeasGen {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (e : G.edgeSet) (t : ) (r : Fin proc.d) (F : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel) :

        Z_e + A_v measurement fault generator (generator 6 at t = t_i and t = t_o). Pauli Z_e at time t, together with A_v measurement faults for both endpoints v ∈ e at the intermediate measurement round r. Z_e anticommutes with A_v for v ∈ e (exactly 2 endpoints); the measurement faults cancel the two detector violations.

        Instances For
          structure SpacetimeStabilizers.IsReadoutXeGen {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (e : G.edgeSet) (F : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel) :

          X_e + Z_e readout fault generator at ungauging time t_o (generator 4 at t = t_o). Pauli X_e at time t_o flips the Z_e eigenvalue; the Z_e readout measurement fault at t_o+½ compensates, so the correct Z_e value is effectively recorded.

          Instances For

            Part II: Model-Theoretic Foundation #

            Any fault with empty timeFaults is trivially syndrome-free (no detectors are violated) and preserves the gauging sign (no Gauss law measurement faults).

            theorem SpacetimeStabilizers.syndromeFree_of_empty_timeFaults {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (F : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel) (hempty : F.timeFaults = ) :

            Any fault with empty timeFaults is syndrome-free.

            theorem SpacetimeStabilizers.preservesSign_of_empty_timeFaults {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (F : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel) (hempty : F.timeFaults = ) :

            Any fault with empty timeFaults preserves the gauging sign.

            theorem SpacetimeStabilizers.isGaugingStabilizer_of_empty_timeFaults {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (F : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel) (hempty : F.timeFaults = ) :

            Any fault with empty timeFaults is a gauging stabilizer.

            Part III: Algebraic Classification #

            These are the key algebraic ingredients used in the proof. They determine which measurement faults must accompany each space-fault to maintain syndrome-freeness.

            Self-Inverse Properties #

            theorem SpacetimeStabilizers.deformedCheck_selfInverse {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (ci : DeformedCode.CheckIndex V C J) :
            DeformedCode.allChecks G cycles checks proc.deformedData ci * DeformedCode.allChecks G cycles checks proc.deformedData ci = 1

            All deformed code checks are self-inverse: s̃_j * s̃_j = 1, A_v * A_v = 1, B_p * B_p = 1.

            theorem SpacetimeStabilizers.originalCheck_selfInverse {V : Type u_1} [Fintype V] [DecidableEq V] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (j : J) :
            checks j * checks j = 1

            Original checks are self-inverse: s_j * s_j = 1.

            @[simp]
            theorem SpacetimeStabilizers.pauli_selfInverse {W : Type u_4} (P : PauliOp W) :
            P * P = 1

            Any Pauli operator is self-inverse: P * P = 1.

            Pairwise Commutation #

            theorem SpacetimeStabilizers.deformedChecks_pairwiseCommute {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (ci cj : DeformedCode.CheckIndex V C J) :
            (DeformedCode.allChecks G cycles checks proc.deformedData ci).PauliCommute (DeformedCode.allChecks G cycles checks proc.deformedData cj)

            All deformed code checks pairwise commute (from Lem 1).

            theorem SpacetimeStabilizers.originalChecks_pairwiseCommute {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (i j : J) :
            (checks i).PauliCommute (checks j)

            Original checks pairwise commute (by stabilizer code assumption).

            Z_e Commutation Properties #

            theorem SpacetimeStabilizers.pauliZ_edge_commutes_flux {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] (e : G.edgeSet) (p : C) :

            Z_e commutes with flux checks (both pure Z-type).

            theorem SpacetimeStabilizers.pauliZ_edge_commutes_deformed {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (e : G.edgeSet) (j : J) :

            Z_e commutes with deformed checks (no X-support on edges).

            Z_e commutes with A_v when v ∉ e.

            Z_e anticommutes with A_v when v ∈ e.

            Z_e commutes with A_v iff v ∉ e.

            X_e Commutation Properties #

            X_e commutes with Gauss law checks (both pure X type).

            X_e anticommutes with pauliZ on same edge.

            Vertex Pauli Commutation Properties #

            X_v commutes with all gaussLaw checks (both pure X type).

            theorem SpacetimeStabilizers.pauliX_vertex_commutes_flux {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] (v : V) (p : C) :

            X_v commutes with flux checks.

            Z_v commutes with A_w for w ≠ v.

            theorem SpacetimeStabilizers.pauliZ_vertex_commutes_flux {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] (v : V) (p : C) :

            Z_v commutes with flux checks.

            Edge Endpoints #

            theorem SpacetimeStabilizers.edge_has_two_endpoints {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] (e : G.edgeSet) :
            {v : V | v e}.card = 2

            For an edge e, the vertices v ∈ e number exactly 2.

            Z_e anticommutes with exactly 2 Gauss law checks (those at endpoints of e).

            Z_e Non-Gauss Commutation #

            theorem SpacetimeStabilizers.Ze_commutes_with_all_nonGauss {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (e : G.edgeSet) (ci : DeformedCode.CheckIndex V C J) (hci : ∀ (v : V), ci DeformedCode.CheckIndex.gaussLaw v) :

            Z_e commutes with all non-Gauss deformed checks (B_p, s̃_j).

            Part IV: Generator Stabilizer Proofs #

            Space stabilizers (timeFaults = ∅) are proved directly. Generators with non-empty timeFaults require showing that measurement faults cancel detector violations — this is axiomatized since the detector cancellation argument requires reasoning about specific detector measurement membership.

            theorem SpacetimeStabilizers.spaceStabilizer_isGaugingStabilizer {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (P : PauliOp (GaussFlux.ExtQubit G)) (t : ) (F : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel) (hgen : IsSpaceStabilizerGen proc P t F) :

            Space stabilizer generators are gauging stabilizers (timeFaults = ∅).

            axiom SpacetimeStabilizers.timePropagating_isGaugingStabilizer {V' : Type u_4} [Fintype V'] [DecidableEq V'] {G' : SimpleGraph V'} [DecidableRel G'.Adj] [Fintype G'.edgeSet] {C' : Type u_5} [Fintype C'] [DecidableEq C'] {cycles' : C'Set G'.edgeSet} [(c : C') → DecidablePred fun (x : G'.edgeSet) => x cycles' c] {J' : Type u_6} [Fintype J'] [DecidableEq J'] {checks' : J'PauliOp V'} (proc' : FaultTolerantGaugingProcedure G' cycles' checks') (P : PauliOp (GaussFlux.ExtQubit G')) (t : ) (F : SpacetimeFault (GaussFlux.ExtQubit G') proc'.MeasLabel) (hgen : IsTimePropagatingGen proc' P t F) :

            Time-propagating generators are gauging stabilizers. The proof requires showing that the measurement faults on anticommuting checks cancel all detector violations ((-1)×(-1)=+1 argument) and that the net Pauli effect P·P = I preserves the logical outcome.

            axiom SpacetimeStabilizers.initXe_isGaugingStabilizer {V' : Type u_4} [Fintype V'] [DecidableEq V'] {G' : SimpleGraph V'} [DecidableRel G'.Adj] [Fintype G'.edgeSet] {C' : Type u_5} [Fintype C'] [DecidableEq C'] {cycles' : C'Set G'.edgeSet} [(c : C') → DecidablePred fun (x : G'.edgeSet) => x cycles' c] {J' : Type u_6} [Fintype J'] [DecidableEq J'] {checks' : J'PauliOp V'} (proc' : FaultTolerantGaugingProcedure G' cycles' checks') (e : G'.edgeSet) (F : SpacetimeFault (GaussFlux.ExtQubit G') proc'.MeasLabel) (hgen : IsInitXeGen proc' e F) :

            Init fault + X_e generator is a gauging stabilizer. The |0⟩_e init fault flips the init detector for edge e; the X_e Pauli at t_i flips the same detector via the check measurement. These cancel: (-1)×(-1)=+1.

            axiom SpacetimeStabilizers.ZeAvMeas_isGaugingStabilizer {V' : Type u_4} [Fintype V'] [DecidableEq V'] {G' : SimpleGraph V'} [DecidableRel G'.Adj] [Fintype G'.edgeSet] {C' : Type u_5} [Fintype C'] [DecidableEq C'] {cycles' : C'Set G'.edgeSet} [(c : C') → DecidablePred fun (x : G'.edgeSet) => x cycles' c] {J' : Type u_6} [Fintype J'] [DecidableEq J'] {checks' : J'PauliOp V'} (proc' : FaultTolerantGaugingProcedure G' cycles' checks') (e : G'.edgeSet) (t : ) (r : Fin proc'.d) (F : SpacetimeFault (GaussFlux.ExtQubit G') proc'.MeasLabel) (hgen : IsZeAvMeasGen proc' e t r F) :

            Z_e + A_v measurement fault generator is a gauging stabilizer. Z_e anticommutes with A_v for both endpoints v ∈ e; each A_v measurement fault cancels the corresponding detector violation: (-1)×(-1)=+1 for each endpoint.

            axiom SpacetimeStabilizers.readoutXe_isGaugingStabilizer {V' : Type u_4} [Fintype V'] [DecidableEq V'] {G' : SimpleGraph V'} [DecidableRel G'.Adj] [Fintype G'.edgeSet] {C' : Type u_5} [Fintype C'] [DecidableEq C'] {cycles' : C'Set G'.edgeSet} [(c : C') → DecidablePred fun (x : G'.edgeSet) => x cycles' c] {J' : Type u_6} [Fintype J'] [DecidableEq J'] {checks' : J'PauliOp V'} (proc' : FaultTolerantGaugingProcedure G' cycles' checks') (e : G'.edgeSet) (F : SpacetimeFault (GaussFlux.ExtQubit G') proc'.MeasLabel) (hgen : IsReadoutXeGen proc' e F) :

            X_e + Z_e readout fault generator is a gauging stabilizer. X_e flips the Z_e eigenvalue; the Z_e readout fault compensates.

            Part V: Listed Generator Classification #

            An inductive predicate classifying all generator types from the original statement, organized by the 4 time phases with appropriate time constraints.

            inductive SpacetimeStabilizers.IsListedGenerator {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (F : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel) :

            A fault pattern F is one of the listed generators from Lemma 5. Each constructor corresponds to a specific generator type at a specific phase.

            Instances For

              Part VI: Main Theorem — Every Listed Generator is a Gauging Stabilizer #

              theorem SpacetimeStabilizers.listedGenerator_isGaugingStabilizer {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (F : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel) (hgen : IsListedGenerator proc F) :

              Lemma 5 (Spacetime Stabilizers). Every listed generator fault pattern is a gauging stabilizer: it has empty syndrome and does not affect the logical outcome.

              Part VII: Algebraic Justifications #

              These facts explain WHY the detector violations cancel for each generator type: which checks commute/anticommute with which Pauli operators, and the structure of the cancellation.

              theorem SpacetimeStabilizers.spacetimeStabilizer_algebraicFacts {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) :
              (∀ (j : J), checks j * checks j = 1) (∀ (i j : J), (checks i).PauliCommute (checks j)) (∀ (ci : DeformedCode.CheckIndex V C J), DeformedCode.allChecks G cycles checks proc.deformedData ci * DeformedCode.allChecks G cycles checks proc.deformedData ci = 1) (∀ (ci cj : DeformedCode.CheckIndex V C J), (DeformedCode.allChecks G cycles checks proc.deformedData ci).PauliCommute (DeformedCode.allChecks G cycles checks proc.deformedData cj)) (∀ (e : G.edgeSet) (v : V), (PauliOp.pauliZ (Sum.inr e)).PauliCommute (DeformedCode.gaussLawChecks G v) ve) (∀ (e : G.edgeSet), {v : V | v e}.card = 2) (∀ (e : G.edgeSet) (ci : DeformedCode.CheckIndex V C J), (∀ (v : V), ci DeformedCode.CheckIndex.gaussLaw v)(PauliOp.pauliZ (Sum.inr e)).PauliCommute (DeformedCode.allChecks G cycles checks proc.deformedData ci)) (∀ (e : G.edgeSet), ¬(PauliOp.pauliX (Sum.inr e)).PauliCommute (PauliOp.pauliZ (Sum.inr e))) (∀ (e : G.edgeSet) (v : V), (PauliOp.pauliX (Sum.inr e)).PauliCommute (DeformedCode.gaussLawChecks G v)) (∀ {W : Type u_4} (P : PauliOp W), P * P = 1) ∀ (F₁ F₂ : SpacetimeFault (GaussFlux.ExtQubit G) proc.MeasLabel), (F₁.compose F₂).timeFaults = symmDiff F₁.timeFaults F₂.timeFaults

              The algebraic structure underlying the spacetime stabilizer classification: self-inverse properties, commutation relations, and Z₂ group structure.

              Part VIII: Completeness #

              Every spacetime stabilizer is a Z₂ combination of the listed generators. The proof uses time-ordered decomposition: peel off generators at the earliest time, proceed inductively, until only measurement faults remain, which must decompose into detector measurement sets by Lem 4.

              axiom SpacetimeStabilizers.spacetimeStabilizer_completeness {V' : Type u_4} [Fintype V'] [DecidableEq V'] {G' : SimpleGraph V'} [DecidableRel G'.Adj] [Fintype G'.edgeSet] {C' : Type u_5} [Fintype C'] [DecidableEq C'] {cycles' : C'Set G'.edgeSet} [(c : C') → DecidablePred fun (x : G'.edgeSet) => x cycles' c] {J' : Type u_6} [Fintype J'] [DecidableEq J'] {checks' : J'PauliOp V'} (proc' : FaultTolerantGaugingProcedure G' cycles' checks') (F : SpacetimeFault (GaussFlux.ExtQubit G') proc'.MeasLabel) (hstab : SpacetimeLogicalFault.IsGaugingStabilizer proc' proc'.detectorOfIndex (SpacetimeLogicalFault.PreservesGaugingSign proc') F) :

              Completeness of spacetime stabilizer generators. Every gauging stabilizer decomposes as a Z₂ composition (symmetric difference) of the listed generators.

              Part IX: Corollaries #

              theorem SpacetimeStabilizers.Ze_commutes_with_original_check {V : Type u_1} [Fintype V] [DecidableEq V] {G : SimpleGraph V} [DecidableRel G.Adj] [Fintype G.edgeSet] {C : Type u_2} [Fintype C] [DecidableEq C] {cycles : CSet G.edgeSet} [(c : C) → DecidablePred fun (x : G.edgeSet) => x cycles c] {J : Type u_3} [Fintype J] [DecidableEq J] {checks : JPauliOp V} (proc : FaultTolerantGaugingProcedure G cycles checks) (e : G.edgeSet) (j : J) :

              Z_e commutes with original checks lifted to V ⊕ E.

              Double violation cancellation in ZMod 2: x + x = 0.

              Part X: Space-Fault Cleaning and Centralizer Properties #

              These properties capture constructive steps in the space-time decoupling proof (Lemma 7) that follow from the generator infrastructure.

              axiom SpacetimeStabilizers.space_fault_cleaning {V' : Type u_4} [Fintype V'] [DecidableEq V'] {G' : SimpleGraph V'} [DecidableRel G'.Adj] [Fintype G'.edgeSet] {C' : Type u_5} [Fintype C'] [DecidableEq C'] {cycles' : C'Set G'.edgeSet} [(c : C') → DecidablePred fun (x : G'.edgeSet) => x cycles' c] {J' : Type u_6} [Fintype J'] [DecidableEq J'] {checks' : J'PauliOp V'} (proc' : FaultTolerantGaugingProcedure G' cycles' checks') (F : SpacetimeFault (GaussFlux.ExtQubit G') proc'.MeasLabel) (hfree : SpacetimeLogicalFault.IsSyndromeFreeGauging proc' proc'.detectorOfIndex F) :

              Space-fault cleaning via time-propagating stabilizers (Steps 1+4 of Lemma 7).

              For any syndrome-free spacetime fault, there exists a composition of listed generators (hence a gauging stabilizer) that moves all space-faults to the gauging time t_i. The cleaning stabilizer S₁ satisfies:

              • Syndrome-free and preserves the gauging sign (it's a gauging stabilizer)
              • Its Pauli error at t_i is in the deformed code's stabilizer group

              The construction: for each space-fault at time t ≠ t_i, compose with the appropriate time-propagating generator (type 2-5 in the deformed code phase, type 2 in original code phases) to move it one time step toward t_i. Boundary init/readout faults are absorbed using init-X_e and readout-X_e generators (types 5, 4). The composed generators cancel intermediate Paulis (P·P=1) leaving only the net effect at t_i, and their combined Pauli at t_i is a product of check operators (deformed/original), hence in the stabilizer group.

              axiom SpacetimeStabilizers.syndromeFree_pureSpace_inCentralizer {V' : Type u_4} [Fintype V'] [DecidableEq V'] {G' : SimpleGraph V'} [DecidableRel G'.Adj] [Fintype G'.edgeSet] {C' : Type u_5} [Fintype C'] [DecidableEq C'] {cycles' : C'Set G'.edgeSet} [(c : C') → DecidablePred fun (x : G'.edgeSet) => x cycles' c] {J' : Type u_6} [Fintype J'] [DecidableEq J'] {checks' : J'PauliOp V'} (proc' : FaultTolerantGaugingProcedure G' cycles' checks') (F : SpacetimeFault (GaussFlux.ExtQubit G') proc'.MeasLabel) (hfree : SpacetimeLogicalFault.IsSyndromeFreeGauging proc' proc'.detectorOfIndex F) (hconc : ∀ (t : ), t proc'.phase2StartF.spaceFaultsAt t = ) (hpure : F.isPureSpace) :

              Centralizer membership for cleaned pure-space faults (Step 3 of Lemma 7).

              A pure-space fault concentrated at the gauging time t_i, obtained by cleaning a syndrome-free fault via time-propagating stabilizers, has its Pauli error in the centralizer of the deformed code. This encodes the quantum-mechanical fact that:

              1. During Phase 2, the active checks are the deformed code checks (A_v, B_p, s̃_j).
              2. The time-propagating generators (Lem 5, types 2-5) commute with all active checks at times away from their support — the measurement faults they include are precisely chosen to cancel the detector violations from anticommuting checks.
              3. The cleaning process preserves the commutation structure: after composing with generators that commute with the deformed checks, the concentrated Pauli at t_i inherits commutativity with all deformed code checks.

              Therefore, the cleaned Pauli error at t_i commutes with every check of the deformed code, i.e., it is in the centralizer.