algebra.category.Module.imagesMathlib.Algebra.Category.ModuleCat.Images

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 -/
-import Algebra.Category.Module.Abelian
+import Algebra.Category.ModuleCat.Abelian
 import CategoryTheory.Limits.Shapes.Images
 
 #align_import algebra.category.Module.images from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 -/
-import Mathbin.Algebra.Category.Module.Abelian
-import Mathbin.CategoryTheory.Limits.Shapes.Images
+import Algebra.Category.Module.Abelian
+import CategoryTheory.Limits.Shapes.Images
 
 #align_import algebra.category.Module.images from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebra.category.Module.images
-! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Algebra.Category.Module.Abelian
 import Mathbin.CategoryTheory.Limits.Shapes.Images
 
+#align_import algebra.category.Module.images from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
+
 /-!
 # The category of R-modules has images.
 
Diff
@@ -38,32 +38,41 @@ attribute [local ext] Subtype.ext_val
 
 section
 
+#print ModuleCat.image /-
 -- implementation details of `has_image` for Module; use the API, not these
 /-- The image of a morphism in `Module R` is just the bundling of `linear_map.range f` -/
 def image : ModuleCat R :=
   ModuleCat.of R (LinearMap.range f)
 #align Module.image ModuleCat.image
+-/
 
+#print ModuleCat.image.ι /-
 /-- The inclusion of `image f` into the target -/
 def image.ι : image f ⟶ H :=
   f.range.Subtype
 #align Module.image.ι ModuleCat.image.ι
+-/
 
 instance : Mono (image.ι f) :=
   ConcreteCategory.mono_of_injective (image.ι f) Subtype.val_injective
 
+#print ModuleCat.factorThruImage /-
 /-- The corestriction map to the image -/
 def factorThruImage : G ⟶ image f :=
   f.range_restrict
 #align Module.factor_thru_image ModuleCat.factorThruImage
+-/
 
+#print ModuleCat.image.fac /-
 theorem image.fac : factorThruImage f ≫ image.ι f = f := by ext; rfl
 #align Module.image.fac ModuleCat.image.fac
+-/
 
 attribute [local simp] image.fac
 
 variable {f}
 
