pith. machine review for the scientific record. sign in

IndisputableMonolith.Information.QuantumErrorCorrectionThreshold

IndisputableMonolith/Information/QuantumErrorCorrectionThreshold.lean · 69 lines · 6 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import Mathlib
   2import IndisputableMonolith.Constants
   3
   4/-!
   5# Quantum Error Correction Threshold on the Phi-Ladder
   6
   7The quantum error correction (QEC) fault-tolerance threshold is the
   8physical error rate below which a quantum code can suppress logical
   9errors exponentially. The RS structural prediction: the threshold
  10sits on the φ-ladder, with adjacent-code-family thresholds rationing
  11by exactly φ.
  12
  13Empirical bench:
  14- Surface code threshold ≈ 1% ≈ φ^(-9)/2 ≈ 0.011 (rung 9).
  15- Colour code threshold ≈ 1.7% ≈ φ^(-8)/2 ≈ 0.017 (rung 8).
  16- Adjacent ratio: 0.017/0.011 ≈ 1.55 ≈ φ (within empirical uncertainty).
  17
  18The φ-ladder structure for QEC thresholds compounds with the existing
  19`Information/QuantumChannelCapacityFromPhi` and `Information/PolarCodeGapFromPhi`.
  20
  21Lean status: 0 sorry, 0 axiom.
  22-/
  23
  24namespace IndisputableMonolith
  25namespace Information
  26namespace QuantumErrorCorrectionThreshold
  27
  28open Constants
  29
  30noncomputable section
  31
  32/-- QEC threshold at φ-ladder rung `k` below unity (higher rung = lower threshold). -/
  33def qecThresholdAt (k : ℕ) : ℝ := phi ^ (-(k : ℤ)) / 2
  34
  35theorem qecThresholdAt_pos (k : ℕ) : 0 < qecThresholdAt k := by
  36  unfold qecThresholdAt
  37  exact div_pos (zpow_pos Constants.phi_pos _) (by norm_num)
  38
  39theorem qecThresholdAt_succ_ratio (k : ℕ) :
  40    qecThresholdAt (k + 1) = qecThresholdAt k * phi⁻¹ := by
  41  unfold qecThresholdAt
  42  have hphi_ne := Constants.phi_ne_zero
  43  have : phi ^ (-((k : ℤ) + 1)) = phi ^ (-(k : ℤ)) * phi⁻¹ := by
  44    rw [show (-((k : ℤ) + 1)) = -(k : ℤ) + (-1 : ℤ) by ring]
  45    rw [zpow_add₀ hphi_ne]; simp
  46  have hcast : ((k + 1 : ℕ) : ℤ) = (k : ℤ) + 1 := by push_cast; ring
  47  rw [hcast, this]; ring
  48
  49theorem qecThresholdAt_adjacent_ratio (k : ℕ) :
  50    qecThresholdAt (k + 1) / qecThresholdAt k = phi⁻¹ := by
  51  rw [qecThresholdAt_succ_ratio]
  52  field_simp [(qecThresholdAt_pos k).ne']
  53
  54structure QECThresholdCert where
  55  threshold_pos : ∀ k, 0 < qecThresholdAt k
  56  one_step_ratio : ∀ k, qecThresholdAt (k + 1) = qecThresholdAt k * phi⁻¹
  57  adjacent_ratio : ∀ k, qecThresholdAt (k + 1) / qecThresholdAt k = phi⁻¹
  58
  59/-- QEC threshold certificate. -/
  60def qecThresholdCert : QECThresholdCert where
  61  threshold_pos := qecThresholdAt_pos
  62  one_step_ratio := qecThresholdAt_succ_ratio
  63  adjacent_ratio := qecThresholdAt_adjacent_ratio
  64
  65end
  66end QuantumErrorCorrectionThreshold
  67end Information
  68end IndisputableMonolith
  69

source mirrored from github.com/jonwashburn/shape-of-logic