category_theory.abelian.pseudoelementsMathlib.CategoryTheory.Abelian.Pseudoelements

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
@@ -4,8 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 -/
 import CategoryTheory.Abelian.Exact
-import CategoryTheory.Over
-import Algebra.Category.Module.EpiMono
+import CategoryTheory.Comma.Over
+import Algebra.Category.ModuleCat.EpiMono
 
 #align_import category_theory.abelian.pseudoelements from "leanprover-community/mathlib"@"781cb2eed038c4caf53bdbd8d20a95e5822d77df"
 
Diff
@@ -373,7 +373,7 @@ theorem pseudo_injective_of_mono {P Q : C} (f : P ⟶ Q) [Mono f] : Function.Inj
 #print CategoryTheory.Abelian.Pseudoelement.zero_of_map_zero /-
 /-- A morphism that is injective on pseudoelements only maps the zero element to zero. -/
 theorem zero_of_map_zero {P Q : C} (f : P ⟶ Q) : Function.Injective f → ∀ a, f a = 0 → a = 0 :=
-  fun h a ha => by rw [← apply_zero f] at ha ; exact h ha
+  fun h a ha => by rw [← apply_zero f] at ha; exact h ha
 #align category_theory.abelian.pseudoelement.zero_of_map_zero CategoryTheory.Abelian.Pseudoelement.zero_of_map_zero
 -/
 
@@ -409,11 +409,11 @@ theorem epi_of_pseudo_surjective {P Q : C} (f : P ⟶ Q) : Function.Surjective f
   | ⟨pbar, hpbar⟩ =>
     match Quotient.exists_rep pbar with
     | ⟨p, hp⟩ =>
-      have : ⟦(p.Hom ≫ f : Over Q)⟧ = ⟦𝟙 Q⟧ := by rw [← hp] at hpbar ; exact hpbar
+      have : ⟦(p.Hom ≫ f : Over Q)⟧ = ⟦𝟙 Q⟧ := by rw [← hp] at hpbar; exact hpbar
       match Quotient.exact this with
       | ⟨R, x, y, ex, ey, comm⟩ =>
-        @epi_of_epi_fac _ _ _ _ _ (x ≫ p.Hom) f y ey <| by dsimp at comm ;
-          rw [category.assoc, comm]; apply category.comp_id
+        @epi_of_epi_fac _ _ _ _ _ (x ≫ p.Hom) f y ey <| by dsimp at comm; rw [category.assoc, comm];
+          apply category.comp_id
 #align category_theory.abelian.pseudoelement.epi_of_pseudo_surjective CategoryTheory.Abelian.Pseudoelement.epi_of_pseudo_surjective
 -/
 
@@ -472,7 +472,7 @@ theorem exact_of_pseudo_exact {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) :
       -- By pseudo-exactness, we get a preimage.
       obtain ⟨a', ha⟩ := h₂ _ this
       obtain ⟨a, ha'⟩ := Quotient.exists_rep a'