+#print ModuleCat.image.lift /-
 /-- The universal property for the image factorisation -/
 noncomputable def image.lift (F' : MonoFactorisation f) : image f ⟶ F'.i
     where
@@ -89,7 +98,9 @@ noncomputable def image.lift (F' : MonoFactorisation f) : image f ⟶ F'.i
     rw [(Classical.indefiniteDescription (fun z => f z = _) _).2]
     rfl
 #align Module.image.lift ModuleCat.image.lift
+-/
 
+#print ModuleCat.image.lift_fac /-
 theorem image.lift_fac (F' : MonoFactorisation f) : image.lift F' ≫ F'.m = image.ι f :=
   by
   ext x
@@ -97,9 +108,11 @@ theorem image.lift_fac (F' : MonoFactorisation f) : image.lift F' ≫ F'.m = ima
   rw [F'.fac, (Classical.indefiniteDescription _ x.2).2]
   rfl
 #align Module.image.lift_fac ModuleCat.image.lift_fac
+-/
 
 end
 
+#print ModuleCat.monoFactorisation /-
 /-- The factorisation of any morphism in `Module R` through a mono. -/
 def monoFactorisation : MonoFactorisation f
     where
@@ -107,7 +120,9 @@ def monoFactorisation : MonoFactorisation f
   m := image.ι f
   e := factorThruImage f
 #align Module.mono_factorisation ModuleCat.monoFactorisation
+-/
 
+#print ModuleCat.isImage /-
 /-- The factorisation of any morphism in `Module R` through a mono has the universal property of
 the image. -/
 noncomputable def isImage : IsImage (monoFactorisation f)
@@ -115,7 +130,9 @@ noncomputable def isImage : IsImage (monoFactorisation f)
   lift := image.lift
   lift_fac := image.lift_fac
 #align Module.is_image ModuleCat.isImage
+-/
 
+#print ModuleCat.imageIsoRange /-
 /-- The categorical image of a morphism in `Module R`
 agrees with the linear algebraic range.
 -/
@@ -123,18 +140,23 @@ noncomputable def imageIsoRange {G H : ModuleCat.{v} R} (f : G ⟶ H) :
     Limits.image f ≅ ModuleCat.of R f.range :=
   IsImage.isoExt (Image.isImage f) (isImage f)
 #align Module.image_iso_range ModuleCat.imageIsoRange
+-/
 
+#print ModuleCat.imageIsoRange_inv_image_ι /-
 @[simp, reassoc, elementwise]
 theorem imageIsoRange_inv_image_ι {G H : ModuleCat.{v} R} (f : G ⟶ H) :
     (imageIsoRange f).inv ≫ Limits.image.ι f = ModuleCat.ofHom f.range.Subtype :=
   IsImage.isoExt_inv_m _ _
 #align Module.image_iso_range_inv_image_ι ModuleCat.imageIsoRange_inv_image_ι
+-/
 
+#print ModuleCat.imageIsoRange_hom_subtype /-
 @[simp, reassoc, elementwise]
 theorem imageIsoRange_hom_subtype {G H : ModuleCat.{v} R} (f : G ⟶ H) :
     (imageIsoRange f).hom ≫ ModuleCat.ofHom f.range.Subtype = Limits.image.ι f := by
   erw [← image_iso_range_inv_image_ι f, iso.hom_inv_id_assoc]
 #align Module.image_iso_range_hom_subtype ModuleCat.imageIsoRange_hom_subtype
+-/
 
 end ModuleCat
 
Diff
@@ -38,41 +38,32 @@ attribute [local ext] Subtype.ext_val
 
 section
 
-#print ModuleCat.image /-
 -- implementation details of `has_image` for Module; use the API, not these
 /-- The image of a morphism in `Module R` is just the bundling of `linear_map.range f` -/
 def image : ModuleCat R :=
   ModuleCat.of R (LinearMap.range f)
 #align Module.image ModuleCat.image
--/
 
-#print ModuleCat.image.ι /-
 /-- The inclusion of `image f` into the target -/
 def image.ι : image f ⟶ H :=
   f.range.Subtype
 #align Module.image.ι ModuleCat.image.ι
--/
 
 instance : Mono (image.ι f) :=
   ConcreteCategory.mono_of_injective (image.ι f) Subtype.val_injective
 
-#print ModuleCat.factorThruImage /-
 /-- The corestriction map to the image -/
 def factorThruImage : G ⟶ image f :=
   f.range_restrict
 #align Module.factor_thru_image ModuleCat.factorThruImage
--/
 
-#print ModuleCat.image.fac /-
 theorem image.fac : factorThruImage f ≫ image.ι f = f := by ext; rfl
 #align Module.image.fac ModuleCat.image.fac
--/
 
 attribute [local simp] image.fac
 
 variable {f}
 
-#print ModuleCat.image.lift /-
 /-- The universal property for the image factorisation -/
 noncomputable def image.lift (F' : MonoFactorisation f) : image f ⟶ F'.i
     where
@@ -98,9 +89,7 @@ noncomputable def image.lift (F' : MonoFactorisation f) : image f ⟶ F'.i
     rw [(Classical.indefiniteDescription (fun z => f z = _) _).2]
     rfl
 #align Module.image.lift ModuleCat.image.lift
--/
 
-#print ModuleCat.image.lift_fac /-
 theorem image.lift_fac (F' : MonoFactorisation f) : image.lift F' ≫ F'.m = image.ι f :=
   by
   ext x
@@ -108,11 +97,9 @@ theorem image.lift_fac (F' : MonoFactorisation f) : image.lift F' ≫ F'.m = ima
   rw [F'.fac, (Classical.indefiniteDescription _ x.2).2]
   rfl
 #align Module.image.lift_fac ModuleCat.image.lift_fac
--/
 
 end
 
-#print ModuleCat.monoFactorisation /-
 /-- The factorisation of any morphism in `Module R` through a mono. -/
 def monoFactorisation : MonoFactorisation f
     where
@@ -120,9 +107,7 @@ def monoFactorisation : MonoFactorisation f
   m := image.ι f
   e := factorThruImage f
 #align Module.mono_factorisation ModuleCat.monoFactorisation
--/
 
-#print ModuleCat.isImage /-
 /-- The factorisation of any morphism in `Module R` through a mono has the universal property of
 the image. -/
 noncomputable def isImage : IsImage (monoFactorisation f)
@@ -130,7 +115,6 @@ noncomputable def isImage : IsImage (monoFactorisation f)
   lift := image.lift
   lift_fac := image.lift_fac
 #align Module.is_image ModuleCat.isImage
--/
 
 /-- The categorical image of a morphism in `Module R`
 agrees with the linear algebraic range.
@@ -146,13 +130,11 @@ theorem imageIsoRange_inv_image_ι {G H : ModuleCat.{v} R} (f : G ⟶ H) :
   IsImage.isoExt_inv_m _ _
 #align Module.image_iso_range_inv_image_ι ModuleCat.imageIsoRange_inv_image_ι
 
-#print ModuleCat.imageIsoRange_hom_subtype /-
 @[simp, reassoc, elementwise]
 theorem imageIsoRange_hom_subtype {G H : ModuleCat.{v} R} (f : G ⟶ H) :
     (imageIsoRange f).hom ≫ ModuleCat.ofHom f.range.Subtype = Limits.image.ι f := by
   erw [← image_iso_range_inv_image_ι f, iso.hom_inv_id_assoc]
 #align Module.image_iso_range_hom_subtype ModuleCat.imageIsoRange_hom_subtype
--/
 
 end ModuleCat
 
Diff
@@ -132,9 +132,6 @@ noncomputable def isImage : IsImage (monoFactorisation f)
 #align Module.is_image ModuleCat.isImage
 -/
 
-/- warning: Module.image_iso_range -> ModuleCat.imageIsoRange is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align Module.image_iso_range ModuleCat.imageIsoRangeₓ'. -/
 /-- The categorical image of a morphism in `Module R`
 agrees with the linear algebraic range.
 -/
@@ -143,9 +140,6 @@ noncomputable def imageIsoRange {G H : ModuleCat.{v} R} (f : G ⟶ H) :
   IsImage.isoExt (Image.isImage f) (isImage f)
 #align Module.image_iso_range ModuleCat.imageIsoRange
 
-/- warning: Module.image_iso_range_inv_image_ι -> ModuleCat.imageIsoRange_inv_image_ι is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align Module.image_iso_range_inv_image_ι ModuleCat.imageIsoRange_inv_image_ιₓ'. -/
 @[simp, reassoc, elementwise]
 theorem imageIsoRange_inv_image_ι {G H : ModuleCat.{v} R} (f : G ⟶ H) :
     (imageIsoRange f).inv ≫ Limits.image.ι f = ModuleCat.ofHom f.range.Subtype :=
Diff
@@ -64,10 +64,7 @@ def factorThruImage : G ⟶ image f :=
 -/
 
 #print ModuleCat.image.fac /-
-theorem image.fac : factorThruImage f ≫ image.ι f = f :=
-  by
-  ext
-  rfl
+theorem image.fac : factorThruImage f ≫ image.ι f = f := by ext; rfl
 #align Module.image.fac ModuleCat.image.fac
 -/
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 
 ! This file was ported from Lean 3 source module algebra.category.Module.images
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.CategoryTheory.Limits.Shapes.Images
 /-!
 # The category of R-modules has images.
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 Note that we don't need to register any of the constructions here as instances, because we get them
 from the fact that `Module R` is an abelian category.
 -/
@@ -133,10 +136,7 @@ noncomputable def isImage : IsImage (monoFactorisation f)
 -/
 
 /- warning: Module.image_iso_range -> ModuleCat.imageIsoRange is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {G : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} {H : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} (f : Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H), CategoryTheory.Iso.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (ModuleCat.imageIsoRange._proof_1.{u1, u2} R _inst_1 G H f)) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Submodule.setLike.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.addCommGroup.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.module.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {G : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} {H : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} (f : Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H), CategoryTheory.Iso.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (CategoryTheory.Limits.HasImages.has_image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.abelian.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H f)) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (Subtype.{succ u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (fun (x : ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) => Membership.mem.{u2, u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.setLike.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) x (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (Submodule.addCommGroup.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Submodule.module.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align Module.image_iso_range ModuleCat.imageIsoRangeₓ'. -/
 /-- The categorical image of a morphism in `Module R`
 agrees with the linear algebraic range.
@@ -147,10 +147,7 @@ noncomputable def imageIsoRange {G H : ModuleCat.{v} R} (f : G ⟶ H) :
 #align Module.image_iso_range ModuleCat.imageIsoRange
 
 /- warning: Module.image_iso_range_inv_image_ι -> ModuleCat.imageIsoRange_inv_image_ι is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {G : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} {H : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} (f : Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H), Eq.{succ u2} (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Submodule.setLike.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.addCommGroup.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.module.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f))) H) (CategoryTheory.CategoryStruct.comp.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1))) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Submodule.setLike.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.addCommGroup.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.module.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f))) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (ModuleCat.imageIsoRange._proof_1.{u1, u2} R _inst_1 G H f)) H (CategoryTheory.Iso.inv.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (ModuleCat.imageIsoRange._proof_1.{u1, u2} R _inst_1 G H f)) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Submodule.setLike.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.addCommGroup.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.module.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f))) (ModuleCat.imageIsoRange.{u1, u2} R _inst_1 G H f)) (CategoryTheory.Limits.image.ι.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (ModuleCat.imageIsoRange._proof_1.{u1, u2} R _inst_1 G H f))) (ModuleCat.ofHom.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Submodule.setLike.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (ModuleCat.Carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.addCommGroup.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.module.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.subtype.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)))
