Skip to content

Commit a786012

Browse files
authored
Add some cute little lemmas (#660)
1 parent 7bbe2e2 commit a786012

1 file changed

Lines changed: 12 additions & 2 deletions

File tree

ArkLib/Data/CodingTheory/ReedSolomon.lean

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,6 @@ lemma mem_code_iff_exists_polynomial {n : ℕ} {α : ι ↪ F} {f : ι → F} :
185185
[Polynomial.degreeLT,
186186
Polynomial.degree_lt_iff_coeff_zero])
187187

188-
189-
190188
lemma mem_code_iff_exists_polynomial_of_ne_zero {n : ℕ} [ne : NeZero n] {α : ι ↪ F} {f : ι → F} :
191189
f ∈ code α n ↔ ∃ p : Polynomial F, p.natDegree < n ∧ f = evalOnPoints α p := by
192190
rw [mem_code_iff_exists_polynomial]
@@ -200,6 +198,18 @@ lemma mem_code_iff_exists_polynomial_of_ne_zero {n : ℕ} [ne : NeZero n] {α :
200198
(add simp [Polynomial.natDegree_lt_iff_degree_lt])
201199
(add safe (by omega))
202200

201+
/-- `evalOnPoints α p` belongs to an RS-code of degree `n`,
202+
if `p.degree < n`. -/
203+
lemma evalOnPoints_mem_code_of_degree_lt {α : ι ↪ F} {p : F[X]} (h_deg : p.degree < n) :
204+
evalOnPoints α p ∈ code α n :=
205+
mem_code_of_polynomial_of_degree_lt_of_eval p h_deg (by simp [evalOnPoints])
206+
207+
/-- `evalOnPoints α p` belongs to an RS-code of degree `n`,
208+
if `p.natDegree < n`. -/
209+
lemma evalOnPoints_mem_code_of_natDegree_lt {α : ι ↪ F} {p : F[X]} (h_deg : p.natDegree < n) :
210+
evalOnPoints α p ∈ code α n :=
211+
mem_code_of_polynomial_of_natDegree_lt_of_eval p h_deg (by simp [evalOnPoints])
212+
203213
/-- **Monotonicity of `code` in the degree bound.** If `n ≤ m`, the degree-`n` Reed-Solomon code
204214
is contained in the degree-`m` code over the same domain. -/
205215
@[mono]

0 commit comments

Comments
 (0)