∀ {G : Type u_1} [inst : AddCommGroup G] {n : ℕ} [NeZero n] {ι : Type u_2} (b : Module.Basis ι ℤ G)
  (hker :
    ((LinearMap.lsmul ℤ G) ↑n).range ≤
      (Finsupp.mapRange.linearMap (Int.castAddHom (ZMod n)).toIntLinearMap ∘ₗ ↑b.repr).ker),
  Function.Injective
      ⇑(AddMonoidHom.toZModLinearMap n
          (((LinearMap.lsmul ℤ G) ↑n).range.liftQ
              (Finsupp.mapRange.linearMap (Int.castAddHom (ZMod n)).toIntLinearMap ∘ₗ ↑b.repr) hker).toAddMonoidHom) ∧
    Function.Surjective
      ⇑(AddMonoidHom.toZModLinearMap n
          (((LinearMap.lsmul ℤ G) ↑n).range.liftQ
              (Finsupp.mapRange.linearMap (Int.castAddHom (ZMod n)).toIntLinearMap ∘ₗ ↑b.repr) hker).toAddMonoidHom)