-      rw [← ha'] at ha 
+      rw [← ha'] at ha
       obtain ⟨Z, r, q, er, eq, comm⟩ := Quotient.exact ha
       -- Consider the pullback of kernel.ι (cokernel.π f) and kernel.ι g.
       -- The commutative diagram given by the pseudo-equality f a = b induces
@@ -509,7 +509,7 @@ theorem sub_of_eq_image {P Q : C} (f : P ⟶ Q) (x y : P) :
     | ⟨R, p, q, ep, Eq, comm⟩ =>
       let a'' : R ⟶ P := p ≫ a.Hom - q ≫ a'.Hom
       ⟨a'',
-        ⟨show ⟦((p ≫ a.Hom - q ≫ a'.Hom) ≫ f : Over Q)⟧ = ⟦(0 : Q ⟶ Q)⟧ by dsimp at comm ;
+        ⟨show ⟦((p ≫ a.Hom - q ≫ a'.Hom) ≫ f : Over Q)⟧ = ⟦(0 : Q ⟶ Q)⟧ by dsimp at comm;
             simp [sub_eq_zero.2 comm],
           fun Z g hh => by
           obtain ⟨X, p', q', ep', eq', comm'⟩ := Quotient.exact hh
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2020 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 -/
-import Mathbin.CategoryTheory.Abelian.Exact
-import Mathbin.CategoryTheory.Over
-import Mathbin.Algebra.Category.Module.EpiMono
+import CategoryTheory.Abelian.Exact
+import CategoryTheory.Over
+import Algebra.Category.Module.EpiMono
 
 #align_import category_theory.abelian.pseudoelements from "leanprover-community/mathlib"@"781cb2eed038c4caf53bdbd8d20a95e5822d77df"
 
Diff
@@ -431,7 +431,7 @@ theorem pseudo_exact_of_exact {P Q R : C} {f : P ⟶ Q} {g : Q ⟶ R} (h : Exact
       obtain ⟨c, hc⟩ := kernel_fork.is_limit.lift' (is_limit_image f g h) _ hb'
       -- We compute the pullback of the map into the image and c.
       -- The pseudoelement induced by the first pullback map will be our preimage.
-      use (pullback.fst : pullback (abelian.factor_thru_image f) c ⟶ P)
+      use(pullback.fst : pullback (abelian.factor_thru_image f) c ⟶ P)
       -- It remains to show that the image of this element under f is pseudo-equal to b.
       apply Quotient.sound
       -- pullback.snd is an epimorphism because the map onto the image is!
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2020 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
-
-! This file was ported from Lean 3 source module category_theory.abelian.pseudoelements
-! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Abelian.Exact
 import Mathbin.CategoryTheory.Over
 import Mathbin.Algebra.Category.Module.EpiMono
 
+#align_import category_theory.abelian.pseudoelements from "leanprover-community/mathlib"@"781cb2eed038c4caf53bdbd8d20a95e5822d77df"
+
 /-!
 # Pseudoelements in abelian categories
 
Diff
@@ -104,10 +104,12 @@ def app {P Q : C} (f : P ⟶ Q) (a : Over P) : Over Q :=
 #align category_theory.abelian.app CategoryTheory.Abelian.app
 -/
 
+#print CategoryTheory.Abelian.app_hom /-
 @[simp]
 theorem app_hom {P Q : C} (f : P ⟶ Q) (a : Over P) : (app f a).Hom = a.Hom ≫ f :=
   rfl
 #align category_theory.abelian.app_hom CategoryTheory.Abelian.app_hom
+-/
 
 #print CategoryTheory.Abelian.PseudoEqual /-
 /-- Two arrows `f : X ⟶ P` and `g : Y ⟶ P` are called pseudo-equal if there is some object
@@ -221,9 +223,11 @@ attribute [local instance] hom_to_fun
 
 scoped[Pseudoelement] attribute [instance] CategoryTheory.Abelian.Pseudoelement.homToFun
 
+#print CategoryTheory.Abelian.Pseudoelement.pseudoApply_mk' /-
 theorem pseudoApply_mk' {P Q : C} (f : P ⟶ Q) (a : Over P) : f ⟦a⟧ = ⟦a.Hom ≫ f⟧ :=
   rfl
 #align category_theory.abelian.pseudoelement.pseudo_apply_mk CategoryTheory.Abelian.Pseudoelement.pseudoApply_mk'
+-/
 
 #print CategoryTheory.Abelian.Pseudoelement.comp_apply /-
 /-- Applying a pseudoelement to a composition of morphisms is the same as composing
@@ -255,12 +259,14 @@ section
 
 attribute [local instance] has_binary_biproducts.of_has_binary_products
 
+#print CategoryTheory.Abelian.Pseudoelement.pseudoZero_aux /-
 /-- The arrows pseudo-equal to a zero morphism are precisely the zero morphisms -/
 theorem pseudoZero_aux {P : C} (Q : C) (f : Over P) : f ≈ (0 : Q ⟶ P) ↔ f.Hom = 0 :=
   ⟨fun ⟨R, p, q, ep, Eq, comm⟩ => zero_of_epi_comp p (by simp [comm]), fun hf =>
     ⟨biprod f.1 Q, biprod.fst, biprod.snd, by infer_instance, by infer_instance, by
       rw [hf, over.coe_hom, has_zero_morphisms.comp_zero, has_zero_morphisms.comp_zero]⟩⟩
 #align category_theory.abelian.pseudoelement.pseudo_zero_aux CategoryTheory.Abelian.Pseudoelement.pseudoZero_aux
+-/
 
 end
 
@@ -305,10 +311,12 @@ theorem zero_eq_zero {P Q : C} : ⟦((0 : Q ⟶ P) : Over P)⟧ = (0 : Pseudoele
 #align category_theory.abelian.pseudoelement.zero_eq_zero CategoryTheory.Abelian.Pseudoelement.zero_eq_zero
 -/
 
+#print CategoryTheory.Abelian.Pseudoelement.pseudoZero_iff /-
 /-- The pseudoelement induced by an arrow is zero precisely when that arrow is zero -/
 theorem pseudoZero_iff {P : C} (a : Over P) : (a : P) = 0 ↔ a.Hom = 0 := by
   rw [← pseudo_zero_aux P a]; exact Quotient.eq'
 #align category_theory.abelian.pseudoelement.pseudo_zero_iff CategoryTheory.Abelian.Pseudoelement.pseudoZero_iff
+-/
 
 end Zero
 
@@ -547,6 +555,7 @@ section Module
 
 attribute [-instance] hom_to_fun
 
+#print CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequal /-
 /-- In the category `Module R`, if `x` and `y` are pseudoequal, then the range of the associated
 morphisms is the same. -/
 theorem ModuleCat.eq_range_of_pseudoequal {R : Type _} [CommRing R] {G : ModuleCat R} {x y : Over G}
@@ -565,6 +574,7 @@ theorem ModuleCat.eq_range_of_pseudoequal {R : Type _} [CommRing R] {G : ModuleC
     rw [← LinearMap.comp_apply, ← ModuleCat.comp_def, H, ModuleCat.comp_def, LinearMap.comp_apply,
       ha'', ha']
 #align category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequal
+-/
 
 end Module
 
Diff
@@ -441,8 +441,7 @@ theorem pseudo_exact_of_exact {P Q R : C} {f : P ⟶ Q} {g : Q ⟶ R} (h : Exact
           rw [abelian.image.fac]
         _ = (pullback.snd ≫ c) ≫ kernel.ι (cokernel.π f) := by
           rw [← category.assoc, pullback.condition]
-        _ = pullback.snd ≫ b.hom := by rw [category.assoc]; congr
-        ⟩
+        _ = pullback.snd ≫ b.hom := by rw [category.assoc]; congr⟩
 #align category_theory.abelian.pseudoelement.pseudo_exact_of_exact CategoryTheory.Abelian.Pseudoelement.pseudo_exact_of_exact
 -/
 
Diff
@@ -113,7 +113,7 @@ theorem app_hom {P Q : C} (f : P ⟶ Q) (a : Over P) : (app f a).Hom = a.Hom ≫
 /-- Two arrows `f : X ⟶ P` and `g : Y ⟶ P` are called pseudo-equal if there is some object
     `R` and epimorphisms `p : R ⟶ X` and `q : R ⟶ Y` such that `p ≫ f = q ≫ g`. -/
 def PseudoEqual (P : C) (f g : Over P) : Prop :=
-  ∃ (R : C)(p : R ⟶ f.1)(q : R ⟶ g.1)(_ : Epi p)(_ : Epi q), p ≫ f.Hom = q ≫ g.Hom
+  ∃ (R : C) (p : R ⟶ f.1) (q : R ⟶ g.1) (_ : Epi p) (_ : Epi q), p ≫ f.Hom = q ≫ g.Hom
 #align category_theory.abelian.pseudo_equal CategoryTheory.Abelian.PseudoEqual
 -/
 
@@ -343,8 +343,8 @@ theorem zero_morphism_ext' {P Q : C} (f : P ⟶ Q) : (∀ a, f a = 0) → 0 = f
 -/
 
 scoped[Pseudoelement]
-  attribute [ext]
-    CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext'
+  attribute [ext] CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext
+    CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext'
 
 #print CategoryTheory.Abelian.Pseudoelement.eq_zero_iff /-
 theorem eq_zero_iff {P Q : C} (f : P ⟶ Q) : f = 0 ↔ ∀ a, f a = 0 :=
@@ -368,7 +368,7 @@ theorem pseudo_injective_of_mono {P Q : C} (f : P ⟶ Q) [Mono f] : Function.Inj
 #print CategoryTheory.Abelian.Pseudoelement.zero_of_map_zero /-
 /-- A morphism that is injective on pseudoelements only maps the zero element to zero. -/
 theorem zero_of_map_zero {P Q : C} (f : P ⟶ Q) : Function.Injective f → ∀ a, f a = 0 → a = 0 :=
-  fun h a ha => by rw [← apply_zero f] at ha; exact h ha
+  fun h a ha => by rw [← apply_zero f] at ha ; exact h ha
 #align category_theory.abelian.pseudoelement.zero_of_map_zero CategoryTheory.Abelian.Pseudoelement.zero_of_map_zero
 -/
 
@@ -404,11 +404,11 @@ theorem epi_of_pseudo_surjective {P Q : C} (f : P ⟶ Q) : Function.Surjective f
   | ⟨pbar, hpbar⟩ =>
     match Quotient.exists_rep pbar with
     | ⟨p, hp⟩ =>
-      have : ⟦(p.Hom ≫ f : Over Q)⟧ = ⟦𝟙 Q⟧ := by rw [← hp] at hpbar; exact hpbar
+      have : ⟦(p.Hom ≫ f : Over Q)⟧ = ⟦𝟙 Q⟧ := by rw [← hp] at hpbar ; exact hpbar
       match Quotient.exact this with
       | ⟨R, x, y, ex, ey, comm⟩ =>
-        @epi_of_epi_fac _ _ _ _ _ (x ≫ p.Hom) f y ey <| by dsimp at comm; rw [category.assoc, comm];
-          apply category.comp_id
+        @epi_of_epi_fac _ _ _ _ _ (x ≫ p.Hom) f y ey <| by dsimp at comm ;
+          rw [category.assoc, comm]; apply category.comp_id
 #align category_theory.abelian.pseudoelement.epi_of_pseudo_surjective CategoryTheory.Abelian.Pseudoelement.epi_of_pseudo_surjective
 -/
 
@@ -468,7 +468,7 @@ theorem exact_of_pseudo_exact {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) :
       -- By pseudo-exactness, we get a preimage.
       obtain ⟨a', ha⟩ := h₂ _ this
       obtain ⟨a, ha'⟩ := Quotient.exists_rep a'
-      rw [← ha'] at ha
+      rw [← ha'] at ha 
       obtain ⟨Z, r, q, er, eq, comm⟩ := Quotient.exact ha
       -- Consider the pullback of kernel.ι (cokernel.π f) and kernel.ι g.
       -- The commutative diagram given by the pseudo-equality f a = b induces
@@ -505,7 +505,7 @@ theorem sub_of_eq_image {P Q : C} (f : P ⟶ Q) (x y : P) :
     | ⟨R, p, q, ep, Eq, comm⟩ =>
       let a'' : R ⟶ P := p ≫ a.Hom - q ≫ a'.Hom
       ⟨a'',
-        ⟨show ⟦((p ≫ a.Hom - q ≫ a'.Hom) ≫ f : Over Q)⟧ = ⟦(0 : Q ⟶ Q)⟧ by dsimp at comm;
+        ⟨show ⟦((p ≫ a.Hom - q ≫ a'.Hom) ≫ f : Over Q)⟧ = ⟦(0 : Q ⟶ Q)⟧ by dsimp at comm ;
             simp [sub_eq_zero.2 comm],
           fun Z g hh => by
           obtain ⟨X, p', q', ep', eq', comm'⟩ := Quotient.exact hh
Diff
@@ -312,7 +312,7 @@ theorem pseudoZero_iff {P : C} (a : Over P) : (a : P) = 0 ↔ a.Hom = 0 := by
 
 end Zero
 
-open Pseudoelement
+open scoped Pseudoelement
 
 #print CategoryTheory.Abelian.Pseudoelement.apply_zero /-
 /-- Morphisms map the zero pseudoelement to the zero pseudoelement -/
Diff
@@ -104,12 +104,6 @@ def app {P Q : C} (f : P ⟶ Q) (a : Over P) : Over Q :=
 #align category_theory.abelian.app CategoryTheory.Abelian.app
 -/
 
-/- warning: category_theory.abelian.app_hom -> CategoryTheory.Abelian.app_hom is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {P : C} {Q : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a))) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a)) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a))) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) f)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {P : C} {Q : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a))) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a)) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) f)
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.app_hom CategoryTheory.Abelian.app_homₓ'. -/
 @[simp]
 theorem app_hom {P Q : C} (f : P ⟶ Q) (a : Over P) : (app f a).Hom = a.Hom ≫ f :=
   rfl
@@ -227,12 +221,6 @@ attribute [local instance] hom_to_fun
 
 scoped[Pseudoelement] attribute [instance] CategoryTheory.Abelian.Pseudoelement.homToFun
 
-/- warning: category_theory.abelian.pseudoelement.pseudo_apply_mk -> CategoryTheory.Abelian.Pseudoelement.pseudoApply_mk' is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} {Q : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Eq.{succ (max u2 u1)} (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) Q) (coeFn.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) => (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) -> (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) Q)) (CategoryTheory.Abelian.Pseudoelement.homToFun.{u1, u2} C _inst_1 _inst_2 P Q) f (Quotient.mk'.{succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 P) a)) (Quotient.mk'.{succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 Q) ((fun (a : Type.{u1}) (b : Type.{max u2 u1}) [self : HasLiftT.{succ u1, succ (max u2 u1)} a b] => self.0) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q) (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (HasLiftT.mk.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q) (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (CoeTCₓ.coe.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q) (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (coeBase.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q) (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (CategoryTheory.Over.coeFromHom.{u1, u2} C _inst_1 Q (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)))))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) f)))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} {Q : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Abelian.Pseudoelement.{u1, u2} C _inst_1 _inst_2 Q) (CategoryTheory.Abelian.Pseudoelement.pseudoApply.{u1, u2} C _inst_1 _inst_2 P Q f (Quotient.mk.{max (succ u2) (succ u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 P) a)) (Quotient.mk.{max (succ u2) (succ u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 Q) (CategoryTheory.Over.mk.{u1, u2} C _inst_1 Q (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) f)))
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.pseudo_apply_mk CategoryTheory.Abelian.Pseudoelement.pseudoApply_mk'ₓ'. -/
 theorem pseudoApply_mk' {P Q : C} (f : P ⟶ Q) (a : Over P) : f ⟦a⟧ = ⟦a.Hom ≫ f⟧ :=
   rfl
 #align category_theory.abelian.pseudoelement.pseudo_apply_mk CategoryTheory.Abelian.Pseudoelement.pseudoApply_mk'
@@ -267,9 +255,6 @@ section
 
 attribute [local instance] has_binary_biproducts.of_has_binary_products
 
-/- warning: category_theory.abelian.pseudoelement.pseudo_zero_aux -> CategoryTheory.Abelian.Pseudoelement.pseudoZero_aux is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.pseudo_zero_aux CategoryTheory.Abelian.Pseudoelement.pseudoZero_auxₓ'. -/
 /-- The arrows pseudo-equal to a zero morphism are precisely the zero morphisms -/
 theorem pseudoZero_aux {P : C} (Q : C) (f : Over P) : f ≈ (0 : Q ⟶ P) ↔ f.Hom = 0 :=
   ⟨fun ⟨R, p, q, ep, Eq, comm⟩ => zero_of_epi_comp p (by simp [comm]), fun hf =>
@@ -320,9 +305,6 @@ theorem zero_eq_zero {P Q : C} : ⟦((0 : Q ⟶ P) : Over P)⟧ = (0 : Pseudoele
 #align category_theory.abelian.pseudoelement.zero_eq_zero CategoryTheory.Abelian.Pseudoelement.zero_eq_zero
 -/
 
-/- warning: category_theory.abelian.pseudoelement.pseudo_zero_iff -> CategoryTheory.Abelian.Pseudoelement.pseudoZero_iff is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.pseudo_zero_iff CategoryTheory.Abelian.Pseudoelement.pseudoZero_iffₓ'. -/
 /-- The pseudoelement induced by an arrow is zero precisely when that arrow is zero -/
 theorem pseudoZero_iff {P : C} (a : Over P) : (a : P) = 0 ↔ a.Hom = 0 := by
   rw [← pseudo_zero_aux P a]; exact Quotient.eq'
@@ -566,9 +548,6 @@ section Module
 
 attribute [-instance] hom_to_fun
 
-/- warning: category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal -> CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequal is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequalₓ'. -/
 /-- In the category `Module R`, if `x` and `y` are pseudoequal, then the range of the associated
 morphisms is the same. -/
 theorem ModuleCat.eq_range_of_pseudoequal {R : Type _} [CommRing R] {G : ModuleCat R} {x y : Over G}
Diff
@@ -146,10 +146,8 @@ theorem pseudoEqual_trans {P : C} : Transitive (PseudoEqual P) :=
   fun f g h ⟨R, p, q, ep, Eq, comm⟩ ⟨R', p', q', ep', eq', comm'⟩ =>
   by
   refine' ⟨pullback q p', pullback.fst ≫ p, pullback.snd ≫ q', _, _, _⟩
-  · skip
-    exact epi_comp _ _
-  · skip
-    exact epi_comp _ _
+  · skip; exact epi_comp _ _
+  · skip; exact epi_comp _ _
   ·
     rw [category.assoc, comm, ← category.assoc, pullback.condition, category.assoc, comm',
       category.assoc]
@@ -245,9 +243,7 @@ theorem pseudoApply_mk' {P Q : C} (f : P ⟶ Q) (a : Over P) : f ⟦a⟧ = ⟦a.
     true. -/
 theorem comp_apply {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) (a : P) : (f ≫ g) a = g (f a) :=
   Quotient.inductionOn a fun x =>
-    Quotient.sound <| by
-      unfold app
-      rw [← category.assoc, over.coe_hom]
+    Quotient.sound <| by unfold app; rw [← category.assoc, over.coe_hom]
 #align category_theory.abelian.pseudoelement.comp_apply CategoryTheory.Abelian.Pseudoelement.comp_apply
 -/
 
@@ -328,10 +324,8 @@ theorem zero_eq_zero {P Q : C} : ⟦((0 : Q ⟶ P) : Over P)⟧ = (0 : Pseudoele
 <too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.pseudo_zero_iff CategoryTheory.Abelian.Pseudoelement.pseudoZero_iffₓ'. -/
 /-- The pseudoelement induced by an arrow is zero precisely when that arrow is zero -/
-theorem pseudoZero_iff {P : C} (a : Over P) : (a : P) = 0 ↔ a.Hom = 0 :=
-  by
-  rw [← pseudo_zero_aux P a]
-  exact Quotient.eq'
+theorem pseudoZero_iff {P : C} (a : Over P) : (a : P) = 0 ↔ a.Hom = 0 := by
+  rw [← pseudo_zero_aux P a]; exact Quotient.eq'
 #align category_theory.abelian.pseudoelement.pseudo_zero_iff CategoryTheory.Abelian.Pseudoelement.pseudoZero_iff
 
 end Zero
@@ -341,10 +335,7 @@ open Pseudoelement
 #print CategoryTheory.Abelian.Pseudoelement.apply_zero /-
 /-- Morphisms map the zero pseudoelement to the zero pseudoelement -/
 @[simp]
-theorem apply_zero {P Q : C} (f : P ⟶ Q) : f 0 = 0 :=
-  by
-  rw [pseudo_zero_def, pseudo_apply_mk]
-  simp
+theorem apply_zero {P Q : C} (f : P ⟶ Q) : f 0 = 0 := by rw [pseudo_zero_def, pseudo_apply_mk]; simp
 #align category_theory.abelian.pseudoelement.apply_zero CategoryTheory.Abelian.Pseudoelement.apply_zero
 -/
 
@@ -352,19 +343,14 @@ theorem apply_zero {P Q : C} (f : P ⟶ Q) : f 0 = 0 :=
 /-- The zero morphism maps every pseudoelement to 0. -/
 @[simp]
 theorem zero_apply {P : C} (Q : C) (a : P) : (0 : P ⟶ Q) a = 0 :=
-  Quotient.inductionOn a fun a' =>
-    by
-    rw [pseudo_zero_def, pseudo_apply_mk]
-    simp
+  Quotient.inductionOn a fun a' => by rw [pseudo_zero_def, pseudo_apply_mk]; simp
 #align category_theory.abelian.pseudoelement.zero_apply CategoryTheory.Abelian.Pseudoelement.zero_apply
 -/
 
 #print CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext /-
 /-- An extensionality lemma for being the zero arrow. -/
-theorem zero_morphism_ext {P Q : C} (f : P ⟶ Q) : (∀ a, f a = 0) → f = 0 := fun h =>
-  by
-  rw [← category.id_comp f]
-  exact (pseudo_zero_iff (𝟙 P ≫ f : over Q)).1 (h (𝟙 P))
+theorem zero_morphism_ext {P Q : C} (f : P ⟶ Q) : (∀ a, f a = 0) → f = 0 := fun h => by
+  rw [← category.id_comp f]; exact (pseudo_zero_iff (𝟙 P ≫ f : over Q)).1 (h (𝟙 P))
 #align category_theory.abelian.pseudoelement.zero_morphism_ext CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext
 -/
 
@@ -393,19 +379,14 @@ theorem pseudo_injective_of_mono {P Q : C} (f : P ⟶ Q) [Mono f] : Function.Inj
       have : ⟦(a.Hom ≫ f : Over Q)⟧ = ⟦a'.Hom ≫ f⟧ := by convert ha
       match Quotient.exact this with
       | ⟨R, p, q, ep, Eq, comm⟩ =>
-        ⟨R, p, q, ep, Eq,
-          (cancel_mono f).1 <| by
-            simp only [category.assoc]
-            exact comm⟩
+        ⟨R, p, q, ep, Eq, (cancel_mono f).1 <| by simp only [category.assoc]; exact comm⟩
 #align category_theory.abelian.pseudoelement.pseudo_injective_of_mono CategoryTheory.Abelian.Pseudoelement.pseudo_injective_of_mono
 -/
 
 #print CategoryTheory.Abelian.Pseudoelement.zero_of_map_zero /-
 /-- A morphism that is injective on pseudoelements only maps the zero element to zero. -/
 theorem zero_of_map_zero {P Q : C} (f : P ⟶ Q) : Function.Injective f → ∀ a, f a = 0 → a = 0 :=
-  fun h a ha => by
-  rw [← apply_zero f] at ha
-  exact h ha
+  fun h a ha => by rw [← apply_zero f] at ha; exact h ha
 #align category_theory.abelian.pseudoelement.zero_of_map_zero CategoryTheory.Abelian.Pseudoelement.zero_of_map_zero
 -/
 
@@ -441,16 +422,10 @@ theorem epi_of_pseudo_surjective {P Q : C} (f : P ⟶ Q) : Function.Surjective f
   | ⟨pbar, hpbar⟩ =>
     match Quotient.exists_rep pbar with
     | ⟨p, hp⟩ =>
-      have : ⟦(p.Hom ≫ f : Over Q)⟧ = ⟦𝟙 Q⟧ :=
-        by
-        rw [← hp] at hpbar
-        exact hpbar
+      have : ⟦(p.Hom ≫ f : Over Q)⟧ = ⟦𝟙 Q⟧ := by rw [← hp] at hpbar; exact hpbar
       match Quotient.exact this with
       | ⟨R, x, y, ex, ey, comm⟩ =>
-        @epi_of_epi_fac _ _ _ _ _ (x ≫ p.Hom) f y ey <|
-          by
-          dsimp at comm
-          rw [category.assoc, comm]
+        @epi_of_epi_fac _ _ _ _ _ (x ≫ p.Hom) f y ey <| by dsimp at comm; rw [category.assoc, comm];
           apply category.comp_id
 #align category_theory.abelian.pseudoelement.epi_of_pseudo_surjective CategoryTheory.Abelian.Pseudoelement.epi_of_pseudo_surjective
 -/
@@ -461,9 +436,7 @@ section
 /-- Two morphisms in an exact sequence are exact on pseudoelements. -/
 theorem pseudo_exact_of_exact {P Q R : C} {f : P ⟶ Q} {g : Q ⟶ R} (h : Exact f g) :
     (∀ a, g (f a) = 0) ∧ ∀ b, g b = 0 → ∃ a, f a = b :=
-  ⟨fun a => by
-    rw [← comp_apply, h.w]
-    exact zero_apply _ _, fun b' =>
+  ⟨fun a => by rw [← comp_apply, h.w]; exact zero_apply _ _, fun b' =>
     Quotient.inductionOn b' fun b hb =>
       by
       have hb' : b.Hom ≫ g = 0 := (pseudoZero_iff _).1 hb
@@ -486,9 +459,7 @@ theorem pseudo_exact_of_exact {P Q R : C} {f : P ⟶ Q} {g : Q ⟶ R} (h : Exact
           rw [abelian.image.fac]
         _ = (pullback.snd ≫ c) ≫ kernel.ι (cokernel.π f) := by
           rw [← category.assoc, pullback.condition]
-        _ = pullback.snd ≫ b.hom := by
-          rw [category.assoc]
-          congr
+        _ = pullback.snd ≫ b.hom := by rw [category.assoc]; congr
         ⟩
 #align category_theory.abelian.pseudoelement.pseudo_exact_of_exact CategoryTheory.Abelian.Pseudoelement.pseudo_exact_of_exact
 -/
@@ -523,9 +494,7 @@ theorem exact_of_pseudo_exact {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) :
       obtain ⟨z, hz₁, hz₂⟩ :=
         @pullback.lift' _ _ _ _ _ _ (kernel.ι (cokernel.π f)) (kernel.ι g) _
           (r ≫ a.hom ≫ abelian.factor_thru_image f) q
-          (by
-            simp only [category.assoc, abelian.image.fac]
-            exact comm)
+          (by simp only [category.assoc, abelian.image.fac]; exact comm)
       -- Let's give a name to the second pullback morphism.
       let j : pullback (kernel.ι (cokernel.π f)) (kernel.ι g) ⟶ kernel g := pullback.snd
       -- Since q is an epimorphism, in particular this means that j is an epimorphism.
@@ -554,9 +523,7 @@ theorem sub_of_eq_image {P Q : C} (f : P ⟶ Q) (x y : P) :
     | ⟨R, p, q, ep, Eq, comm⟩ =>
       let a'' : R ⟶ P := p ≫ a.Hom - q ≫ a'.Hom
       ⟨a'',
-        ⟨show ⟦((p ≫ a.Hom - q ≫ a'.Hom) ≫ f : Over Q)⟧ = ⟦(0 : Q ⟶ Q)⟧
-            by
-            dsimp at comm
+        ⟨show ⟦((p ≫ a.Hom - q ≫ a'.Hom) ≫ f : Over Q)⟧ = ⟦(0 : Q ⟶ Q)⟧ by dsimp at comm;
             simp [sub_eq_zero.2 comm],
           fun Z g hh => by
           obtain ⟨X, p', q', ep', eq', comm'⟩ := Quotient.exact hh
@@ -587,9 +554,7 @@ theorem pseudo_pullback {P Q R : C} {f : P ⟶ R} {g : Q ⟶ R} {p : P} {q : Q}
     obtain ⟨Z, a, b, ea, eb, comm⟩ := Quotient.exact h
     obtain ⟨l, hl₁, hl₂⟩ :=
       @pullback.lift' _ _ _ _ _ _ f g _ (a ≫ x.hom) (b ≫ y.hom)
-        (by
-          simp only [category.assoc]
-          exact comm)
+        (by simp only [category.assoc]; exact comm)
     exact
       ⟨l,
         ⟨Quotient.sound ⟨Z, 𝟙 Z, a, by infer_instance, ea, by rwa [category.id_comp]⟩,
Diff
@@ -272,10 +272,7 @@ section
 attribute [local instance] has_binary_biproducts.of_has_binary_products
 
 /- warning: category_theory.abelian.pseudoelement.pseudo_zero_aux -> CategoryTheory.Abelian.Pseudoelement.pseudoZero_aux is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} (Q : C) (f : CategoryTheory.Over.{u1, u2} C _inst_1 P), Iff (HasEquivₓ.Equiv.{succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (setoidHasEquiv.{succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 P)) f ((fun (a : Type.{u1}) (b : Type.{max u2 u1}) [self : HasLiftT.{succ u1, succ (max u2 u1)} a b] => self.0) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Over.{u1, u2} C _inst_1 P) (HasLiftT.mk.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CoeTCₓ.coe.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Over.{u1, u2} C _inst_1 P) (coeBase.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Over.coeFromHom.{u1, u2} C _inst_1 P Q)))) (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) 0 (OfNat.mk.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) 0 (Zero.zero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) Q P)))))) (Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f) (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) 0 (OfNat.mk.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) 0 (Zero.zero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)))))))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} (Q : C) (f : CategoryTheory.Over.{u1, u2} C _inst_1 P), Iff (HasEquiv.Equiv.{max (succ u2) (succ u1), 0} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (instHasEquiv.{max (succ u2) (succ u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 P)) f (CategoryTheory.Over.mk.{u1, u2} C _inst_1 P Q (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) 0 (Zero.toOfNat0.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) Q P))))) (Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f) (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) 0 (Zero.toOfNat0.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.pseudo_zero_aux CategoryTheory.Abelian.Pseudoelement.pseudoZero_auxₓ'. -/
 /-- The arrows pseudo-equal to a zero morphism are precisely the zero morphisms -/
 theorem pseudoZero_aux {P : C} (Q : C) (f : Over P) : f ≈ (0 : Q ⟶ P) ↔ f.Hom = 0 :=
@@ -328,10 +325,7 @@ theorem zero_eq_zero {P Q : C} : ⟦((0 : Q ⟶ P) : Over P)⟧ = (0 : Pseudoele
 -/
 
 /- warning: category_theory.abelian.pseudoelement.pseudo_zero_iff -> CategoryTheory.Abelian.Pseudoelement.pseudoZero_iff is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Iff (Eq.{succ (max u2 u1)} (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) ((fun (a : Type.{max u2 u1}) (b : Type.{max u2 u1}) [self : HasLiftT.{succ (max u2 u1), succ (max u2 u1)} a b] => self.0) (CategoryTheory.Over.{u1, u2} C _inst_1 P) (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) (HasLiftT.mk.{succ (max u2 u1), succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) (CoeTCₓ.coe.{succ (max u2 u1), succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) (coeBase.{succ (max u2 u1), succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) (CategoryTheory.Abelian.Pseudoelement.overToSort.{u1, u2} C _inst_1 _inst_2 P)))) a) (OfNat.ofNat.{max u2 u1} (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) 0 (OfNat.mk.{max u2 u1} (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) 0 (Zero.zero.{max u2 u1} (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) (CategoryTheory.Abelian.Pseudoelement.hasZero.{u1, u2} C _inst_1 _inst_2 P))))) (Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) 0 (OfNat.mk.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) 0 (Zero.zero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)))))))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Iff (Eq.{max (succ u2) (succ u1)} (Quot.{max (succ u2) (succ u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.PseudoEqual.{u1, u2} C _inst_1 P)) (Quot.mk.{max (succ u2) (succ u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.PseudoEqual.{u1, u2} C _inst_1 P) a) (OfNat.ofNat.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.{u1, u2} C _inst_1 _inst_2 P) 0 (Zero.toOfNat0.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.{u1, u2} C _inst_1 _inst_2 P) (CategoryTheory.Abelian.Pseudoelement.hasZero.{u1, u2} C _inst_1 _inst_2 P)))) (Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) 0 (Zero.toOfNat0.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.pseudo_zero_iff CategoryTheory.Abelian.Pseudoelement.pseudoZero_iffₓ'. -/
 /-- The pseudoelement induced by an arrow is zero precisely when that arrow is zero -/
 theorem pseudoZero_iff {P : C} (a : Over P) : (a : P) = 0 ↔ a.Hom = 0 :=
@@ -608,10 +602,7 @@ section Module
 attribute [-instance] hom_to_fun
 
 /- warning: category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal -> CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequal is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} [_inst_4 : CommRing.{u1} R] {G : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)} {x : CategoryTheory.Over.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G} {y : CategoryTheory.Over.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G}, (CategoryTheory.Abelian.PseudoEqual.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G x y) -> (Eq.{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_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)))) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)))) (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_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)))) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)))) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)))) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.hom.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)) (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_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y))) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y))) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y)))) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)))) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y))) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)))) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y))) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y))) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.hom.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y)))
