Binary elimination with coefficient certificates #
Each row carries both its vector and a coefficient vector describing that vector in the original generating family. Reduction XORs both components together. The program is uniformly polynomial-time even for malformed pivots and rows.
@[reducible, inline]
Instances For
@[reducible, inline]
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
@[reducible, inline]
Equations
Instances For
Equations
Instances For
Equations
Instances For
A raw XOR step is the corresponding operation on both typed vectors.
theorem
MIPRE.LowDegree.BinaryLinear.reduceRows_rowBits
{n t : ℕ}
(b : List (Pivot n t))
(r : Row n t)
:
The entire executable reduction agrees with typed binary elimination.
theorem
MIPRE.LowDegree.BinaryLinear.represents_typedReduceStep
{n t : ℕ}
(L : (Fin t → ZMod 2) →ₗ[ZMod 2] Fin n → ZMod 2)
(r : Row n t)
(p : Pivot n t)
(hr : Represents L r)
(hp : Represents L p.2)
:
Represents L (typedReduceStep r p)
theorem
MIPRE.LowDegree.BinaryLinear.represents_typedReduce
{n t : ℕ}
(L : (Fin t → ZMod 2) →ₗ[ZMod 2] Fin n → ZMod 2)
(b : List (Pivot n t))
(r : Row n t)
(hr : Represents L r)
(hb : ∀ p ∈ b, Represents L p.2)
:
Represents L (typedReduce b r)
Reduction preserves the coefficient certificate in the original family.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Uniform, certificate-preserving binary elimination along a supplied pivot list.
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]