-but is expected to have type
-  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {G : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} {H : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} (f : Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H), Eq.{succ u2} (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (Subtype.{succ u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (fun (x : ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) => Membership.mem.{u2, u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.setLike.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) x (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (Submodule.addCommGroup.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Submodule.module.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) H) (CategoryTheory.CategoryStruct.comp.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1))) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (Subtype.{succ u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (fun (x : ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) => Membership.mem.{u2, u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.setLike.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) x (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (Submodule.addCommGroup.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Submodule.module.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (CategoryTheory.Limits.HasImages.has_image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.abelian.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H f)) H (CategoryTheory.Iso.inv.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (CategoryTheory.Limits.HasImages.has_image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.abelian.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H f)) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (Subtype.{succ u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (fun (x : ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) => Membership.mem.{u2, u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.setLike.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) x (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (Submodule.addCommGroup.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Submodule.module.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (ModuleCat.imageIsoRange.{u1, u2} R _inst_1 G H f)) (CategoryTheory.Limits.image.ι.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (CategoryTheory.Limits.HasImages.has_image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.abelian.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H f))) (ModuleCat.ofHom.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (Subtype.{succ u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (fun (x : ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) => Membership.mem.{u2, u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.setLike.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) x (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.addCommGroup.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Submodule.module.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.subtype.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align Module.image_iso_range_inv_image_ι ModuleCat.imageIsoRange_inv_image_ιₓ'. -/
 @[simp, reassoc, elementwise]
 theorem imageIsoRange_inv_image_ι {G H : ModuleCat.{v} R} (f : G ⟶ H) :
Diff
@@ -35,35 +35,44 @@ attribute [local ext] Subtype.ext_val
 
 section
 
+#print ModuleCat.image /-
 -- implementation details of `has_image` for Module; use the API, not these
 /-- The image of a morphism in `Module R` is just the bundling of `linear_map.range f` -/
 def image : ModuleCat R :=
   ModuleCat.of R (LinearMap.range f)
 #align Module.image ModuleCat.image
+-/
 
+#print ModuleCat.image.ι /-
 /-- The inclusion of `image f` into the target -/
 def image.ι : image f ⟶ H :=
   f.range.Subtype
 #align Module.image.ι ModuleCat.image.ι
+-/
 
 instance : Mono (image.ι f) :=
   ConcreteCategory.mono_of_injective (image.ι f) Subtype.val_injective
 
+#print ModuleCat.factorThruImage /-
 /-- The corestriction map to the image -/
 def factorThruImage : G ⟶ image f :=
   f.range_restrict
 #align Module.factor_thru_image ModuleCat.factorThruImage
+-/
 
+#print ModuleCat.image.fac /-
 theorem image.fac : factorThruImage f ≫ image.ι f = f :=
   by
   ext
   rfl
 #align Module.image.fac ModuleCat.image.fac
+-/
 
 attribute [local simp] image.fac
 
 variable {f}
 
+#print ModuleCat.image.lift /-
 /-- The universal property for the image factorisation -/
 noncomputable def image.lift (F' : MonoFactorisation f) : image f ⟶ F'.i
     where
@@ -89,7 +98,9 @@ noncomputable def image.lift (F' : MonoFactorisation f) : image f ⟶ F'.i
     rw [(Classical.indefiniteDescription (fun z => f z = _) _).2]
     rfl
 #align Module.image.lift ModuleCat.image.lift
+-/
 
+#print ModuleCat.image.lift_fac /-
 theorem image.lift_fac (F' : MonoFactorisation f) : image.lift F' ≫ F'.m = image.ι f :=
   by
   ext x
@@ -97,9 +108,11 @@ theorem image.lift_fac (F' : MonoFactorisation f) : image.lift F' ≫ F'.m = ima
   rw [F'.fac, (Classical.indefiniteDescription _ x.2).2]
   rfl
 #align Module.image.lift_fac ModuleCat.image.lift_fac
+-/
 
 end
 
+#print ModuleCat.monoFactorisation /-
 /-- The factorisation of any morphism in `Module R` through a mono. -/
 def monoFactorisation : MonoFactorisation f
     where
@@ -107,7 +120,9 @@ def monoFactorisation : MonoFactorisation f
   m := image.ι f
   e := factorThruImage f
 #align Module.mono_factorisation ModuleCat.monoFactorisation
+-/
 
+#print ModuleCat.isImage /-
 /-- The factorisation of any morphism in `Module R` through a mono has the universal property of
 the image. -/
 noncomputable def isImage : IsImage (monoFactorisation f)
@@ -115,7 +130,14 @@ noncomputable def isImage : IsImage (monoFactorisation f)
   lift := image.lift
   lift_fac := image.lift_fac
 #align Module.is_image ModuleCat.isImage
+-/
 
+/- warning: Module.image_iso_range -> ModuleCat.imageIsoRange is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {G : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} {H : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} (f : Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H), CategoryTheory.Iso.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (ModuleCat.imageIsoRange._proof_1.{u1, u2} R _inst_1 G H f)) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Submodule.setLike.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.addCommGroup.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.module.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {G : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} {H : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} (f : Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H), CategoryTheory.Iso.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (CategoryTheory.Limits.HasImages.has_image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.abelian.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H f)) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (Subtype.{succ u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (fun (x : ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) => Membership.mem.{u2, u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.setLike.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) x (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (Submodule.addCommGroup.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Submodule.module.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)))
+Case conversion may be inaccurate. Consider using '#align Module.image_iso_range ModuleCat.imageIsoRangeₓ'. -/
 /-- The categorical image of a morphism in `Module R`
 agrees with the linear algebraic range.
 -/
@@ -124,17 +146,25 @@ noncomputable def imageIsoRange {G H : ModuleCat.{v} R} (f : G ⟶ H) :
   IsImage.isoExt (Image.isImage f) (isImage f)
 #align Module.image_iso_range ModuleCat.imageIsoRange
 
+/- warning: Module.image_iso_range_inv_image_ι -> ModuleCat.imageIsoRange_inv_image_ι is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {G : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} {H : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} (f : Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H), Eq.{succ u2} (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Submodule.setLike.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.addCommGroup.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.module.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f))) H) (CategoryTheory.CategoryStruct.comp.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1))) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Submodule.setLike.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.addCommGroup.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.module.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f))) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (ModuleCat.imageIsoRange._proof_1.{u1, u2} R _inst_1 G H f)) H (CategoryTheory.Iso.inv.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (ModuleCat.imageIsoRange._proof_1.{u1, u2} R _inst_1 G H f)) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Submodule.setLike.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.addCommGroup.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.module.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f))) (ModuleCat.imageIsoRange.{u1, u2} R _inst_1 G H f)) (CategoryTheory.Limits.image.ι.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (ModuleCat.imageIsoRange._proof_1.{u1, u2} R _inst_1 G H f))) (ModuleCat.ofHom.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Submodule.setLike.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (ModuleCat.Carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.addCommGroup.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (Submodule.module.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.subtype.{u1, u2} R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (ModuleCat.imageIsoRange._proof_2.{u1} R _inst_1) f)))
+but is expected to have type
+  forall {R : Type.{u1}} [_inst_1 : CommRing.{u1} R] {G : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} {H : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)} (f : Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H), Eq.{succ u2} (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (Subtype.{succ u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (fun (x : ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) => Membership.mem.{u2, u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.setLike.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) x (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (Submodule.addCommGroup.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Submodule.module.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) H) (CategoryTheory.CategoryStruct.comp.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1))) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (Subtype.{succ u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (fun (x : ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) => Membership.mem.{u2, u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.setLike.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) x (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (Submodule.addCommGroup.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Submodule.module.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (CategoryTheory.Limits.HasImages.has_image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.abelian.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H f)) H (CategoryTheory.Iso.inv.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (CategoryTheory.Limits.HasImages.has_image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.abelian.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H f)) (ModuleCat.of.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (Subtype.{succ u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (fun (x : ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) => Membership.mem.{u2, u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.setLike.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) x (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (Submodule.addCommGroup.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Submodule.module.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (ModuleCat.imageIsoRange.{u1, u2} R _inst_1 G H f)) (CategoryTheory.Limits.image.ι.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) G H f (CategoryTheory.Limits.HasImages.has_image.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Limits.hasImages_of_hasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Abelian.instHasStrongEpiMonoFactorisations.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.abelian.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H f))) (ModuleCat.ofHom.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) (Subtype.{succ u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (fun (x : ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) => Membership.mem.{u2, u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (SetLike.instMembership.{u2, u2} (Submodule.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.setLike.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H))) x (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f))) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.addCommGroup.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (CommRing.toRing.{u1} R _inst_1) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (Submodule.module.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Submodule.subtype.{u1, u2} R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (LinearMap.range.{u1, u1, u2, u2, u2} R R (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G)) (AddCommGroup.toAddCommMonoid.{u2} (ModuleCat.carrier.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H)) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) G) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_1) H) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_1)))) G H) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u1, u2} R (CommRing.toRing.{u1} R _inst_1) G H) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_1))) f)))
+Case conversion may be inaccurate. Consider using '#align Module.image_iso_range_inv_image_ι ModuleCat.imageIsoRange_inv_image_ιₓ'. -/
 @[simp, reassoc, elementwise]
 theorem imageIsoRange_inv_image_ι {G H : ModuleCat.{v} R} (f : G ⟶ H) :
     (imageIsoRange f).inv ≫ Limits.image.ι f = ModuleCat.ofHom f.range.Subtype :=
   IsImage.isoExt_inv_m _ _
 #align Module.image_iso_range_inv_image_ι ModuleCat.imageIsoRange_inv_image_ι
 