-but is expected to have type
-  forall {R : Type.{u2}} [_inst_4 : CommRing.{u2} R] {G : ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)} {x : CategoryTheory.Over.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G} {y : CategoryTheory.Over.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G}, (CategoryTheory.Abelian.PseudoEqual.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G x y) -> (Eq.{succ u1} (Submodule.{u2, u1} R (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)))) (ModuleCat.isModule.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)))) (LinearMap.range.{u2, u2, u1, u1, u1} R R (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)))) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)))) (ModuleCat.isModule.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.isModule.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)))) (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u2, u1} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (RingHomSurjective.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)) (LinearMap.range.{u2, u2, u1, u1, u1} R R (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (ModuleCat.isAddCommGroup.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y)))) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (ModuleCat.isAddCommGroup.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y)))) (ModuleCat.isModule.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (ModuleCat.isModule.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)))) (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y)) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u2, u1} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y)) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (RingHomSurjective.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequalₓ'. -/
 /-- In the category `Module R`, if `x` and `y` are pseudoequal, then the range of the associated
 morphisms is the same. -/
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 
 ! This file was ported from Lean 3 source module category_theory.abelian.pseudoelements
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.Algebra.Category.Module.EpiMono
 /-!
 # Pseudoelements in abelian categories
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 A *pseudoelement* of an object `X` in an abelian category `C` is an equivalence class of arrows
 ending in `X`, where two arrows are considered equivalent if we can find two epimorphisms with a
 common domain making a commutative square with the two arrows. While the construction shows that
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 
 ! This file was ported from Lean 3 source module category_theory.abelian.pseudoelements
-! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
+! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,9 +15,6 @@ import Mathbin.Algebra.Category.Module.EpiMono
 /-!
 # Pseudoelements in abelian categories
 
-> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
-> Any changes to this file require a corresponding PR to mathlib4.
-
 A *pseudoelement* of an object `X` in an abelian category `C` is an equivalence class of arrows
 ending in `X`, where two arrows are considered equivalent if we can find two epimorphisms with a
 common domain making a commutative square with the two arrows. While the construction shows that
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 
 ! This file was ported from Lean 3 source module category_theory.abelian.pseudoelements
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 781cb2eed038c4caf53bdbd8d20a95e5822d77df
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.Algebra.Category.Module.EpiMono
 /-!
 # Pseudoelements in abelian categories
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 A *pseudoelement* of an object `X` in an abelian category `C` is an equivalence class of arrows
 ending in `X`, where two arrows are considered equivalent if we can find two epimorphisms with a
 common domain making a commutative square with the two arrows. While the construction shows that
Diff
@@ -93,35 +93,50 @@ variable {C : Type u} [Category.{v} C]
 
 attribute [local instance] over.coe_from_hom
 
+#print CategoryTheory.Abelian.app /-
 /-- This is just composition of morphisms in `C`. Another way to express this would be
     `(over.map f).obj a`, but our definition has nicer definitional properties. -/
 def app {P Q : C} (f : P ⟶ Q) (a : Over P) : Over Q :=
   a.Hom ≫ f
 #align category_theory.abelian.app CategoryTheory.Abelian.app
+-/
 
+/- warning: category_theory.abelian.app_hom -> CategoryTheory.Abelian.app_hom is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {P : C} {Q : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a))) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a)) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a))) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) f)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {P : C} {Q : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a))) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a)))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.app.{u1, u2} C _inst_1 P Q f a)) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) f)
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.app_hom CategoryTheory.Abelian.app_homₓ'. -/
 @[simp]
 theorem app_hom {P Q : C} (f : P ⟶ Q) (a : Over P) : (app f a).Hom = a.Hom ≫ f :=
   rfl
 #align category_theory.abelian.app_hom CategoryTheory.Abelian.app_hom
 
