Canonical diag_mx_additive n := Additive (@diag_mx_is_linear n).Canonical diag_mx_linear n := Linear (@diag_mx_is_linear n).Fact scalar_mx_key : unit.

(* Specifications: *)
Lemma diag_const_mx a : diag_mx (const_mx a) = a%:M :> 'M_n.
Lemma tr_scalar_mx a : (a%:M)^T = a%:M.
Lemma trmx1 : (1%:M)^T = 1%:M.
Lemma scalar_mx_is_additive : additive scalar_mx.