+#print ModuleCat.imageIsoRange_hom_subtype /-
 @[simp, reassoc, elementwise]
 theorem imageIsoRange_hom_subtype {G H : ModuleCat.{v} R} (f : G ⟶ H) :
     (imageIsoRange f).hom ≫ ModuleCat.ofHom f.range.Subtype = Limits.image.ι f := by
   erw [← image_iso_range_inv_image_ι f, iso.hom_inv_id_assoc]
 #align Module.image_iso_range_hom_subtype ModuleCat.imageIsoRange_hom_subtype
+-/
 
 end ModuleCat
 
Diff
@@ -124,13 +124,13 @@ noncomputable def imageIsoRange {G H : ModuleCat.{v} R} (f : G ⟶ H) :
   IsImage.isoExt (Image.isImage f) (isImage f)
 #align Module.image_iso_range ModuleCat.imageIsoRange
 
-@[simp, reassoc.1, elementwise]
+@[simp, reassoc, elementwise]
 theorem imageIsoRange_inv_image_ι {G H : ModuleCat.{v} R} (f : G ⟶ H) :
     (imageIsoRange f).inv ≫ Limits.image.ι f = ModuleCat.ofHom f.range.Subtype :=
   IsImage.isoExt_inv_m _ _
 #align Module.image_iso_range_inv_image_ι ModuleCat.imageIsoRange_inv_image_ι
 