+#print CategoryTheory.Abelian.PseudoEqual /-
 /-- Two arrows `f : X ⟶ P` and `g : Y ⟶ P` are called pseudo-equal if there is some object
     `R` and epimorphisms `p : R ⟶ X` and `q : R ⟶ Y` such that `p ≫ f = q ≫ g`. -/
 def PseudoEqual (P : C) (f g : Over P) : Prop :=
   ∃ (R : C)(p : R ⟶ f.1)(q : R ⟶ g.1)(_ : Epi p)(_ : Epi q), p ≫ f.Hom = q ≫ g.Hom
 #align category_theory.abelian.pseudo_equal CategoryTheory.Abelian.PseudoEqual
+-/
 
+#print CategoryTheory.Abelian.pseudoEqual_refl /-
 theorem pseudoEqual_refl {P : C} : Reflexive (PseudoEqual P) := fun f =>
   ⟨f.1, 𝟙 f.1, 𝟙 f.1, by infer_instance, by infer_instance, by simp⟩
 #align category_theory.abelian.pseudo_equal_refl CategoryTheory.Abelian.pseudoEqual_refl
+-/
 
+#print CategoryTheory.Abelian.pseudoEqual_symm /-
 theorem pseudoEqual_symm {P : C} : Symmetric (PseudoEqual P) := fun f g ⟨R, p, q, ep, Eq, comm⟩ =>
   ⟨R, q, p, Eq, ep, comm.symm⟩
 #align category_theory.abelian.pseudo_equal_symm CategoryTheory.Abelian.pseudoEqual_symm
+-/
 
 variable [Abelian.{v} C]
 
 section
 
+#print CategoryTheory.Abelian.pseudoEqual_trans /-
 /-- Pseudoequality is transitive: Just take the pullback. The pullback morphisms will
     be epimorphisms since in an abelian category, pullbacks of epimorphisms are epimorphisms. -/
 theorem pseudoEqual_trans {P : C} : Transitive (PseudoEqual P) :=
@@ -136,68 +151,92 @@ theorem pseudoEqual_trans {P : C} : Transitive (PseudoEqual P) :=
     rw [category.assoc, comm, ← category.assoc, pullback.condition, category.assoc, comm',
       category.assoc]
 #align category_theory.abelian.pseudo_equal_trans CategoryTheory.Abelian.pseudoEqual_trans
+-/
 
 end
 
+#print CategoryTheory.Abelian.Pseudoelement.setoid /-
 /-- The arrows with codomain `P` equipped with the equivalence relation of being pseudo-equal. -/
 def Pseudoelement.setoid (P : C) : Setoid (Over P) :=
   ⟨_, ⟨pseudoEqual_refl, pseudoEqual_symm, pseudoEqual_trans⟩⟩
 #align category_theory.abelian.pseudoelement.setoid CategoryTheory.Abelian.Pseudoelement.setoid
+-/
 
 attribute [local instance] pseudoelement.setoid
 
+#print CategoryTheory.Abelian.Pseudoelement /-
 /-- A `pseudoelement` of `P` is just an equivalence class of arrows ending in `P` by being
     pseudo-equal. -/
 def Pseudoelement (P : C) : Type max u v :=
   Quotient (Pseudoelement.setoid P)
 #align category_theory.abelian.pseudoelement CategoryTheory.Abelian.Pseudoelement
+-/
 
 namespace Pseudoelement
 
+#print CategoryTheory.Abelian.Pseudoelement.objectToSort /-
 /-- A coercion from an object of an abelian category to its pseudoelements. -/
 def objectToSort : CoeSort C (Type max u v) :=
   ⟨fun P => Pseudoelement P⟩
 #align category_theory.abelian.pseudoelement.object_to_sort CategoryTheory.Abelian.Pseudoelement.objectToSort
+-/
 
 attribute [local instance] object_to_sort
 
 scoped[Pseudoelement] attribute [instance] CategoryTheory.Abelian.Pseudoelement.objectToSort
 
+#print CategoryTheory.Abelian.Pseudoelement.overToSort /-
 /-- A coercion from an arrow with codomain `P` to its associated pseudoelement. -/
 def overToSort {P : C} : Coe (Over P) (Pseudoelement P) :=
   ⟨Quot.mk (PseudoEqual P)⟩
 #align category_theory.abelian.pseudoelement.over_to_sort CategoryTheory.Abelian.Pseudoelement.overToSort
