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.
Definition mx_inv_horner B := rVpoly (mxvec B *m pinvmx Ad).

Lemma minpoly_mx_ring : mxring Ad.