-@[simp, reassoc.1, elementwise]
+@[simp, reassoc, elementwise]
 theorem imageIsoRange_hom_subtype {G H : ModuleCat.{v} R} (f : G ⟶ H) :
     (imageIsoRange f).hom ≫ ModuleCat.ofHom f.range.Subtype = Limits.image.ι f := by
   erw [← image_iso_range_inv_image_ι f, iso.hom_inv_id_assoc]
Diff
@@ -113,7 +113,7 @@ the image. -/
 noncomputable def isImage : IsImage (monoFactorisation f)
     where
   lift := image.lift
-  lift_fac' := image.lift_fac
+  lift_fac := image.lift_fac
 #align Module.is_image ModuleCat.isImage
 
 /-- The categorical image of a morphism in `Module R`

Changes in mathlib4

mathlib3
mathlib4
chore: adapt to multiple goal linter 3 (#12372)

A PR analogous to #12338 and #12361: reformatting proofs following the multiple goals linter of #12339.

Diff
@@ -63,13 +63,15 @@ variable {f}
 noncomputable def image.lift (F' : MonoFactorisation f) : image f ⟶ F'.I where
   toFun := (fun x => F'.e (Classical.indefiniteDescription _ x.2).1 : image f → F'.I)
   map_add' x y := by
-    apply (mono_iff_injective F'.m).1; infer_instance
+    apply (mono_iff_injective F'.m).1
+    · infer_instance
     rw [LinearMap.map_add]
     change (F'.e ≫ F'.m) _ = (F'.e ≫ F'.m) _ + (F'.e ≫ F'.m) _
     simp_rw [F'.fac, (Classical.indefiniteDescription (fun z => f z = _) _).2]
     rfl
   map_smul' c x := by
-    apply (mono_iff_injective F'.m).1; infer_instance
+    apply (mono_iff_injective F'.m).1
+    · infer_instance
     rw [LinearMap.map_smul]
     change (F'.e ≫ F'.m) _ = _ • (F'.e ≫ F'.m) _
     simp_rw [F'.fac, (Classical.indefiniteDescription (fun z => f z = _) _).2]
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
  for filename in files:
    if filename.endswith('.lean'):
      file_path = os.path.join(dir_path, filename)

      # Open the file and read its contents
      with open(file_path, 'r') as file:
        content = file.read()

      # Use a regular expression to replace sequences of "variable" lines separated by empty lines
      # with sequences without empty lines
      modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -26,7 +26,6 @@ namespace ModuleCat
 set_option linter.uppercaseLean3 false -- `Module`
 
 variable {R : Type u} [Ring R]
-
 variable {G H : ModuleCat.{v} R} (f : G ⟶ H)
 
 attribute [local ext] Subtype.ext_val
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebra.category.Module.images
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Algebra.Category.ModuleCat.Abelian
 import Mathlib.CategoryTheory.Limits.Shapes.Images
 
+#align_import algebra.category.Module.images from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
 /-!
 # The category of R-modules has images.
 
chore: Remove commutativity assumption in ModuleCat.Images (#4543)

Change [CommRing R] to [Ring R] at the top of the file Mathlib.Algebra.Category.ModuleCat.Images.

Diff
@@ -28,7 +28,7 @@ universe u v
 namespace ModuleCat
 set_option linter.uppercaseLean3 false -- `Module`
 
-variable {R : Type u} [CommRing R]
+variable {R : Type u} [Ring R]
 
 variable {G H : ModuleCat.{v} R} (f : G ⟶ H)
 
feat: port Algebra.Category.Module.Images (#4385)

Dependencies 8 + 643

644 files ported (98.8%)
250186 lines ported (98.8%)
Show graph

The unported dependencies are