+-/
 
 attribute [local instance] over_to_sort
 
+#print CategoryTheory.Abelian.Pseudoelement.over_coe_def /-
 theorem over_coe_def {P Q : C} (a : Q ⟶ P) : (a : Pseudoelement P) = ⟦a⟧ :=
   rfl
 #align category_theory.abelian.pseudoelement.over_coe_def CategoryTheory.Abelian.Pseudoelement.over_coe_def
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.pseudoApply_aux /-
 /-- If two elements are pseudo-equal, then their composition with a morphism is, too. -/
-theorem pseudo_apply_aux {P Q : C} (f : P ⟶ Q) (a b : Over P) : a ≈ b → app f a ≈ app f b :=
+theorem pseudoApply_aux {P Q : C} (f : P ⟶ Q) (a b : Over P) : a ≈ b → app f a ≈ app f b :=
   fun ⟨R, p, q, ep, Eq, comm⟩ =>
   ⟨R, p, q, ep, Eq, show p ≫ a.Hom ≫ f = q ≫ b.Hom ≫ f by rw [reassoc_of comm]⟩
-#align category_theory.abelian.pseudoelement.pseudo_apply_aux CategoryTheory.Abelian.Pseudoelement.pseudo_apply_aux
+#align category_theory.abelian.pseudoelement.pseudo_apply_aux CategoryTheory.Abelian.Pseudoelement.pseudoApply_aux
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.pseudoApply /-
 /-- A morphism `f` induces a function `pseudo_apply f` on pseudoelements. -/
 def pseudoApply {P Q : C} (f : P ⟶ Q) : P → Q :=
-  Quotient.map (fun g : Over P => app f g) (pseudo_apply_aux f)
+  Quotient.map (fun g : Over P => app f g) (pseudoApply_aux f)
 #align category_theory.abelian.pseudoelement.pseudo_apply CategoryTheory.Abelian.Pseudoelement.pseudoApply
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.homToFun /-
 /-- A coercion from morphisms to functions on pseudoelements -/
 def homToFun {P Q : C} : CoeFun (P ⟶ Q) fun _ => P → Q :=
   ⟨pseudoApply⟩
 #align category_theory.abelian.pseudoelement.hom_to_fun CategoryTheory.Abelian.Pseudoelement.homToFun
+-/
 
 attribute [local instance] hom_to_fun
 
 scoped[Pseudoelement] attribute [instance] CategoryTheory.Abelian.Pseudoelement.homToFun
 
-theorem pseudo_apply_mk' {P Q : C} (f : P ⟶ Q) (a : Over P) : f ⟦a⟧ = ⟦a.Hom ≫ f⟧ :=
+/- warning: category_theory.abelian.pseudoelement.pseudo_apply_mk -> CategoryTheory.Abelian.Pseudoelement.pseudoApply_mk' is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} {Q : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Eq.{succ (max u2 u1)} (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) Q) (coeFn.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) (fun (_x : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) => (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) -> (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) Q)) (CategoryTheory.Abelian.Pseudoelement.homToFun.{u1, u2} C _inst_1 _inst_2 P Q) f (Quotient.mk'.{succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 P) a)) (Quotient.mk'.{succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 Q) ((fun (a : Type.{u1}) (b : Type.{max u2 u1}) [self : HasLiftT.{succ u1, succ (max u2 u1)} a b] => self.0) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q) (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (HasLiftT.mk.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q) (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (CoeTCₓ.coe.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q) (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (coeBase.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q) (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (CategoryTheory.Over.coeFromHom.{u1, u2} C _inst_1 Q (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)))))) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) f)))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} {Q : C} (f : Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) P Q) (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Eq.{max (succ u2) (succ u1)} (CategoryTheory.Abelian.Pseudoelement.{u1, u2} C _inst_1 _inst_2 Q) (CategoryTheory.Abelian.Pseudoelement.pseudoApply.{u1, u2} C _inst_1 _inst_2 P Q f (Quotient.mk.{max (succ u2) (succ u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 P) a)) (Quotient.mk.{max (succ u2) (succ u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 Q) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 Q) (CategoryTheory.Over.mk.{u1, u2} C _inst_1 Q (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.CategoryStruct.comp.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) Q (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) f)))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.pseudo_apply_mk CategoryTheory.Abelian.Pseudoelement.pseudoApply_mk'ₓ'. -/
+theorem pseudoApply_mk' {P Q : C} (f : P ⟶ Q) (a : Over P) : f ⟦a⟧ = ⟦a.Hom ≫ f⟧ :=
   rfl
-#align category_theory.abelian.pseudoelement.pseudo_apply_mk CategoryTheory.Abelian.Pseudoelement.pseudo_apply_mk'
+#align category_theory.abelian.pseudoelement.pseudo_apply_mk CategoryTheory.Abelian.Pseudoelement.pseudoApply_mk'
 
+#print CategoryTheory.Abelian.Pseudoelement.comp_apply /-
 /-- Applying a pseudoelement to a composition of morphisms is the same as composing
     with each morphism. Sadly, this is not a definitional equality, but at least it is
     true. -/
@@ -207,11 +246,14 @@ theorem comp_apply {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) (a : P) : (f ≫ g) a
       unfold app
       rw [← category.assoc, over.coe_hom]
 #align category_theory.abelian.pseudoelement.comp_apply CategoryTheory.Abelian.Pseudoelement.comp_apply
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.comp_comp /-
 /-- Composition of functions on pseudoelements is composition of morphisms. -/
 theorem comp_comp {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) : g ∘ f = f ≫ g :=
   funext fun x => (comp_apply _ _ _).symm
 #align category_theory.abelian.pseudoelement.comp_comp CategoryTheory.Abelian.Pseudoelement.comp_comp
+-/
 
 section Zero
 
@@ -226,24 +268,35 @@ section
 
 attribute [local instance] has_binary_biproducts.of_has_binary_products
 
+/- warning: category_theory.abelian.pseudoelement.pseudo_zero_aux -> CategoryTheory.Abelian.Pseudoelement.pseudoZero_aux is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} (Q : C) (f : CategoryTheory.Over.{u1, u2} C _inst_1 P), Iff (HasEquivₓ.Equiv.{succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (setoidHasEquiv.{succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 P)) f ((fun (a : Type.{u1}) (b : Type.{max u2 u1}) [self : HasLiftT.{succ u1, succ (max u2 u1)} a b] => self.0) (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Over.{u1, u2} C _inst_1 P) (HasLiftT.mk.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CoeTCₓ.coe.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Over.{u1, u2} C _inst_1 P) (coeBase.{succ u1, succ (max u2 u1)} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Over.coeFromHom.{u1, u2} C _inst_1 P Q)))) (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) 0 (OfNat.mk.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) 0 (Zero.zero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) Q P)))))) (Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f) (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) 0 (OfNat.mk.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) 0 (Zero.zero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)))))))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} (Q : C) (f : CategoryTheory.Over.{u1, u2} C _inst_1 P), Iff (HasEquiv.Equiv.{max (succ u2) (succ u1), 0} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (instHasEquiv.{max (succ u2) (succ u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.Pseudoelement.setoid.{u1, u2} C _inst_1 _inst_2 P)) f (CategoryTheory.Over.mk.{u1, u2} C _inst_1 P Q (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) 0 (Zero.toOfNat0.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) Q P) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) Q P))))) (Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f) (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) 0 (Zero.toOfNat0.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) f))))))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.pseudo_zero_aux CategoryTheory.Abelian.Pseudoelement.pseudoZero_auxₓ'. -/
 /-- The arrows pseudo-equal to a zero morphism are precisely the zero morphisms -/
-theorem pseudo_zero_aux {P : C} (Q : C) (f : Over P) : f ≈ (0 : Q ⟶ P) ↔ f.Hom = 0 :=
+theorem pseudoZero_aux {P : C} (Q : C) (f : Over P) : f ≈ (0 : Q ⟶ P) ↔ f.Hom = 0 :=
   ⟨fun ⟨R, p, q, ep, Eq, comm⟩ => zero_of_epi_comp p (by simp [comm]), fun hf =>
     ⟨biprod f.1 Q, biprod.fst, biprod.snd, by infer_instance, by infer_instance, by
       rw [hf, over.coe_hom, has_zero_morphisms.comp_zero, has_zero_morphisms.comp_zero]⟩⟩
-#align category_theory.abelian.pseudoelement.pseudo_zero_aux CategoryTheory.Abelian.Pseudoelement.pseudo_zero_aux
+#align category_theory.abelian.pseudoelement.pseudo_zero_aux CategoryTheory.Abelian.Pseudoelement.pseudoZero_aux
 
 end
 
+#print CategoryTheory.Abelian.Pseudoelement.zero_eq_zero' /-
 theorem zero_eq_zero' {P Q R : C} : ⟦((0 : Q ⟶ P) : Over P)⟧ = ⟦((0 : R ⟶ P) : Over P)⟧ :=
-  Quotient.sound <| (pseudo_zero_aux R _).2 rfl
+  Quotient.sound <| (pseudoZero_aux R _).2 rfl
 #align category_theory.abelian.pseudoelement.zero_eq_zero' CategoryTheory.Abelian.Pseudoelement.zero_eq_zero'
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.pseudoZero /-
 /-- The zero pseudoelement is the class of a zero morphism -/
 def pseudoZero {P : C} : P :=
   ⟦(0 : P ⟶ P)⟧
 #align category_theory.abelian.pseudoelement.pseudo_zero CategoryTheory.Abelian.Pseudoelement.pseudoZero
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.hasZero /-
 /-- We can not use `pseudo_zero` as a global `has_zero` instance,
 as it would trigger on any type class search for `has_zero` applied to a `coe_sort`.
 This would be too expensive.
@@ -251,32 +304,44 @@ This would be too expensive.
 def hasZero {P : C} : Zero P :=
   ⟨pseudoZero⟩
 #align category_theory.abelian.pseudoelement.has_zero CategoryTheory.Abelian.Pseudoelement.hasZero
+-/
 
 scoped[Pseudoelement] attribute [instance] CategoryTheory.Abelian.Pseudoelement.hasZero
 
 instance {P : C} : Inhabited (Pseudoelement P) :=
   ⟨0⟩
 
-theorem pseudo_zero_def {P : C} : (0 : Pseudoelement P) = ⟦(0 : P ⟶ P)⟧ :=
+#print CategoryTheory.Abelian.Pseudoelement.pseudoZero_def /-
+theorem pseudoZero_def {P : C} : (0 : Pseudoelement P) = ⟦(0 : P ⟶ P)⟧ :=
   rfl
-#align category_theory.abelian.pseudoelement.pseudo_zero_def CategoryTheory.Abelian.Pseudoelement.pseudo_zero_def
+#align category_theory.abelian.pseudoelement.pseudo_zero_def CategoryTheory.Abelian.Pseudoelement.pseudoZero_def
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.zero_eq_zero /-
 @[simp]
 theorem zero_eq_zero {P Q : C} : ⟦((0 : Q ⟶ P) : Over P)⟧ = (0 : Pseudoelement P) :=
   zero_eq_zero'
 #align category_theory.abelian.pseudoelement.zero_eq_zero CategoryTheory.Abelian.Pseudoelement.zero_eq_zero
+-/
 
