Section FadjoinPolyDefinitions.
Variables (U : {vspace L}) (x : L).
Definition adjoin_degree := (\dim_U <<U; x>>).-1.+1.
Local Notation n := adjoin_degree.
Definition Fadjoin_sum := (\sum_(i < n) U * <[x ^+ i]>)%VS.
Definition Fadjoin_poly v : {poly L} :=
\poly_(i < n) (sumv_pi Fadjoin_sum (inord i) v / x ^+ i).
Definition minPoly : {poly L} := 'X^n - Fadjoin_poly (x ^+ n).
Fact Fadjoin_poly_is_linear : linear_for (in_alg L \; *:%R) Fadjoin_poly.
Canonical Fadjoin_poly_additive := Additive Fadjoin_poly_is_linear.
Canonical Fadjoin_poly_linear := AddLinear Fadjoin_poly_is_linear.

Lemma size_minPoly : size minPoly = n.+1.