proposition: Lemma cgen_divides_Xn_sub_1 g : g \in 'cgen[C] -> rVpoly g %| 'X^n - 1.
proof: Proof. move=> Hg. move: (@divide_codeword ('X^n - 1)). have -> : `[ 'X^n - 1 ]_n = 0 :> {poly F} by rewrite modpp. by rewrite linear0 (proj1 (Lcode0.aclosed C)) => /(_ erefl); apply. Qed.
imports: mathcomp(all_ssreflect ssralg poly polydiv fingroup perm) mathcomp(finalg zmodp matrix mxalgebra mxpoly polydiv vector) ssralg_ext poly_ext f2 hamming linearcode dft