+/- warning: category_theory.abelian.pseudoelement.pseudo_zero_iff -> CategoryTheory.Abelian.Pseudoelement.pseudoZero_iff is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Iff (Eq.{succ (max u2 u1)} (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) ((fun (a : Type.{max u2 u1}) (b : Type.{max u2 u1}) [self : HasLiftT.{succ (max u2 u1), succ (max u2 u1)} a b] => self.0) (CategoryTheory.Over.{u1, u2} C _inst_1 P) (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) (HasLiftT.mk.{succ (max u2 u1), succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) (CoeTCₓ.coe.{succ (max u2 u1), succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) (coeBase.{succ (max u2 u1), succ (max u2 u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) (CategoryTheory.Abelian.Pseudoelement.overToSort.{u1, u2} C _inst_1 _inst_2 P)))) a) (OfNat.ofNat.{max u2 u1} (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) 0 (OfNat.mk.{max u2 u1} (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) 0 (Zero.zero.{max u2 u1} (coeSort.{succ u2, succ (succ (max u2 u1))} C Type.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.objectToSort.{u1, u2} C _inst_1 _inst_2) P) (CategoryTheory.Abelian.Pseudoelement.hasZero.{u1, u2} C _inst_1 _inst_2 P))))) (Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) 0 (OfNat.mk.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) 0 (Zero.zero.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) (CategoryTheory.Limits.HasZeroMorphisms.hasZero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (CategoryTheory.Functor.obj.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)))))))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] [_inst_2 : CategoryTheory.Abelian.{u1, u2} C _inst_1] {P : C} (a : CategoryTheory.Over.{u1, u2} C _inst_1 P), Iff (Eq.{max (succ u2) (succ u1)} (Quot.{max (succ u2) (succ u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.PseudoEqual.{u1, u2} C _inst_1 P)) (Quot.mk.{max (succ u2) (succ u1)} (CategoryTheory.Over.{u1, u2} C _inst_1 P) (CategoryTheory.Abelian.PseudoEqual.{u1, u2} C _inst_1 P) a) (OfNat.ofNat.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.{u1, u2} C _inst_1 _inst_2 P) 0 (Zero.toOfNat0.{max u2 u1} (CategoryTheory.Abelian.Pseudoelement.{u1, u2} C _inst_1 _inst_2 P) (CategoryTheory.Abelian.Pseudoelement.hasZero.{u1, u2} C _inst_1 _inst_2 P)))) (Eq.{succ u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) (CategoryTheory.Comma.hom.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a) (OfNat.ofNat.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) 0 (Zero.toOfNat0.{u1} (Quiver.Hom.{succ u1, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))) (CategoryTheory.Limits.HasZeroMorphisms.Zero.{u1, u2} C _inst_1 (CategoryTheory.Preadditive.preadditiveHasZeroMorphisms.{u1, u2} C _inst_1 (CategoryTheory.Abelian.toPreadditive.{u1, u2} C _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u1, u2, u2} C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u2, u2} C _inst_1 C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1)) (CategoryTheory.Comma.left.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a)) (Prefunctor.obj.{succ u1, succ u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) C (CategoryTheory.CategoryStruct.toQuiver.{u1, u2} C (CategoryTheory.Category.toCategoryStruct.{u1, u2} C _inst_1)) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u2} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P)) (CategoryTheory.Comma.right.{u1, u1, u1, u2, u1, u2} C _inst_1 (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) C _inst_1 (CategoryTheory.Functor.id.{u1, u2} C _inst_1) (CategoryTheory.Functor.fromPUnit.{u1, u2} C _inst_1 P) a))))))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.pseudo_zero_iff CategoryTheory.Abelian.Pseudoelement.pseudoZero_iffₓ'. -/
 /-- The pseudoelement induced by an arrow is zero precisely when that arrow is zero -/
-theorem pseudo_zero_iff {P : C} (a : Over P) : (a : P) = 0 ↔ a.Hom = 0 :=
+theorem pseudoZero_iff {P : C} (a : Over P) : (a : P) = 0 ↔ a.Hom = 0 :=
   by
   rw [← pseudo_zero_aux P a]
   exact Quotient.eq'
-#align category_theory.abelian.pseudoelement.pseudo_zero_iff CategoryTheory.Abelian.Pseudoelement.pseudo_zero_iff
+#align category_theory.abelian.pseudoelement.pseudo_zero_iff CategoryTheory.Abelian.Pseudoelement.pseudoZero_iff
 
 end Zero
 
 open Pseudoelement
 
+#print CategoryTheory.Abelian.Pseudoelement.apply_zero /-
 /-- Morphisms map the zero pseudoelement to the zero pseudoelement -/
 @[simp]
 theorem apply_zero {P Q : C} (f : P ⟶ Q) : f 0 = 0 :=
@@ -284,7 +349,9 @@ theorem apply_zero {P Q : C} (f : P ⟶ Q) : f 0 = 0 :=
   rw [pseudo_zero_def, pseudo_apply_mk]
   simp
 #align category_theory.abelian.pseudoelement.apply_zero CategoryTheory.Abelian.Pseudoelement.apply_zero
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.zero_apply /-
 /-- The zero morphism maps every pseudoelement to 0. -/
 @[simp]
 theorem zero_apply {P : C} (Q : C) (a : P) : (0 : P ⟶ Q) a = 0 :=
@@ -293,26 +360,34 @@ theorem zero_apply {P : C} (Q : C) (a : P) : (0 : P ⟶ Q) a = 0 :=
     rw [pseudo_zero_def, pseudo_apply_mk]
     simp
 #align category_theory.abelian.pseudoelement.zero_apply CategoryTheory.Abelian.Pseudoelement.zero_apply
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext /-
 /-- An extensionality lemma for being the zero arrow. -/
 theorem zero_morphism_ext {P Q : C} (f : P ⟶ Q) : (∀ a, f a = 0) → f = 0 := fun h =>
   by
   rw [← category.id_comp f]
   exact (pseudo_zero_iff (𝟙 P ≫ f : over Q)).1 (h (𝟙 P))
 #align category_theory.abelian.pseudoelement.zero_morphism_ext CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext' /-
 theorem zero_morphism_ext' {P Q : C} (f : P ⟶ Q) : (∀ a, f a = 0) → 0 = f :=
   Eq.symm ∘ zero_morphism_ext f
 #align category_theory.abelian.pseudoelement.zero_morphism_ext' CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext'
+-/
 
 scoped[Pseudoelement]
   attribute [ext]
     CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext CategoryTheory.Abelian.Pseudoelement.zero_morphism_ext'
 
+#print CategoryTheory.Abelian.Pseudoelement.eq_zero_iff /-
 theorem eq_zero_iff {P Q : C} (f : P ⟶ Q) : f = 0 ↔ ∀ a, f a = 0 :=
   ⟨fun h a => by simp [h], zero_morphism_ext _⟩
 #align category_theory.abelian.pseudoelement.eq_zero_iff CategoryTheory.Abelian.Pseudoelement.eq_zero_iff
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.pseudo_injective_of_mono /-
 /-- A monomorphism is injective on pseudoelements. -/
 theorem pseudo_injective_of_mono {P Q : C} (f : P ⟶ Q) [Mono f] : Function.Injective f :=
   fun abar abar' =>
@@ -326,23 +401,29 @@ theorem pseudo_injective_of_mono {P Q : C} (f : P ⟶ Q) [Mono f] : Function.Inj
             simp only [category.assoc]
             exact comm⟩
 #align category_theory.abelian.pseudoelement.pseudo_injective_of_mono CategoryTheory.Abelian.Pseudoelement.pseudo_injective_of_mono
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.zero_of_map_zero /-
 /-- A morphism that is injective on pseudoelements only maps the zero element to zero. -/
 theorem zero_of_map_zero {P Q : C} (f : P ⟶ Q) : Function.Injective f → ∀ a, f a = 0 → a = 0 :=
   fun h a ha => by
   rw [← apply_zero f] at ha
   exact h ha
 #align category_theory.abelian.pseudoelement.zero_of_map_zero CategoryTheory.Abelian.Pseudoelement.zero_of_map_zero
+-/
 
+#print CategoryTheory.Abelian.Pseudoelement.mono_of_zero_of_map_zero /-
 /-- A morphism that only maps the zero pseudoelement to zero is a monomorphism. -/
 theorem mono_of_zero_of_map_zero {P Q : C} (f : P ⟶ Q) : (∀ a, f a = 0 → a = 0) → Mono f := fun h =>
   (mono_iff_cancel_zero _).2 fun R g hg =>
-    (pseudo_zero_iff (g : Over P)).1 <|
-      h _ <| show f g = 0 from (pseudo_zero_iff (g ≫ f : Over Q)).2 hg
+    (pseudoZero_iff (g : Over P)).1 <|
+      h _ <| show f g = 0 from (pseudoZero_iff (g ≫ f : Over Q)).2 hg
 #align category_theory.abelian.pseudoelement.mono_of_zero_of_map_zero CategoryTheory.Abelian.Pseudoelement.mono_of_zero_of_map_zero
+-/
 
 section
 
+#print CategoryTheory.Abelian.Pseudoelement.pseudo_surjective_of_epi /-
 /-- An epimorphism is surjective on pseudoelements. -/
 theorem pseudo_surjective_of_epi {P Q : C} (f : P ⟶ Q) [Epi f] : Function.Surjective f :=
   fun qbar =>
@@ -352,9 +433,11 @@ theorem pseudo_surjective_of_epi {P Q : C} (f : P ⟶ Q) [Epi f] : Function.Surj
         ⟨pullback f q.Hom, 𝟙 (pullback f q.Hom), pullback.snd, by infer_instance, by infer_instance,
           by rw [category.id_comp, ← pullback.condition, app_hom, over.coe_hom]⟩⟩
 #align category_theory.abelian.pseudoelement.pseudo_surjective_of_epi CategoryTheory.Abelian.Pseudoelement.pseudo_surjective_of_epi
+-/
 
 end
 
+#print CategoryTheory.Abelian.Pseudoelement.epi_of_pseudo_surjective /-
 /-- A morphism that is surjective on pseudoelements is an epimorphism. -/
 theorem epi_of_pseudo_surjective {P Q : C} (f : P ⟶ Q) : Function.Surjective f → Epi f := fun h =>
   match h (𝟙 Q) with
@@ -373,9 +456,11 @@ theorem epi_of_pseudo_surjective {P Q : C} (f : P ⟶ Q) : Function.Surjective f
           rw [category.assoc, comm]
           apply category.comp_id
 #align category_theory.abelian.pseudoelement.epi_of_pseudo_surjective CategoryTheory.Abelian.Pseudoelement.epi_of_pseudo_surjective
+-/
 
 section
 
+#print CategoryTheory.Abelian.Pseudoelement.pseudo_exact_of_exact /-
 /-- Two morphisms in an exact sequence are exact on pseudoelements. -/
 theorem pseudo_exact_of_exact {P Q R : C} {f : P ⟶ Q} {g : Q ⟶ R} (h : Exact f g) :
     (∀ a, g (f a) = 0) ∧ ∀ b, g b = 0 → ∃ a, f a = b :=
