Encyclopedia Information Information Quantum Error Correction Classical Code
Information Quantum Error Correction Classical Code
A classical error-correcting code is a way to pack a short message into a longer one so that damage can be detected and repaired; the Recognition Science library records the definition and its limits.
The classical code ledger
In classical error correction, a sender wants to transmit a message of k symbols by encoding it into a longer block of n symbols. The extra symbols are redundancy: if some of the block is corrupted, the receiver can still recover the original message. The minimum distance d measures how many symbol changes are needed to turn one valid codeword into another, and it controls how many errors the code can detect or correct. A code with block length n, message length k, and minimum distance d is written as an [n, k, d] code. The repetition code, which sends each bit three times, is the simplest example: it is a [3, 1, 3] code, able to correct one bit flip because a majority vote over the three copies recovers the original bit.
This classical picture is the foundation of quantum error correction, where the fragile states of qubits must be protected against noise. The Shor code, the Steane code, and surface codes are the standard families that extend the classical idea into the quantum setting. The Steane code, for instance, is built from two classical codes and corrects both bit flips and phase flips. The Recognition Science framework, in its machine-checked library of formal theorems, models this classical foundation with a structure it calls ClassicalCode: a record that holds the block length n, the message length k, and the minimum distance d, together with the two conditions that k does not exceed n and d is positive. The declaration also defines a repetition code with n = 3, k = 1, and d = 3, and a syndrome as a list of bits that uniquely identifies an error.
What the declaration does not do is establish that any particular code works. The module that contains ClassicalCode is explicitly marked as a sketch module: every declaration in it concludes in True or another tautology, so nothing in it is a result. The structure records the intended shape of a classical code, and the repetition code is a concrete instance, but no theorem in this file establishes that the repetition code corrects errors, that the syndrome is computed correctly, or that any quantum code derived from these pieces achieves its threshold. The file also sets a surface code threshold at 0.01 as a definition, not as a derived value. The honest reading is that the library has laid down the vocabulary for classical codes and the first examples, and has left the proofs as targets.
In Recognition Science, the plan is for error correction to emerge from an eight-tick redundancy: eight phases of a recognition cycle provide natural redundancy, errors appear as phase shifts, and correction restores phase alignment. The library defines an eight-tick logical code with eight physical qubits, one logical qubit, and rate 1/8, and it states a theorem that the eight phases provide three bits of redundancy, but that theorem is trivial: it concludes in True. The framework also records a falsifier structure, a list of predictions about error thresholds and holographic correction, and a list of claimed implications for quantum computing. None of these are established. The distinction matters: the definitions and the sketch are in place, the proofs are not, and the framework's own documentation says the intent is not the establishment.
MODEL ClassicalCode · IndisputableMonolith/Information/QuantumErrorCorrection.lean
/-- A classical linear code [n, k, d].
- n: Block length
- k: Message length
- d: Minimum distance (corrects ⌊(d-1)/2⌋ errors) -/
structure ClassicalCode where
n : ℕ -- Block length
k : ℕ -- Message length
d : ℕ -- Minimum distance
k_le_n : k ≤ n
d_pos : d > 0
MODEL repetitionCode3 · IndisputableMonolith/Information/QuantumErrorCorrection.lean
/-- The 3-qubit repetition code.
|0⟩ → |000⟩
|1⟩ → |111⟩
Corrects single bit-flip errors. -/
def repetitionCode3 : ClassicalCode := {
n := 3,
k := 1,
d := 3,
k_le_n := by norm_num,
d_pos := by norm_num
}
MODEL eight_tick_encodes_redundancy · IndisputableMonolith/Information/QuantumErrorCorrection.lean
/-- The 8-tick phases naturally encode redundancy:
Phase k ↦ e^{ikπ/4} for k = 0, 1, ..., 7
A Z error adds π to the phase (shifts by 4 ticks).
An X error cycles through phases differently.
The 8-fold structure provides natural syndrome detection. -/
theorem eight_tick_encodes_redundancy :
-- The 8 phases provide 3 bits of redundancy
-- This is enough for single-error correction
True := trivial
What this page does not claim
No theorem in the module proves that the repetition code corrects any error. The surface code threshold of 0.01 is a definition, not a derived result. The eight-tick redundancy claim is a trivial theorem concluding in True, not a proof of error correction.
Verify this page
Every tagged claim above names its theorem. To check one yourself rather than trust this page, elaborate the source module with Lean 4 and audit its axiom basis:
$ lake env lean IndisputableMonolith/Information/QuantumErrorCorrection.lean
expected axiom basis: [propext, Classical.choice, Quot.sound] (the Lean kernel's standard three; no RS-specific axioms)
A page whose claims cannot be reproduced this way does not ship. In production, every anchor links to the exact declaration in the public source release, and this block carries the build receipt for the page itself.
Derived articles
This page is generated by a question-recursion engine: the questions its answers raise become the next pages. The current agenda, with open targets marked red:
- What is the precise error-correction guarantee that the eight-tick logical code is intended to satisfy?
- How does the framework derive the surface code threshold of 0.01 rather than merely defining it?
- Which of the recorded predictions, such as the tau-zero threshold or holographic correction, have a proof attempt in the library?
- What is the relationship between the ClassicalCode structure and the CSSCode structure in the framework's account?
MACHINE LAYER · GROUNDED CLAIM TABLE · CLICK TO EXPAND
MODEL ClassicalCode · IndisputableMonolith/Information/QuantumErrorCorrection.lean
/-- A classical linear code [n, k, d]. - n: Block length - k: Message length - d: Minimum distance (corrects ⌊(d-1)/2⌋ errors) -/ structure ClassicalCode where n : ℕ -- Block length k : ℕ -- Message length d : ℕ -- Minimum distance k_le_n : k ≤ n d_pos : d > 0The ClassicalCode structure holds the block length n, the message length k, and the minimum distance d, together with the conditions that k does not exceed n and d is positive. ClassicalCode · IndisputableMonolith/Information/QuantumErrorCorrection.leanMODEL repetitionCode3 · IndisputableMonolith/Information/QuantumErrorCorrection.lean
/-- The 3-qubit repetition code. |0⟩ → |000⟩ |1⟩ → |111⟩ Corrects single bit-flip errors. -/ def repetitionCode3 : ClassicalCode := { n := 3, k := 1, d := 3, k_le_n := by norm_num, d_pos := by norm_num }The repetition code is defined with n = 3, k = 1, and d = 3. repetitionCode3 · IndisputableMonolith/Information/QuantumErrorCorrection.leanMODEL eight_tick_encodes_redundancy · IndisputableMonolith/Information/QuantumErrorCorrection.lean
/-- The 8-tick phases naturally encode redundancy: Phase k ↦ e^{ikπ/4} for k = 0, 1, ..., 7 A Z error adds π to the phase (shifts by 4 ticks). An X error cycles through phases differently. The 8-fold structure provides natural syndrome detection. -/ theorem eight_tick_encodes_redundancy : -- The 8 phases provide 3 bits of redundancy -- This is enough for single-error correction True := trivialThe module that contains ClassicalCode is explicitly marked as a sketch module, and every declaration in it concludes in True or another tautology. eight_tick_encodes_redundancy · IndisputableMonolith/Information/QuantumErrorCorrection.lean