Section Horner.
Variables z : L.
Definition fieldExt_horner := horner_morph (fun x => mulrC z (in_alg L x)).
Canonical fieldExtHorner_additive := [additive of fieldExt_horner].
Canonical fieldExtHorner_rmorphism := [rmorphism of fieldExt_horner].

(* Specifications: *)
Lemma fieldExt_hornerC b : fieldExt_horner b%:P = b%:A.
Canonical fieldExt_horner_linear := AddLinear fieldExt_hornerZ.