@@ -384,7 +469,7 @@ theorem pseudo_exact_of_exact {P Q R : C} {f : P ⟶ Q} {g : Q ⟶ R} (h : Exact
     exact zero_apply _ _, fun b' =>
     Quotient.inductionOn b' fun b hb =>
       by
-      have hb' : b.Hom ≫ g = 0 := (pseudo_zero_iff _).1 hb
+      have hb' : b.Hom ≫ g = 0 := (pseudoZero_iff _).1 hb
       -- By exactness, b factors through im f = ker g via some c
       obtain ⟨c, hc⟩ := kernel_fork.is_limit.lift' (is_limit_image f g h) _ hb'
       -- We compute the pullback of the map into the image and c.
@@ -409,15 +494,19 @@ theorem pseudo_exact_of_exact {P Q R : C} {f : P ⟶ Q} {g : Q ⟶ R} (h : Exact
           congr
         ⟩
 #align category_theory.abelian.pseudoelement.pseudo_exact_of_exact CategoryTheory.Abelian.Pseudoelement.pseudo_exact_of_exact
+-/
 
 end
 
+#print CategoryTheory.Abelian.Pseudoelement.apply_eq_zero_of_comp_eq_zero /-
 theorem apply_eq_zero_of_comp_eq_zero {P Q R : C} (f : Q ⟶ R) (a : P ⟶ Q) : a ≫ f = 0 → f a = 0 :=
   fun h => by simp [over_coe_def, pseudo_apply_mk, over.coe_hom, h]
 #align category_theory.abelian.pseudoelement.apply_eq_zero_of_comp_eq_zero CategoryTheory.Abelian.Pseudoelement.apply_eq_zero_of_comp_eq_zero
+-/
 
 section
 
+#print CategoryTheory.Abelian.Pseudoelement.exact_of_pseudo_exact /-
 /-- If two morphisms are exact on pseudoelements, they are exact. -/
 theorem exact_of_pseudo_exact {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) :
     ((∀ a, g (f a) = 0) ∧ ∀ b, g b = 0 → ∃ a, f a = b) → Exact f g := fun ⟨h₁, h₂⟩ =>
@@ -453,9 +542,11 @@ theorem exact_of_pseudo_exact {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) :
       rw [(iso.eq_inv_comp (as_iso j)).2 pullback.condition.symm]
       simp only [category.assoc, kernel.condition, has_zero_morphisms.comp_zero]⟩
 #align category_theory.abelian.pseudoelement.exact_of_pseudo_exact CategoryTheory.Abelian.Pseudoelement.exact_of_pseudo_exact
+-/
 
 end
 
+#print CategoryTheory.Abelian.Pseudoelement.sub_of_eq_image /-
 /-- If two pseudoelements `x` and `y` have the same image under some morphism `f`, then we can form
     their "difference" `z`. This pseudoelement has the properties that `f z = 0` and for all
     morphisms `g`, if `g y = 0` then `g z = g x`. -/
@@ -481,9 +572,11 @@ theorem sub_of_eq_image {P Q : C} (f : P ⟶ Q) (x y : P) :
           change app g (a'' : over P) ≈ app g a
           exact ⟨R, 𝟙 R, p, by infer_instance, ep, by simp [sub_eq_add_neg, this]⟩⟩⟩
 #align category_theory.abelian.pseudoelement.sub_of_eq_image CategoryTheory.Abelian.Pseudoelement.sub_of_eq_image
+-/
 
 variable [Limits.HasPullbacks C]
 
+#print CategoryTheory.Abelian.Pseudoelement.pseudo_pullback /-
 /-- If `f : P ⟶ R` and `g : Q ⟶ R` are morphisms and `p : P` and `q : Q` are pseudoelements such
     that `f p = g q`, then there is some `s : pullback f g` such that `fst s = p` and `snd s = q`.
 
@@ -505,14 +598,21 @@ theorem pseudo_pullback {P Q R : C} {f : P ⟶ R} {g : Q ⟶ R} {p : P} {q : Q}
         ⟨Quotient.sound ⟨Z, 𝟙 Z, a, by infer_instance, ea, by rwa [category.id_comp]⟩,
           Quotient.sound ⟨Z, 𝟙 Z, b, by infer_instance, eb, by rwa [category.id_comp]⟩⟩⟩
 #align category_theory.abelian.pseudoelement.pseudo_pullback CategoryTheory.Abelian.Pseudoelement.pseudo_pullback
+-/
 
 section Module
 
 attribute [-instance] hom_to_fun
 
+/- warning: category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal -> CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequal is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} [_inst_4 : CommRing.{u1} R] {G : ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)} {x : CategoryTheory.Over.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G} {y : CategoryTheory.Over.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G}, (CategoryTheory.Abelian.PseudoEqual.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G x y) -> (Eq.{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_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)))) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)))) (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_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)))) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)))) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)))) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.hom.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)) (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_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y))) (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)) (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y))) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y)))) (AddCommGroup.toAddCommMonoid.{u2} (coeSort.{max (succ u1) (succ (succ u2)), succ (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) Type.{u2} (ModuleCat.hasCoeToSort.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x)))) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y))) (ModuleCat.isModule.{u2, u1} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) x))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4)))) (Quiver.Hom.{succ u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)))) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y))) (ModuleCat.linearMapClass.{u1, u2} R (CommRing.toRing.{u1} R _inst_4) (CategoryTheory.Functor.obj.{u2, u2, max u1 (succ u2), max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.left.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y)) (CategoryTheory.Functor.obj.{u2, u2, u2, max u1 (succ u2)} (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) (CategoryTheory.Comma.right.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y))) (RingHomSurjective.ids.{u1} R (Ring.toSemiring.{u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Comma.hom.{u2, u2, u2, max u1 (succ u2), u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Discrete.{u2} PUnit.{succ u2}) (CategoryTheory.discreteCategory.{u2} PUnit.{succ u2}) (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (CategoryTheory.Functor.id.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u2, max u1 (succ u2)} (ModuleCat.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) (ModuleCat.moduleCategory.{u2, u1} R (CommRing.toRing.{u1} R _inst_4)) G) y)))
+but is expected to have type
+  forall {R : Type.{u2}} [_inst_4 : CommRing.{u2} R] {G : ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)} {x : CategoryTheory.Over.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G} {y : CategoryTheory.Over.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G}, (CategoryTheory.Abelian.PseudoEqual.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G x y) -> (Eq.{succ u1} (Submodule.{u2, u1} R (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)))) (ModuleCat.isModule.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)))) (LinearMap.range.{u2, u2, u1, u1, u1} R R (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)))) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.isAddCommGroup.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)))) (ModuleCat.isModule.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.isModule.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)))) (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u2, u1} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x))) (RingHomSurjective.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) x)) (LinearMap.range.{u2, u2, u1, u1, u1} R R (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (ModuleCat.isAddCommGroup.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y)))) (AddCommGroup.toAddCommMonoid.{u1} (ModuleCat.carrier.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (ModuleCat.isAddCommGroup.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y)))) (ModuleCat.isModule.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (ModuleCat.isModule.{u1, u2} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (RingHom.id.{u2} R (Semiring.toNonAssocSemiring.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4)))) (Quiver.Hom.{succ u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y)) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (ModuleCat.instLinearMapClassHomModuleCatToQuiverToCategoryStructModuleCategoryCarrierToSemiringToAddCommMonoidIsAddCommGroupIsModule.{u2, u1} R (CommRing.toRing.{u2} R _inst_4) (Prefunctor.obj.{succ u1, succ u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Comma.left.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y)) (Prefunctor.obj.{succ u1, succ u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.Category.toCategoryStruct.{u1, u1} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}))) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 (succ u1)} (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G)) (CategoryTheory.Comma.right.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y))) (RingHomSurjective.ids.{u2} R (Ring.toSemiring.{u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Comma.hom.{u1, u1, u1, max u2 (succ u1), u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Discrete.{u1} PUnit.{succ u1}) (CategoryTheory.discreteCategory.{u1} PUnit.{succ u1}) (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (CategoryTheory.Functor.id.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4))) (CategoryTheory.Functor.fromPUnit.{u1, max u2 (succ u1)} (ModuleCat.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) (ModuleCat.moduleCategory.{u1, u2} R (CommRing.toRing.{u2} R _inst_4)) G) y)))
+Case conversion may be inaccurate. Consider using '#align category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequalₓ'. -/
 /-- In the category `Module R`, if `x` and `y` are pseudoequal, then the range of the associated
 morphisms is the same. -/
-theorem Module.eq_range_of_pseudoequal {R : Type _} [CommRing R] {G : ModuleCat R} {x y : Over G}
+theorem ModuleCat.eq_range_of_pseudoequal {R : Type _} [CommRing R] {G : ModuleCat R} {x y : Over G}
     (h : PseudoEqual G x y) : x.Hom.range = y.Hom.range :=
   by
   obtain ⟨P, p, q, hp, hq, H⟩ := h
