fact: Definition Smith_seq n m (M: 'M[E]_(n,m)) := let: (L,d,R) := (Smith find1 find2 find_pivot M) in if d is a :: d' then (\det L)^-1 * (\det R)^-1 *a :: d' else nil.
imports: mathcomp(all_ssreflect) mathcomp(all_algebra) mathcomp(all_fingroup) mathcomp(all_real_closed) CoqEAL(binetcauchy ssrcomplements mxstructure minor) CoqEAL(smith dvdring polydvd) CoqEAL(similar perm_eq_image)