Section MinPoly.
Variables (F : fieldType) (n' : nat).
Local Notation n := n'.+1.
Variable A : 'M[F]_n.
Implicit Types p q : {poly F}.
Fact degree_mxminpoly_proof : exists d, \rank (powers_mx A d.+1) <= d.

Lemma horner_mx_mem p : (horner_mx A p \in Ad)%MS.
Definition mx_inv_horner B := rVpoly (mxvec B *m pinvmx Ad).