fact: Definition encoder : encT F [finType of 'rV[F]_(n - d.+1).+1] n := let g := \gen_(a, d) in [ffun m => let mxd := rVpoly m * 'X^d in poly_rV (mxd - mxd %% g)].
imports: mathcomp(all_ssreflect ssralg finalg poly polydiv cyclic) mathcomp(perm matrix mxpoly vector mxalgebra zmodp) ssr_ext ssralg_ext poly_ext channel_code decoding linearcode hamming dft poly_decoding euclid grs cyclic_code