File tree Expand file tree Collapse file tree
CodingTheory/GuruswamiSudan Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -30,8 +30,8 @@ structure GuruswamiSudanCondition (k r D : ℕ) (ωs f : Fin n → F) (Q : Polyn
3030 Q_deg : Bivariate.weightedDegree Q 1 (k-1 ) ≤ D
3131 /-- (ωs i, f i) must be root of the polynomial Q. -/
3232 Q_roots : ∀ i, (Q.eval (C <| f i)).eval (ωs i) = 0
33- /-- Multiplicity of the roots is equal to r. -/
34- Q_multiplicity : ∀ i, r = Bivariate.rootMultiplicity Q (ωs i) (f i)
33+ /-- Multiplicity of the roots is at least r. -/
34+ Q_multiplicity : ∀ i, r ≤ Bivariate.rootMultiplicity Q (ωs i) (f i)
3535
3636/-- Guruswami-Sudan decoder. -/
3737opaque decoder (k r D e : ℕ) (ωs f : Fin n → F) : List F[X] := sorry
Original file line number Diff line number Diff line change @@ -50,7 +50,7 @@ def rootMultiplicity₀ [DecidableEq F] : Option ℕ :=
5050 let deg := weightedDegree f 1 1
5151 match deg with
5252 | none => none
53- | some deg => List.max ?
53+ | some deg => List.min ?
5454 (List.map
5555 (fun x => if coeff f x.1 x.2 ≠ 0 then x.1 + x.2 else 0 )
5656 (List.product (List.range deg.succ) (List.range deg.succ)))
@@ -67,7 +67,7 @@ lemma rootMultiplicity_some_implies_root {F : Type} [CommSemiring F]
6767 {x y : F} (f : F[X][Y])
6868 (h : some 0 < (rootMultiplicity (f := f) x y))
6969 :
70- (f.eval 0 ) .eval 0 = 0
70+ (f.eval (Polynomial.C y)) .eval x = 0
7171 := by
7272 sorry
7373
You can’t perform that action at this time.
0 commit comments