AffineGeneratorsWithMCA - #596
Conversation
🤖 PR Summary
The overview must be self-contained, surface any Statistics
Lean Declarations ✏️ Added: 15 declaration(s)
✏️ Affected: 3 declaration(s) (line number changed)
📋 **Additional Analysis**
📄 **Per-File Summaries**
Last updated: 2026-06-30 22:47 UTC. |
| Definition 3.7 [BCGM25]. -/ | ||
| def projectedWord [Fintype ι] (c : ι → F) (T : Finset ι) : T → F := Set.restrict T c | ||
|
|
||
| notation:60 c "|[" T "]" => projectedWord c T |
There was a problem hiding this comment.
Can you remove references to this notation accordingly?
| The affine line generator `F → F²`, `x ↦ (1, x)`, having MCA error `ε_mca` for `LC` implies that | ||
| the affine space generator `Fˡ → Fˡ⁺¹`, `x ↦ (1, x)`, has MCA for `LC` with error | ||
| `(1 - 1/|F|)⁻¹ • ε_mca`. -/ | ||
| theorem AffineLine_MCA_AffineSpaceMCA {ℓ : ℕ} (hℓ : ℓ ≥ 2) (ε_mca : I → ℝ) (LC : LinearCode ι F) |
There was a problem hiding this comment.
this works as is with hℓ : ℓ ≥ 1 actually 😄
| - `tensor product of generators`: given two generators over a field `F` of output sizes `ℓ` and `ℓ'` | ||
| respectively, we can define their tensor product componentwise. This is a generator on `F^ℓ ⊗ 𝔽^ℓ'` | ||
| - `affine line generator`: A generator of the form `G : F → F²` such that `x ↦ (1,x)`. | ||
| - `affine space generator`: A generator a generator of the form `G : F^ℓ → F^(ℓ + 1)` such that |
| simp only [ite_eq_right_iff, one_ne_zero, imp_false] | ||
| exact id (Ne.symm h_ne) | ||
|
|
||
| section |
There was a problem hiding this comment.
idk if section is needed here
|
|
||
| open Submodule | ||
|
|
||
| def projectedCode_submod |
There was a problem hiding this comment.
I was surprised this was as many lines as it was, claude suggested the following:
/-- The projected code `C|_T` of a linear code, as a submodule of `T → F`.
Definition 3.7 [BCGM25]. -/
def projectedCodeSubmod [Field F] [Fintype ι] (LC : LinearCode ι F) (T : Finset ι) :
Submodule F (T → F) :=
LC.map (LinearMap.funLeft F F (Subtype.val : T → ι))
which seems like an instance of mathlib being helpful.
| generator satisfies the MCA condition is bounded above by `ε_mca`. | ||
| Definition 3.14 [BCGM25]. -/ | ||
| def IsMCAGenerator {S : Type} [Nonempty S] [Fintype S] (G : Generator S ℓ F) (ε_mca : I → I) | ||
| def IsMCAGenerator {S : Type} [Nonempty S] [Fintype S] (G : Generator S ℓ F) (ε_mca : I → ℝ) |
There was a problem hiding this comment.
how about R_{>=0}?
No description provided.