Theorem 7: Sipser–Spielman Expander Code Distance #
Main Results #
sipserSpielman_dimension_bound— The dimension of the Tanner code satisfiesk ≥ (2k_L/s - 1)|X₁|.sipserSpielman_distance_bound— The distance of the Tanner code satisfiesd ≥ (d_L - λ₂)d_L / ((s - λ₂)s) · |X₁|.
Helper: LinearEquiv for Submodule.pi #
A linear equivalence between Submodule.pi Set.univ (fun _ => p) and ι → ↥p.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The finrank of Submodule.pi Set.univ (fun _ => p) equals |ι| * finrank(p).
Helper: range of differential #
The range of the differential is contained in the pi of ranges of parityCheck.
Upper bound on finrank of the range of the differential.
Part 1: Dimension Bound #
The dimension of the Tanner code C(X, L, Λ) satisfies
k ≥ (2k_L/s - 1) · |X₁|.
Part 2: Distance Bound #
Helper: the support of a vector as a Finset of edges.
Equations
- SipserSpielman.support G c = {e : ↑G.edgeSet | c e ≠ 0}
Instances For
The Hamming weight of a vector over G.edgeSet → 𝔽₂.
Equations
Instances For
The set of vertices incident to the support of an edge function c.
Instances For
The degree of a vertex in the support of c: the number of edges in supp(c)
incident to v.
Equations
Instances For
For a codeword of the Tanner code, the local view at each vertex is in ker(parityCheck).
If the local view is nonzero, its Hamming weight is at least d_L.
Distance bound helper lemmas #
The support Finset of a nonzero function has positive cardinality.
The edgeHammingWeight equals the number of nonzero components.
The support as a Finset of Sym2 V (edges of G).
Equations
- SipserSpielman.supportEdges G c = Finset.image (fun (e : ↑G.edgeSet) => ↑e) (SipserSpielman.support G c)
Instances For
supportEdges ⊆ G.edgeFinset
The cardinality of supportEdges equals edgeHammingWeight (edges in G.edgeSet are distinct).
If v is incident to the support, the local view at v is nonzero.
For a codeword, each incident vertex has at least dL edges in the support.
For each edge, at most 2 vertices are incident to it.
Key double-counting: |S| * dL ≤ 2 * |E| for a codeword.
Hamming weight of any vector in Fin s → 𝔽₂ is at most s.
The distance of the Tanner code C(X, L, Λ) satisfies
d ≥ (d_L - λ₂) · d_L / ((s - λ₂) · s) · |X₁|.