@@ -527,7 +627,7 @@ theorem Module.eq_range_of_pseudoequal {R : Type _} [CommRing R] {G : ModuleCat
     refine' ⟨p a'', _⟩
     rw [← LinearMap.comp_apply, ← ModuleCat.comp_def, H, ModuleCat.comp_def, LinearMap.comp_apply,
       ha'', ha']
-#align category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal CategoryTheory.Abelian.Pseudoelement.Module.eq_range_of_pseudoequal
+#align category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequal
 
 end Module
 
Diff
@@ -419,7 +419,7 @@ theorem apply_eq_zero_of_comp_eq_zero {P Q R : C} (f : Q ⟶ R) (a : P ⟶ Q) :
 section
 
 /-- If two morphisms are exact on pseudoelements, they are exact. -/
-theorem exactOfPseudoExact {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) :
+theorem exact_of_pseudo_exact {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) :
     ((∀ a, g (f a) = 0) ∧ ∀ b, g b = 0 → ∃ a, f a = b) → Exact f g := fun ⟨h₁, h₂⟩ =>
   (Abelian.exact_iff _ _).2
     ⟨zero_morphism_ext _ fun a => by rw [comp_apply, h₁ a],
@@ -452,7 +452,7 @@ theorem exactOfPseudoExact {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) :
       -- are done.
       rw [(iso.eq_inv_comp (as_iso j)).2 pullback.condition.symm]
       simp only [category.assoc, kernel.condition, has_zero_morphisms.comp_zero]⟩
-#align category_theory.abelian.pseudoelement.exact_of_pseudo_exact CategoryTheory.Abelian.Pseudoelement.exactOfPseudoExact
+#align category_theory.abelian.pseudoelement.exact_of_pseudo_exact CategoryTheory.Abelian.Pseudoelement.exact_of_pseudo_exact
 
 end
 
Diff
@@ -419,7 +419,7 @@ theorem apply_eq_zero_of_comp_eq_zero {P Q R : C} (f : Q ⟶ R) (a : P ⟶ Q) :
 section
 
 /-- If two morphisms are exact on pseudoelements, they are exact. -/
-theorem exact_of_pseudo_exact {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) :
+theorem exactOfPseudoExact {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) :
     ((∀ a, g (f a) = 0) ∧ ∀ b, g b = 0 → ∃ a, f a = b) → Exact f g := fun ⟨h₁, h₂⟩ =>
   (Abelian.exact_iff _ _).2
     ⟨zero_morphism_ext _ fun a => by rw [comp_apply, h₁ a],
@@ -452,7 +452,7 @@ theorem exact_of_pseudo_exact {P Q R : C} (f : P ⟶ Q) (g : Q ⟶ R) :
       -- are done.
       rw [(iso.eq_inv_comp (as_iso j)).2 pullback.condition.symm]
       simp only [category.assoc, kernel.condition, has_zero_morphisms.comp_zero]⟩
-#align category_theory.abelian.pseudoelement.exact_of_pseudo_exact CategoryTheory.Abelian.Pseudoelement.exact_of_pseudo_exact
+#align category_theory.abelian.pseudoelement.exact_of_pseudo_exact CategoryTheory.Abelian.Pseudoelement.exactOfPseudoExact
 
 end
 

Changes in mathlib4

mathlib3
mathlib4
chore: prepare Lean version bump with explicit simp (#10999)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -442,7 +442,7 @@ theorem sub_of_eq_image {P Q : C} (f : P ⟶ Q) (x y : P) :
       ⟨a'',
         ⟨show ⟦(a'' ≫ f : Over Q)⟧ = ⟦↑(0 : Q ⟶ Q)⟧ by
             dsimp at comm
-            simp [sub_eq_zero.2 comm],
+            simp [a'', sub_eq_zero.2 comm],
           fun Z g hh => by
           obtain ⟨X, p', q', ep', _, comm'⟩ := Quotient.exact hh
           have : a'.hom ≫ g = 0 := by
@@ -451,7 +451,7 @@ theorem sub_of_eq_image {P Q : C} (f : P ⟶ Q) (x y : P) :
           apply Quotient.sound
           -- Can we prevent quotient.sound from giving us this weird `coe_b` thingy?
           change app g (a'' : Over P) ≈ app g a
-          exact ⟨R, 𝟙 R, p, inferInstance, ep, by simp [sub_eq_add_neg, this]⟩⟩⟩
+          exact ⟨R, 𝟙 R, p, inferInstance, ep, by simp [a'', sub_eq_add_neg, this]⟩⟩⟩
 #align category_theory.abelian.pseudoelement.sub_of_eq_image CategoryTheory.Abelian.Pseudoelement.sub_of_eq_image
 
 variable [Limits.HasPullbacks C]
refactor: create folder CategoryTheory/Comma (#10108)
Diff
@@ -5,7 +5,7 @@ Authors: Markus Himmel
 -/
 import Mathlib.Init.Align
 import Mathlib.CategoryTheory.Abelian.Exact
-import Mathlib.CategoryTheory.Over
+import Mathlib.CategoryTheory.Comma.Over
 import Mathlib.Algebra.Category.ModuleCat.EpiMono
 
 #align_import category_theory.abelian.pseudoelements from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
Revert "chore: revert #7703 (#7710)"

This reverts commit f3695eb2.

Diff
@@ -484,12 +484,14 @@ theorem ModuleCat.eq_range_of_pseudoequal {R : Type*} [CommRing R] {G : ModuleCa
   · obtain ⟨a', ha'⟩ := ha
     obtain ⟨a'', ha''⟩ := (ModuleCat.epi_iff_surjective p).1 hp a'
     refine' ⟨q a'', _⟩
-    rw [← LinearMap.comp_apply, ← ModuleCat.comp_def, ← H, ModuleCat.comp_def, LinearMap.comp_apply,
-      ha'', ha']
+    -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+    erw [← LinearMap.comp_apply, ← ModuleCat.comp_def, ← H,
+      ModuleCat.comp_def, LinearMap.comp_apply, ha'', ha']
   · obtain ⟨a', ha'⟩ := ha
     obtain ⟨a'', ha''⟩ := (ModuleCat.epi_iff_surjective q).1 hq a'
     refine' ⟨p a'', _⟩
-    rw [← LinearMap.comp_apply, ← ModuleCat.comp_def, H, ModuleCat.comp_def, LinearMap.comp_apply,
+    -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+    erw [← LinearMap.comp_apply, ← ModuleCat.comp_def, H, ModuleCat.comp_def, LinearMap.comp_apply,
       ha'', ha']
 set_option linter.uppercaseLean3 false in
 #align category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequal
chore: revert #7703 (#7710)

This reverts commit 26eb2b0a.

Diff
@@ -484,14 +484,12 @@ theorem ModuleCat.eq_range_of_pseudoequal {R : Type*} [CommRing R] {G : ModuleCa
   · obtain ⟨a', ha'⟩ := ha
     obtain ⟨a'', ha''⟩ := (ModuleCat.epi_iff_surjective p).1 hp a'
     refine' ⟨q a'', _⟩
-    -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
-    erw [← LinearMap.comp_apply, ← ModuleCat.comp_def, ← H,
-      ModuleCat.comp_def, LinearMap.comp_apply, ha'', ha']
+    rw [← LinearMap.comp_apply, ← ModuleCat.comp_def, ← H, ModuleCat.comp_def, LinearMap.comp_apply,
+      ha'', ha']
   · obtain ⟨a', ha'⟩ := ha
     obtain ⟨a'', ha''⟩ := (ModuleCat.epi_iff_surjective q).1 hq a'
     refine' ⟨p a'', _⟩
-    -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
-    erw [← LinearMap.comp_apply, ← ModuleCat.comp_def, H, ModuleCat.comp_def, LinearMap.comp_apply,
+    rw [← LinearMap.comp_apply, ← ModuleCat.comp_def, H, ModuleCat.comp_def, LinearMap.comp_apply,
       ha'', ha']
 set_option linter.uppercaseLean3 false in
 #align category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequal
chore: bump toolchain to v4.2.0-rc2 (#7703)

This includes all the changes from #7606.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -484,12 +484,14 @@ theorem ModuleCat.eq_range_of_pseudoequal {R : Type*} [CommRing R] {G : ModuleCa
   · obtain ⟨a', ha'⟩ := ha
     obtain ⟨a'', ha''⟩ := (ModuleCat.epi_iff_surjective p).1 hp a'
     refine' ⟨q a'', _⟩
-    rw [← LinearMap.comp_apply, ← ModuleCat.comp_def, ← H, ModuleCat.comp_def, LinearMap.comp_apply,
-      ha'', ha']
+    -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+    erw [← LinearMap.comp_apply, ← ModuleCat.comp_def, ← H,
+      ModuleCat.comp_def, LinearMap.comp_apply, ha'', ha']
   · obtain ⟨a', ha'⟩ := ha
     obtain ⟨a'', ha''⟩ := (ModuleCat.epi_iff_surjective q).1 hq a'
     refine' ⟨p a'', _⟩
-    rw [← LinearMap.comp_apply, ← ModuleCat.comp_def, H, ModuleCat.comp_def, LinearMap.comp_apply,
+    -- This used to be `rw`, but we need `erw` after leanprover/lean4#2644
+    erw [← LinearMap.comp_apply, ← ModuleCat.comp_def, H, ModuleCat.comp_def, LinearMap.comp_apply,
       ha'', ha']
 set_option linter.uppercaseLean3 false in
 #align category_theory.abelian.pseudoelement.Module.eq_range_of_pseudoequal CategoryTheory.Abelian.Pseudoelement.ModuleCat.eq_range_of_pseudoequal
chore: tidy various files (#7132)
Diff
@@ -460,7 +460,7 @@ variable [Limits.HasPullbacks C]
     that `f p = g q`, then there is some `s : pullback f g` such that `fst s = p` and `snd s = q`.
 
     Remark: Borceux claims that `s` is unique, but this is false. See
-    `Counterexamples/Pseudoelement` for details. -/
+    `Counterexamples/Pseudoelement.lean` for details. -/
 theorem pseudo_pullback {P Q R : C} {f : P ⟶ R} {g : Q ⟶ R} {p : P} {q : Q} :
     f p = g q →
       ∃ s, (pullback.fst : pullback f g ⟶ P) s = p ∧ (pullback.snd : pullback f g ⟶ Q) s = q :=
fix: reduce imports for scripts (#6716)

As noted on Zulip, a from-scratch build of mathlib after lake exe cache get will compile all of Std due to some unnecessary imports. With a few well chosen import reductions we only end up having to compile ~20 files instead of ~300 files (compile meaning Compiling, generating the arch-dependent .o files that are not in the cache).

Diff
@@ -3,6 +3,7 @@ Copyright (c) 2020 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
 -/
+import Mathlib.Init.Align
 import Mathlib.CategoryTheory.Abelian.Exact
 import Mathlib.CategoryTheory.Over
 import Mathlib.Algebra.Category.ModuleCat.EpiMono
chore: fix doc-strings about (c vs C)ounterexamples (#6691)

This PR just touches doc-strings. It fixes capitalization issues involving Counterexamples and adds a missing line-break for better display.

Diff
@@ -459,7 +459,7 @@ variable [Limits.HasPullbacks C]
     that `f p = g q`, then there is some `s : pullback f g` such that `fst s = p` and `snd s = q`.
 
     Remark: Borceux claims that `s` is unique, but this is false. See
-    `counterexamples/pseudoelement` for details. -/
+    `Counterexamples/Pseudoelement` for details. -/
 theorem pseudo_pullback {P Q R : C} {f : P ⟶ R} {g : Q ⟶ R} {p : P} {q : Q} :
     f p = g q →
       ∃ s, (pullback.fst : pullback f g ⟶ P) s = p ∧ (pullback.snd : pullback f g ⟶ Q) s = q :=
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -476,7 +476,7 @@ section Module
 
 /-- In the category `Module R`, if `x` and `y` are pseudoequal, then the range of the associated
 morphisms is the same. -/
-theorem ModuleCat.eq_range_of_pseudoequal {R : Type _} [CommRing R] {G : ModuleCat R} {x y : Over G}
+theorem ModuleCat.eq_range_of_pseudoequal {R : Type*} [CommRing R] {G : ModuleCat R} {x y : Over G}
     (h : PseudoEqual G x y) : LinearMap.range x.hom = LinearMap.range y.hom := by
   obtain ⟨P, p, q, hp, hq, H⟩ := h
   refine' Submodule.ext fun a => ⟨fun ha => _, fun ha => _⟩
chore: fix grammar mistakes (#6121)
Diff
@@ -234,7 +234,7 @@ def pseudoZero {P : C} : P :=
 #align category_theory.abelian.pseudoelement.pseudo_zero CategoryTheory.Abelian.Pseudoelement.pseudoZero
 
 -- Porting note: in mathlib3, we couldn't make this an instance
--- as it would have fired on on `coe_sort`.
+-- as it would have fired on `coe_sort`.
 -- However now that coercions are treated differently, this is a structural instance triggered by
 -- the appearance of `Pseudoelement`.
 instance hasZero {P : C} : Zero P :=
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,16 +2,13 @@
 Copyright (c) 2020 Markus Himmel. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Markus Himmel
-
-! This file was ported from Lean 3 source module category_theory.abelian.pseudoelements
-! 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.CategoryTheory.Abelian.Exact
 import Mathlib.CategoryTheory.Over
 import Mathlib.Algebra.Category.ModuleCat.EpiMono
 
+#align_import category_theory.abelian.pseudoelements from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
 /-!
 # Pseudoelements in abelian categories
 
feat: port CategoryTheory.Abelian.Pseudoelements (#3843)

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>

Dependencies 8 + 523

524 files ported (98.5%)
203770 lines ported (98.5%)
Show graph

The unported dependencies are