LinearCodes: general Singleton bound + exact-MDS for RS and generators#32
LinearCodes: general Singleton bound + exact-MDS for RS and generators#32Praz314159 wants to merge 2 commits into
Conversation
Add `Generator.fnSingleton_bound` (dim c + d ≤ |α| + 1 for any code c ⊆ α → F, via puncturing) and `Generator.fn_exists_minWeight` (Singleton attained ⇒ a nonzero codeword of weight exactly |α| − k + 1). Stated over a generic finite index type, so they cover Fin n → F and S → F uniformly. Wire them into the repo's MDS-claiming codes, turning "achieved with equality" from docstring into theorem: reedSolomonSubmodule_minWeight_attained (RS), univariatePowers_minWeight_attained and affineLine_minWeight_attained (generators). 0 sorry, 0 user axioms; lake build clean.
|
Hi 👋, this is the first PR someone (I don't know) has opened up against my repo. A non-blocking thought: the RS theorem seems to rely on Also, since Do you plan to use this for something or just fun atm? Overall I'm happy to merge this. |
Add `fnHammingWeight_eq_hammingWeight` (rfl) and use it in `reedSolomonSubmodule_minWeight_attained` instead of relying on defeq. Move `fnSingleton_bound` / `fn_exists_minWeight` from `Generator` to the neutral `LinearCodes` namespace; update call sites.
Hey what's up! Was just getting my feet wet, and realized that the MDS claims weren't tight. I am pretty interested in the work here, and am curious what you have planned (if anything) for it. I didn't have anything particular in mind, but I'm familiar with most of the papers referenced in the repo, so can probably be somewhat useful! |
"achieved with equality" from docstring is not matched by reality, where only lower bound is proved. Proving singleton bound generically so it can be inherited by codes wherever possible.
Add
Generator.fnSingleton_bound(dim c + d ≤ |α| + 1 for any code c ⊆ α → F, via puncturing) andGenerator.fn_exists_minWeight(Singleton attained ⇒ a nonzero codeword of weight exactly |α| − k + 1). Stated over a generic finite index type, so they cover Fin n → F and S → F uniformly.Wire them into the repo's MDS-claiming codes, turning "achieved with equality" from docstring into theorem: reedSolomonSubmodule_minWeight_attained (RS), univariatePowers_minWeight_attained and affineLine_minWeight_attained (generators).