proposition: Lemma iso_smithm : isomorphisms smithm smithm_inv.
proof: Proof. have hQ_unit : Q \in unitmx by rewrite /Q; case: smithP. by rewrite /isomorphisms /eqmor /= ?(mulmxV,mulVmx,subrr,dvdmx0). Qed.
imports: HB(structures) mathcomp(ssreflect ssrfun ssrbool eqtype ssrnat div seq path) mathcomp(ssralg fintype perm choice matrix bigop zmodp mxalgebra poly) ssrcomplements stronglydiscrete coherent edr