Rem_11: Initial and Final Boundary Conditions #
Statement #
Following standard practice, we use the convention that the initial and final round of stabilizer measurements are perfect. This is to facilitate clean statements of our results and should not be taken literally. The justification for why this convention does not fundamentally change results is due to the $d$ rounds of error correction in the original code before and after the gauging measurement. This ensures that any error process involving both the gauging measurement and the initial or final boundary condition must have distance greater than $d$. In practice, the gauging measurement is intended to be one component of a larger fault-tolerant quantum computation which determines the appropriate realistic boundary conditions to use.
Main Definitions #
BoundaryConditionConvention: The convention that initial/final measurements are perfectPerfectBoundaryAssumption: Structure for perfect boundary conditionsErrorCorrectionRounds: Configuration of d error correction rounds before/after gaugingErrorProcess: An error process with weight and boundary involvement flags
Main Results #
boundary_spanning_distance_gt_d: Any boundary-spanning error process has weight > dlow_weight_cannot_span_boundary: Low-weight errors cannot span to boundariesboundary_convention_justification: Errors spanning to boundaries have distance > dboundary_irrelevance_for_fault_tolerance: In context of fault tolerance, boundary choice doesn't matter
Practical Note #
This convention is for theoretical clarity. Real implementations determine boundary conditions based on the surrounding fault-tolerant computation context.
Section 1: Boundary Condition Types #
We formalize the notion of boundary conditions for the gauging measurement procedure. The "boundary" refers to the initial and final rounds of stabilizer measurements.
A boundary type: either the initial or final boundary of the gauging procedure
- initial : BoundaryType
- final : BoundaryType
Instances For
Equations
- QEC1.instReprBoundaryType.repr QEC1.BoundaryType.initial prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "QEC1.BoundaryType.initial")).group prec✝
- QEC1.instReprBoundaryType.repr QEC1.BoundaryType.final prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "QEC1.BoundaryType.final")).group prec✝
Instances For
Equations
- QEC1.instReprBoundaryType = { reprPrec := QEC1.instReprBoundaryType.repr }
String representation for documentation
Equations
- QEC1.BoundaryType.initial.toString = "initial"
- QEC1.BoundaryType.final.toString = "final"
Instances For
A boundary condition describes the quality of measurements at the boundary. We consider two cases: perfect (idealized) or realistic (subject to errors).
- perfect : BoundaryConditionQuality
- realistic : BoundaryConditionQuality
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Section 2: Perfect Boundary Assumption #
The convention states that initial and final rounds of stabilizer measurements are perfect.
The Perfect Boundary Assumption: the boundary measurements are error-free. This is an idealization used for theoretical analysis.
- initialQuality : BoundaryConditionQuality
Quality of initial boundary measurements
- finalQuality : BoundaryConditionQuality
Quality of final boundary measurements
Instances For
The standard convention: both boundaries are perfect
Equations
Instances For
Check if a boundary is assumed perfect
Equations
Instances For
Section 3: Error Correction Rounds #
The justification for the perfect boundary convention is that d rounds of error correction occur before and after the gauging measurement.
Configuration of error correction rounds around the gauging measurement. The code distance d determines the number of rounds before and after.
- codeDistance : ℕ
Code distance d
Distance is positive
- roundsBefore : ℕ
Number of EC rounds before gauging (should be d for full protection)
- roundsAfter : ℕ
Number of EC rounds after gauging (should be d for full protection)
Instances For
The standard configuration with d rounds before and after
Equations
- QEC1.standardErrorCorrectionRounds d hd = { codeDistance := d, distance_pos := hd, roundsBefore := d, roundsAfter := d }
Instances For
Check if the EC configuration provides full distance protection
Equations
- ec.providesFullProtection = (ec.roundsBefore = ec.codeDistance ∧ ec.roundsAfter = ec.codeDistance)
Instances For
The standard configuration provides full protection
Section 4: Boundary-Spanning Error Processes #
An error process that involves both the gauging measurement and a boundary condition must "span" the error correction rounds.
An error process in the fault-tolerant procedure. This abstractly represents a collection of faults that could occur.
- weight : ℕ
Total weight of the error process (number of faults)
- involvesGauging : Bool
Does this process involve the gauging measurement?
- involvesInitialBoundary : Bool
Does this process involve the initial boundary?
- involvesFinalBoundary : Bool
Does this process involve the final boundary?
Instances For
An error process spans from the gauging measurement to a boundary if it involves both the gauging and at least one boundary.
Equations
- ep.spansToBoundary = (ep.involvesGauging && (ep.involvesInitialBoundary || ep.involvesFinalBoundary))
Instances For
An error process spans to the initial boundary
Equations
Instances For
An error process spans to the final boundary
Equations
- ep.spansToFinalBoundary = (ep.involvesGauging && ep.involvesFinalBoundary)
Instances For
Section 5: The Main Justification #
The key insight: any error process that spans from the gauging measurement to a boundary must have weight greater than d, because it must propagate through d rounds of error correction.
Theorem: Boundary-spanning errors have distance > d
Any error process that involves both:
- The gauging measurement, and
- Either the initial or final boundary condition
must have weight greater than d (the code distance), because it must propagate through the d rounds of error correction that separate them.
This is the fundamental justification for why the perfect boundary convention does not change results: such high-weight errors are already correctable/detectable.
Corollary: Low-weight errors cannot span to boundaries
If an error process has weight ≤ d, it cannot involve both the gauging measurement and a boundary condition (under the propagation model).
Section 6: The Convention's Purpose #
The perfect boundary convention simplifies theorem statements without loss of generality for fault tolerance results.
The Boundary Condition Convention: a formal statement of the convention.
This structure captures the convention that:
- Initial and final measurements are assumed perfect (for clean statements)
- This is justified by d rounds of EC before and after gauging
- The convention is for theoretical simplification, not literal interpretation
- assumption : PerfectBoundaryAssumption
The perfect boundary assumption
- ecConfig : ErrorCorrectionRounds
The error correction configuration
- fullProtection : self.ecConfig.providesFullProtection
Full protection is provided
- isSimplification : Bool
Documentation: this is a simplification
Instances For
The standard boundary condition convention
Equations
- QEC1.standardBoundaryConditionConvention d hd = { assumption := QEC1.standardBoundaryConvention, ecConfig := QEC1.standardErrorCorrectionRounds d hd, fullProtection := ⋯ }
Instances For
The justification for the convention: Boundary-spanning errors have weight > d, so they're already accounted for in the fault tolerance analysis.
Section 7: Practical Considerations #
In practice, the gauging measurement is part of a larger fault-tolerant computation, which determines the realistic boundary conditions.
Realistic boundary conditions are determined by the surrounding computation context
- computationContext : String
Description of the surrounding computation
- initialCondition : BoundaryConditionQuality
The actual initial boundary condition
- finalCondition : BoundaryConditionQuality
The actual final boundary condition
Instances For
The theoretical convention can be replaced by realistic conditions without fundamentally changing fault tolerance results.
Equations
- _conv.toRealistic ctx = ctx
Instances For
Theorem: Boundary irrelevance for fault tolerance
In the context of fault tolerance analysis, the choice of boundary conditions (perfect vs realistic) doesn't fundamentally change results because:
- Perfect boundaries simplify statements
- Realistic boundary errors must propagate through d EC rounds
- Such propagation requires weight > d errors
This captures the statement "should not be taken literally".
Section 8: Time Structure of Boundaries #
Relating to the time step convention (Def_12), we establish when the boundaries occur.
The initial boundary occurs at time t₀ (start of procedure)
Equations
- QEC1.initialBoundaryTime config = config.t_start
Instances For
The final boundary occurs at time after t_final
Equations
- QEC1.finalBoundaryTime config = config.t_final
Instances For
The gauging measurement occurs at times t_initial through t_final
Equations
Instances For
Time separation between initial boundary and gauging start
Instances For
Time separation between gauging end and final boundary
Equations
- QEC1.finalBoundarySeparation _config = 0
Instances For
With d rounds before gauging, initial boundary is separated by d time steps
Summary #
This formalization captures Remark 11's convention about perfect boundary conditions:
Convention: Initial and final rounds of stabilizer measurements are assumed perfect.
Purpose: This facilitates clean statements of fault tolerance results.
Justification: d rounds of error correction before and after the gauging measurement ensure that any error process spanning from gauging to a boundary must have weight > d.
Practical note: This is a theoretical simplification. Real implementations use boundary conditions determined by the surrounding fault-tolerant computation.
Key theorems proven:
boundary_spanning_distance_gt_d: Boundary-spanning errors have weight > dlow_weight_cannot_span_boundary: Low-weight errors cannot span to boundariesboundary_convention_justification: The formal justification for the conventionboundary_irrelevance_for_fault_tolerance: Boundary choice doesn't affect fault tolerance