linear_algebra.projective_space.basicMathlib.LinearAlgebra.Projectivization.Basic

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -137,7 +137,7 @@ theorem mk_eq_mk_iff' (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
   rw [mk_eq_mk_iff K v w hv hw]
   constructor
   · rintro ⟨a, ha⟩; exact ⟨a, ha⟩
-  · rintro ⟨a, ha⟩; refine' ⟨Units.mk0 a fun c => hv.symm _, ha⟩; rwa [c, zero_smul] at ha 
+  · rintro ⟨a, ha⟩; refine' ⟨Units.mk0 a fun c => hv.symm _, ha⟩; rwa [c, zero_smul] at ha
 #align projectivization.mk_eq_mk_iff' Projectivization.mk_eq_mk_iff'
 -/
 
@@ -186,8 +186,8 @@ theorem submodule_injective :
     Function.Injective (Projectivization.submodule : ℙ K V → Submodule K V) :=
   by
   intro u v h; replace h := le_of_eq h
-  simp only [submodule_eq] at h 
-  rw [Submodule.le_span_singleton_iff] at h 
+  simp only [submodule_eq] at h
+  rw [Submodule.le_span_singleton_iff] at h
   rw [← mk_rep v, ← mk_rep u]
   apply Quotient.sound'
   obtain ⟨a, ha⟩ := h u.rep (Submodule.mem_span_singleton_self _)
@@ -205,10 +205,10 @@ noncomputable def equivSubmodule : ℙ K V ≃ { H : Submodule K V // finrank K
   Equiv.ofBijective (fun v => ⟨v.Submodule, v.finrank_submodule⟩)
     (by
       constructor
-      · intro u v h; apply_fun fun e => e.val at h 
+      · intro u v h; apply_fun fun e => e.val at h
         apply submodule_injective h
       · rintro ⟨H, h⟩
-        rw [finrank_eq_one_iff'] at h 
+        rw [finrank_eq_one_iff'] at h
         obtain ⟨v, hv, h⟩ := h
         have : (v : V) ≠ 0 := fun c => hv (Subtype.coe_injective c)
         use mk K v this
@@ -275,14 +275,14 @@ theorem map_injective {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] (
   intro u v h
   rw [← u.mk_rep, ← v.mk_rep] at *
   apply Quotient.sound'
-  dsimp [map, mk] at h 
-  simp only [Quotient.eq''] at h 
+  dsimp [map, mk] at h
+  simp only [Quotient.eq''] at h
   obtain ⟨a, ha⟩ := h
   use Units.map τ.to_monoid_hom a
   dsimp at ha ⊢
   have : (a : L) = σ (τ a) := by rw [RingHomInvPair.comp_apply_eq₂]
-  change (a : L) • f v.rep = f u.rep at ha 
-  rw [this, ← f.map_smulₛₗ] at ha 
+  change (a : L) • f v.rep = f u.rep at ha
+  rw [this, ← f.map_smulₛₗ] at ha
   exact hf ha
 #align projectivization.map_injective Projectivization.map_injective
 -/
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
 -/
-import Mathbin.LinearAlgebra.FiniteDimensional
+import LinearAlgebra.FiniteDimensional
 
 #align_import linear_algebra.projective_space.basic from "leanprover-community/mathlib"@"ef55335933293309ff8c0b1d20ffffeecbe5c39f"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
-
-! This file was ported from Lean 3 source module linear_algebra.projective_space.basic
-! leanprover-community/mathlib commit ef55335933293309ff8c0b1d20ffffeecbe5c39f
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.LinearAlgebra.FiniteDimensional
 
+#align_import linear_algebra.projective_space.basic from "leanprover-community/mathlib"@"ef55335933293309ff8c0b1d20ffffeecbe5c39f"
+
 /-!
 
 # Projective Spaces
Diff
@@ -41,10 +41,12 @@ We have three ways to construct terms of `ℙ K V`:
 
 variable (K V : Type _) [DivisionRing K] [AddCommGroup V] [Module K V]
 
+#print projectivizationSetoid /-
 /-- The setoid whose quotient is the projectivization of `V`. -/
 def projectivizationSetoid : Setoid { v : V // v ≠ 0 } :=
   (MulAction.orbitRel Kˣ V).comap coe
 #align projectivization_setoid projectivizationSetoid
+-/
 
 #print Projectivization /-
 /-- The projectivization of the `K`-vector space `V`.
@@ -55,27 +57,32 @@ def Projectivization :=
 #align projectivization Projectivization
 -/
 
--- mathport name: exprℙ
 notation "ℙ" => Projectivization
 
 namespace Projectivization
 
 variable {V}
 
+#print Projectivization.mk /-
 /-- Construct an element of the projectivization from a nonzero vector. -/
 def mk (v : V) (hv : v ≠ 0) : ℙ K V :=
   Quotient.mk'' ⟨v, hv⟩
 #align projectivization.mk Projectivization.mk
+-/
 
+#print Projectivization.mk' /-
 /-- A variant of `projectivization.mk` in terms of a subtype. `mk` is preferred. -/
 def mk' (v : { v : V // v ≠ 0 }) : ℙ K V :=
   Quotient.mk'' v
 #align projectivization.mk' Projectivization.mk'
+-/
 
+#print Projectivization.mk'_eq_mk /-
 @[simp]
 theorem mk'_eq_mk (v : { v : V // v ≠ 0 }) : mk' K v = mk K v v.2 := by dsimp [mk, mk']; congr 1;
   simp
 #align projectivization.mk'_eq_mk Projectivization.mk'_eq_mk
+-/
 
 instance [Nontrivial V] : Nonempty (ℙ K V) :=
   let ⟨v, hv⟩ := exists_ne (0 : V)
@@ -90,14 +97,18 @@ protected noncomputable def rep (v : ℙ K V) : V :=
 #align projectivization.rep Projectivization.rep
 -/
 
+#print Projectivization.rep_nonzero /-
 theorem rep_nonzero (v : ℙ K V) : v.rep ≠ 0 :=
   v.out'.2
 #align projectivization.rep_nonzero Projectivization.rep_nonzero
+-/
 
+#print Projectivization.mk_rep /-
 @[simp]
 theorem mk_rep (v : ℙ K V) : mk K v.rep v.rep_nonzero = v := by dsimp [mk, Projectivization.rep];
   simp
 #align projectivization.mk_rep Projectivization.mk_rep
+-/
 
 open FiniteDimensional
 
@@ -113,11 +124,14 @@ protected def submodule (v : ℙ K V) : Submodule K V :=
 
 variable (K)
 
+#print Projectivization.mk_eq_mk_iff /-
 theorem mk_eq_mk_iff (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
     mk K v hv = mk K w hw ↔ ∃ a : Kˣ, a • w = v :=
   Quotient.eq''
 #align projectivization.mk_eq_mk_iff Projectivization.mk_eq_mk_iff
+-/
 
+#print Projectivization.mk_eq_mk_iff' /-
 /-- Two nonzero vectors go to the same point in projective space if and only if one is
 a scalar multiple of the other. -/
 theorem mk_eq_mk_iff' (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
@@ -128,33 +142,44 @@ theorem mk_eq_mk_iff' (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
   · rintro ⟨a, ha⟩; exact ⟨a, ha⟩
   · rintro ⟨a, ha⟩; refine' ⟨Units.mk0 a fun c => hv.symm _, ha⟩; rwa [c, zero_smul] at ha 
 #align projectivization.mk_eq_mk_iff' Projectivization.mk_eq_mk_iff'
+-/
 
+#print Projectivization.exists_smul_eq_mk_rep /-
 theorem exists_smul_eq_mk_rep (v : V) (hv : v ≠ 0) : ∃ a : Kˣ, a • v = (mk K v hv).rep :=
   show (projectivizationSetoid K V).Rel _ _ from Quotient.mk_out' ⟨v, hv⟩
 #align projectivization.exists_smul_eq_mk_rep Projectivization.exists_smul_eq_mk_rep
+-/
 
 variable {K}
 
+#print Projectivization.ind /-
 /-- An induction principle for `projectivization`.
 Use as `induction v using projectivization.ind`. -/
 @[elab_as_elim]
 theorem ind {P : ℙ K V → Prop} (h : ∀ (v : V) (h : v ≠ 0), P (mk K v h)) : ∀ p, P p :=
   Quotient.ind' <| Subtype.rec <| h
 #align projectivization.ind Projectivization.ind
+-/
 
+#print Projectivization.submodule_mk /-
 @[simp]
 theorem submodule_mk (v : V) (hv : v ≠ 0) : (mk K v hv).Submodule = K ∙ v :=
   rfl
 #align projectivization.submodule_mk Projectivization.submodule_mk
+-/
 
+#print Projectivization.submodule_eq /-
 theorem submodule_eq (v : ℙ K V) : v.Submodule = K ∙ v.rep := by conv_lhs => rw [← v.mk_rep]; rfl
 #align projectivization.submodule_eq Projectivization.submodule_eq
+-/
 
+#print Projectivization.finrank_submodule /-
 theorem finrank_submodule (v : ℙ K V) : finrank K v.Submodule = 1 :=
   by
   rw [submodule_eq]
   exact finrank_span_singleton v.rep_nonzero
 #align projectivization.finrank_submodule Projectivization.finrank_submodule
+-/
 
 instance (v : ℙ K V) : FiniteDimensional K v.Submodule := by rw [← v.mk_rep];
   change FiniteDimensional K (K ∙ v.rep); infer_instance
@@ -211,6 +236,7 @@ noncomputable def mk'' (H : Submodule K V) (h : finrank K H = 1) : ℙ K V :=
 #align projectivization.mk'' Projectivization.mk''
 -/
 
+#print Projectivization.submodule_mk'' /-
 @[simp]
 theorem submodule_mk'' (H : Submodule K V) (h : finrank K H = 1) : (mk'' H h).Submodule = H :=
   by
@@ -218,16 +244,20 @@ theorem submodule_mk'' (H : Submodule K V) (h : finrank K H = 1) : (mk'' H h).Su
   dsimp [mk'']
   simp
 #align projectivization.submodule_mk'' Projectivization.submodule_mk''
+-/
 
+#print Projectivization.mk''_submodule /-
 @[simp]
 theorem mk''_submodule (v : ℙ K V) : mk'' v.Submodule v.finrank_submodule = v :=
   show (equivSubmodule K V).symm (equivSubmodule K V _) = _ by simp
 #align projectivization.mk''_submodule Projectivization.mk''_submodule
+-/
 
 section Map
 
 variable {L W : Type _} [DivisionRing L] [AddCommGroup W] [Module L W]
 
+#print Projectivization.map /-
 /-- An injective semilinear map of vector spaces induces a map on projective spaces. -/
 def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : ℙ K V → ℙ L W :=
   Quotient.map' (fun v => ⟨f v, fun c => v.2 (hf (by simp [c]))⟩)
@@ -237,7 +267,9 @@ def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : 
       dsimp at ha ⊢
       erw [← f.map_smulₛₗ, ha])
 #align projectivization.map Projectivization.map
+-/
 
+#print Projectivization.map_injective /-
 /-- Mapping with respect to a semilinear map over an isomorphism of fields yields
 an injective map on projective spaces. -/
 theorem map_injective {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] (f : V →ₛₗ[σ] W)
@@ -256,6 +288,7 @@ theorem map_injective {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] (
   rw [this, ← f.map_smulₛₗ] at ha 
   exact hf ha
 #align projectivization.map_injective Projectivization.map_injective
+-/
 
 #print Projectivization.map_id /-
 @[simp]
@@ -264,6 +297,7 @@ theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).Injec
 #align projectivization.map_id Projectivization.map_id
 -/
 
+#print Projectivization.map_comp /-
 @[simp]
 theorem map_comp {F U : Type _} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
     {γ : K →+* F} [RingHomCompTriple σ τ γ] (f : V →ₛₗ[σ] W) (hf : Function.Injective f)
@@ -271,6 +305,7 @@ theorem map_comp {F U : Type _} [Field F] [AddCommGroup U] [Module F U] {σ : K
     map (g.comp f) (hg.comp hf) = map g hg ∘ map f hf := by ext v;
   induction v using Projectivization.ind; rfl
 #align projectivization.map_comp Projectivization.map_comp
+-/
 
 end Map
 
Diff
@@ -183,7 +183,7 @@ noncomputable def equivSubmodule : ℙ K V ≃ { H : Submodule K V // finrank K
   Equiv.ofBijective (fun v => ⟨v.Submodule, v.finrank_submodule⟩)
     (by
       constructor
-      · intro u v h; apply_fun fun e => e.val  at h 
+      · intro u v h; apply_fun fun e => e.val at h 
         apply submodule_injective h
       · rintro ⟨H, h⟩
         rw [finrank_eq_one_iff'] at h 
Diff
@@ -126,7 +126,7 @@ theorem mk_eq_mk_iff' (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
   rw [mk_eq_mk_iff K v w hv hw]
   constructor
   · rintro ⟨a, ha⟩; exact ⟨a, ha⟩
-  · rintro ⟨a, ha⟩; refine' ⟨Units.mk0 a fun c => hv.symm _, ha⟩; rwa [c, zero_smul] at ha
+  · rintro ⟨a, ha⟩; refine' ⟨Units.mk0 a fun c => hv.symm _, ha⟩; rwa [c, zero_smul] at ha 
 #align projectivization.mk_eq_mk_iff' Projectivization.mk_eq_mk_iff'
 
 theorem exists_smul_eq_mk_rep (v : V) (hv : v ≠ 0) : ∃ a : Kˣ, a • v = (mk K v hv).rep :=
@@ -164,8 +164,8 @@ theorem submodule_injective :
     Function.Injective (Projectivization.submodule : ℙ K V → Submodule K V) :=
   by
   intro u v h; replace h := le_of_eq h
-  simp only [submodule_eq] at h
-  rw [Submodule.le_span_singleton_iff] at h
+  simp only [submodule_eq] at h 
+  rw [Submodule.le_span_singleton_iff] at h 
   rw [← mk_rep v, ← mk_rep u]
   apply Quotient.sound'
   obtain ⟨a, ha⟩ := h u.rep (Submodule.mem_span_singleton_self _)
@@ -183,10 +183,10 @@ noncomputable def equivSubmodule : ℙ K V ≃ { H : Submodule K V // finrank K
   Equiv.ofBijective (fun v => ⟨v.Submodule, v.finrank_submodule⟩)
     (by
       constructor
-      · intro u v h; apply_fun fun e => e.val  at h
+      · intro u v h; apply_fun fun e => e.val  at h 
         apply submodule_injective h
       · rintro ⟨H, h⟩
-        rw [finrank_eq_one_iff'] at h
+        rw [finrank_eq_one_iff'] at h 
         obtain ⟨v, hv, h⟩ := h
         have : (v : V) ≠ 0 := fun c => hv (Subtype.coe_injective c)
         use mk K v this
@@ -234,7 +234,7 @@ def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : 
     (by
       rintro ⟨u, hu⟩ ⟨v, hv⟩ ⟨a, ha⟩
       use Units.map σ.to_monoid_hom a
-      dsimp at ha⊢
+      dsimp at ha ⊢
       erw [← f.map_smulₛₗ, ha])
 #align projectivization.map Projectivization.map
 
@@ -246,14 +246,14 @@ theorem map_injective {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] (
   intro u v h
   rw [← u.mk_rep, ← v.mk_rep] at *
   apply Quotient.sound'
-  dsimp [map, mk] at h
-  simp only [Quotient.eq''] at h
+  dsimp [map, mk] at h 
+  simp only [Quotient.eq''] at h 
   obtain ⟨a, ha⟩ := h
   use Units.map τ.to_monoid_hom a
-  dsimp at ha⊢
+  dsimp at ha ⊢
   have : (a : L) = σ (τ a) := by rw [RingHomInvPair.comp_apply_eq₂]
-  change (a : L) • f v.rep = f u.rep at ha
-  rw [this, ← f.map_smulₛₗ] at ha
+  change (a : L) • f v.rep = f u.rep at ha 
+  rw [this, ← f.map_smulₛₗ] at ha 
   exact hf ha
 #align projectivization.map_injective Projectivization.map_injective
 
Diff
@@ -41,12 +41,6 @@ We have three ways to construct terms of `ℙ K V`:
 
 variable (K V : Type _) [DivisionRing K] [AddCommGroup V] [Module K V]
 
-/- warning: projectivization_setoid -> projectivizationSetoid is a dubious translation:
-lean 3 declaration is
-  forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Setoid.{succ u2} (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))))
-but is expected to have type
-  forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Setoid.{succ u2} (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))))
-Case conversion may be inaccurate. Consider using '#align projectivization_setoid projectivizationSetoidₓ'. -/
 /-- The setoid whose quotient is the projectivization of `V`. -/
 def projectivizationSetoid : Setoid { v : V // v ≠ 0 } :=
   (MulAction.orbitRel Kˣ V).comap coe
@@ -68,34 +62,16 @@ namespace Projectivization
 
 variable {V}
 
-/- warning: projectivization.mk -> Projectivization.mk is a dubious translation:
-lean 3 declaration is
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3)
-but is expected to have type
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align projectivization.mk Projectivization.mkₓ'. -/
 /-- Construct an element of the projectivization from a nonzero vector. -/
 def mk (v : V) (hv : v ≠ 0) : ℙ K V :=
   Quotient.mk'' ⟨v, hv⟩
 #align projectivization.mk Projectivization.mk
 
-/- warning: projectivization.mk' -> Projectivization.mk' is a dubious translation:
-lean 3 declaration is
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3)
-but is expected to have type
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))))))) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align projectivization.mk' Projectivization.mk'ₓ'. -/
 /-- A variant of `projectivization.mk` in terms of a subtype. `mk` is preferred. -/
 def mk' (v : { v : V // v ≠ 0 }) : ℙ K V :=
   Quotient.mk'' v
 #align projectivization.mk' Projectivization.mk'
 
-/- warning: projectivization.mk'_eq_mk -> Projectivization.mk'_eq_mk is a dubious translation:
-lean 3 declaration is
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))), Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk'.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))) V (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))) V (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))) V (coeBase.{succ u2, succ u2} (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))) V (coeSubtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))))))) v) (Subtype.property.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) v))
-but is expected to have type
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))))))), Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk'.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Subtype.val.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) v) (Subtype.property.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) v))
-Case conversion may be inaccurate. Consider using '#align projectivization.mk'_eq_mk Projectivization.mk'_eq_mkₓ'. -/
 @[simp]
 theorem mk'_eq_mk (v : { v : V // v ≠ 0 }) : mk' K v = mk K v v.2 := by dsimp [mk, mk']; congr 1;
   simp
@@ -114,22 +90,10 @@ protected noncomputable def rep (v : ℙ K V) : V :=
 #align projectivization.rep Projectivization.rep
 -/
 
-/- warning: projectivization.rep_nonzero -> Projectivization.rep_nonzero is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), Ne.{succ u2} V (Projectivization.rep.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))
-but is expected to have type
-  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Ne.{succ u1} V (Projectivization.rep.{u2, u1} K V _inst_1 _inst_2 _inst_3 v) (OfNat.ofNat.{u1} V 0 (Zero.toOfNat0.{u1} V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2)))))))
-Case conversion may be inaccurate. Consider using '#align projectivization.rep_nonzero Projectivization.rep_nonzeroₓ'. -/
 theorem rep_nonzero (v : ℙ K V) : v.rep ≠ 0 :=
   v.out'.2
 #align projectivization.rep_nonzero Projectivization.rep_nonzero
 
-/- warning: projectivization.mk_rep -> Projectivization.mk_rep is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.rep.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.rep_nonzero.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) v
-but is expected to have type
-  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u2, u1} K V _inst_1 _inst_2 _inst_3 (Projectivization.rep.{u2, u1} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.rep_nonzero.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) v
-Case conversion may be inaccurate. Consider using '#align projectivization.mk_rep Projectivization.mk_repₓ'. -/
 @[simp]
 theorem mk_rep (v : ℙ K V) : mk K v.rep v.rep_nonzero = v := by dsimp [mk, Projectivization.rep];
   simp
@@ -149,23 +113,11 @@ protected def submodule (v : ℙ K V) : Submodule K V :=
 
 variable (K)
 
-/- warning: projectivization.mk_eq_mk_iff -> Projectivization.mk_eq_mk_iff is a dubious translation:
-lean 3 declaration is
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (w : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (hw : Ne.{succ u2} V w (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), Iff (Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 w hw)) (Exists.{succ u1} (Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (fun (a : Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) => Eq.{succ u2} V (SMul.smul.{u1, u2} (Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) V (Units.hasSmul.{u1, u2} K V (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) a w) v))
-but is expected to have type
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (w : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) (hw : Ne.{succ u2} V w (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))), Iff (Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 w hw)) (Exists.{succ u1} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (fun (a : Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) => Eq.{succ u2} V (HSMul.hSMul.{u1, u2, u2} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) V V (instHSMul.{u1, u2} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) V (Units.instSMulUnits.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))))) a w) v))
-Case conversion may be inaccurate. Consider using '#align projectivization.mk_eq_mk_iff Projectivization.mk_eq_mk_iffₓ'. -/
 theorem mk_eq_mk_iff (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
     mk K v hv = mk K w hw ↔ ∃ a : Kˣ, a • w = v :=
   Quotient.eq''
 #align projectivization.mk_eq_mk_iff Projectivization.mk_eq_mk_iff
 
-/- warning: projectivization.mk_eq_mk_iff' -> Projectivization.mk_eq_mk_iff' is a dubious translation:
-lean 3 declaration is
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (w : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (hw : Ne.{succ u2} V w (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), Iff (Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 w hw)) (Exists.{succ u1} K (fun (a : K) => Eq.{succ u2} V (SMul.smul.{u1, u2} K V (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) a w) v))
-but is expected to have type
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (w : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) (hw : Ne.{succ u2} V w (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))), Iff (Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 w hw)) (Exists.{succ u1} K (fun (a : K) => Eq.{succ u2} V (HSMul.hSMul.{u1, u2, u2} K V V (instHSMul.{u1, u2} K V (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) a w) v))
-Case conversion may be inaccurate. Consider using '#align projectivization.mk_eq_mk_iff' Projectivization.mk_eq_mk_iff'ₓ'. -/
 /-- Two nonzero vectors go to the same point in projective space if and only if one is
 a scalar multiple of the other. -/
 theorem mk_eq_mk_iff' (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
@@ -177,24 +129,12 @@ theorem mk_eq_mk_iff' (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
   · rintro ⟨a, ha⟩; refine' ⟨Units.mk0 a fun c => hv.symm _, ha⟩; rwa [c, zero_smul] at ha
 #align projectivization.mk_eq_mk_iff' Projectivization.mk_eq_mk_iff'
 
-/- warning: projectivization.exists_smul_eq_mk_rep -> Projectivization.exists_smul_eq_mk_rep is a dubious translation:
-lean 3 declaration is
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), Exists.{succ u1} (Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (fun (a : Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) => Eq.{succ u2} V (SMul.smul.{u1, u2} (Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) V (Units.hasSmul.{u1, u2} K V (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) a v) (Projectivization.rep.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv)))
-but is expected to have type
-  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))), Exists.{succ u1} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (fun (a : Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) => Eq.{succ u2} V (HSMul.hSMul.{u1, u2, u2} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) V V (instHSMul.{u1, u2} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) V (Units.instSMulUnits.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))))) a v) (Projectivization.rep.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv)))
-Case conversion may be inaccurate. Consider using '#align projectivization.exists_smul_eq_mk_rep Projectivization.exists_smul_eq_mk_repₓ'. -/
 theorem exists_smul_eq_mk_rep (v : V) (hv : v ≠ 0) : ∃ a : Kˣ, a • v = (mk K v hv).rep :=
   show (projectivizationSetoid K V).Rel _ _ from Quotient.mk_out' ⟨v, hv⟩
 #align projectivization.exists_smul_eq_mk_rep Projectivization.exists_smul_eq_mk_rep
 
 variable {K}
 
-/- warning: projectivization.ind -> Projectivization.ind is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {P : (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> Prop}, (forall (v : V) (h : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), P (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v h)) -> (forall (p : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), P p)
-but is expected to have type
-  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] {P : (Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3) -> Prop}, (forall (v : V) (h : Ne.{succ u1} V v (OfNat.ofNat.{u1} V 0 (Zero.toOfNat0.{u1} V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2)))))))), P (Projectivization.mk.{u2, u1} K V _inst_1 _inst_2 _inst_3 v h)) -> (forall (p : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), P p)
-Case conversion may be inaccurate. Consider using '#align projectivization.ind Projectivization.indₓ'. -/
 /-- An induction principle for `projectivization`.
 Use as `induction v using projectivization.ind`. -/
 @[elab_as_elim]
@@ -202,32 +142,14 @@ theorem ind {P : ℙ K V → Prop} (h : ∀ (v : V) (h : v ≠ 0), P (mk K v h))
   Quotient.ind' <| Subtype.rec <| h
 #align projectivization.ind Projectivization.ind
 
-/- warning: projectivization.submodule_mk -> Projectivization.submodule_mk is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv)) (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v))
-but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))), Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv)) (Submodule.span.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.instSingletonSet.{u2} V) v))
-Case conversion may be inaccurate. Consider using '#align projectivization.submodule_mk Projectivization.submodule_mkₓ'. -/
 @[simp]
 theorem submodule_mk (v : V) (hv : v ≠ 0) : (mk K v hv).Submodule = K ∙ v :=
   rfl
 #align projectivization.submodule_mk Projectivization.submodule_mk
 
-/- warning: projectivization.submodule_eq -> Projectivization.submodule_eq is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) (Projectivization.rep.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)))
-but is expected to have type
-  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 v) (Submodule.span.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3 (Singleton.singleton.{u1, u1} V (Set.{u1} V) (Set.instSingletonSet.{u1} V) (Projectivization.rep.{u2, u1} K V _inst_1 _inst_2 _inst_3 v)))
-Case conversion may be inaccurate. Consider using '#align projectivization.submodule_eq Projectivization.submodule_eqₓ'. -/
 theorem submodule_eq (v : ℙ K V) : v.Submodule = K ∙ v.rep := by conv_lhs => rw [← v.mk_rep]; rfl
 #align projectivization.submodule_eq Projectivization.submodule_eq
 
-/- warning: projectivization.finrank_submodule -> Projectivization.finrank_submodule is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))
-but is expected to have type
-  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} K (Subtype.{succ u1} V (fun (x : V) => Membership.mem.{u1, u1} V (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) V (Submodule.setLike.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3)) x (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 v))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Submodule.addCommGroup.{u2, u1} K V (DivisionRing.toRing.{u2} K _inst_1) _inst_2 _inst_3 (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 v)) (Submodule.module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3 (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 v))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))
-Case conversion may be inaccurate. Consider using '#align projectivization.finrank_submodule Projectivization.finrank_submoduleₓ'. -/
 theorem finrank_submodule (v : ℙ K V) : finrank K v.Submodule = 1 :=
   by
   rw [submodule_eq]
@@ -289,12 +211,6 @@ noncomputable def mk'' (H : Submodule K V) (h : finrank K H = 1) : ℙ K V :=
 #align projectivization.mk'' Projectivization.mk''
 -/
 
-/- warning: projectivization.submodule_mk'' -> Projectivization.submodule_mk'' is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (H : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (h : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) H) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 H) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 H)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))), Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk''.{u1, u2} K V _inst_1 _inst_2 _inst_3 H h)) H
-but is expected to have type
-  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (H : Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) (h : Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} K (Subtype.{succ u1} V (fun (x : V) => Membership.mem.{u1, u1} V (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) V (Submodule.setLike.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3)) x H)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Submodule.addCommGroup.{u2, u1} K V (DivisionRing.toRing.{u2} K _inst_1) _inst_2 _inst_3 H) (Submodule.module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3 H)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))), Eq.{succ u1} (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk''.{u2, u1} K V _inst_1 _inst_2 _inst_3 H h)) H
-Case conversion may be inaccurate. Consider using '#align projectivization.submodule_mk'' Projectivization.submodule_mk''ₓ'. -/
 @[simp]
 theorem submodule_mk'' (H : Submodule K V) (h : finrank K H = 1) : (mk'' H h).Submodule = H :=
   by
@@ -303,12 +219,6 @@ theorem submodule_mk'' (H : Submodule K V) (h : finrank K H = 1) : (mk'' H h).Su
   simp
 #align projectivization.submodule_mk'' Projectivization.submodule_mk''
 
-/- warning: projectivization.mk''_submodule -> Projectivization.mk''_submodule is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk''.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.finrank_submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) v
-but is expected to have type
-  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk''.{u2, u1} K V _inst_1 _inst_2 _inst_3 (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.finrank_submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) v
-Case conversion may be inaccurate. Consider using '#align projectivization.mk''_submodule Projectivization.mk''_submoduleₓ'. -/
 @[simp]
 theorem mk''_submodule (v : ℙ K V) : mk'' v.Submodule v.finrank_submodule = v :=
   show (equivSubmodule K V).symm (equivSubmodule K V _) = _ by simp
@@ -318,9 +228,6 @@ section Map
 
 variable {L W : Type _} [DivisionRing L] [AddCommGroup W] [Module L W]
 
-/- warning: projectivization.map -> Projectivization.map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projectivization.map Projectivization.mapₓ'. -/
 /-- An injective semilinear map of vector spaces induces a map on projective spaces. -/
 def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : ℙ K V → ℙ L W :=
   Quotient.map' (fun v => ⟨f v, fun c => v.2 (hf (by simp [c]))⟩)
@@ -331,9 +238,6 @@ def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : 
       erw [← f.map_smulₛₗ, ha])
 #align projectivization.map Projectivization.map
 
-/- warning: projectivization.map_injective -> Projectivization.map_injective is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projectivization.map_injective Projectivization.map_injectiveₓ'. -/
 /-- Mapping with respect to a semilinear map over an isomorphism of fields yields
 an injective map on projective spaces. -/
 theorem map_injective {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] (f : V →ₛₗ[σ] W)
@@ -360,9 +264,6 @@ theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).Injec
 #align projectivization.map_id Projectivization.map_id
 -/
 
-/- warning: projectivization.map_comp -> Projectivization.map_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align projectivization.map_comp Projectivization.map_compₓ'. -/
 @[simp]
 theorem map_comp {F U : Type _} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
     {γ : K →+* F} [RingHomCompTriple σ τ γ] (f : V →ₛₗ[σ] W) (hf : Function.Injective f)
Diff
@@ -97,10 +97,7 @@ but is expected to have type
   forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))))))), Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk'.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Subtype.val.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) v) (Subtype.property.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) v))
 Case conversion may be inaccurate. Consider using '#align projectivization.mk'_eq_mk Projectivization.mk'_eq_mkₓ'. -/
 @[simp]
-theorem mk'_eq_mk (v : { v : V // v ≠ 0 }) : mk' K v = mk K v v.2 :=
-  by
-  dsimp [mk, mk']
-  congr 1
+theorem mk'_eq_mk (v : { v : V // v ≠ 0 }) : mk' K v = mk K v v.2 := by dsimp [mk, mk']; congr 1;
   simp
 #align projectivization.mk'_eq_mk Projectivization.mk'_eq_mk
 
@@ -134,9 +131,7 @@ but is expected to have type
   forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u2, u1} K V _inst_1 _inst_2 _inst_3 (Projectivization.rep.{u2, u1} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.rep_nonzero.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) v
 Case conversion may be inaccurate. Consider using '#align projectivization.mk_rep Projectivization.mk_repₓ'. -/
 @[simp]
-theorem mk_rep (v : ℙ K V) : mk K v.rep v.rep_nonzero = v :=
-  by
-  dsimp [mk, Projectivization.rep]
+theorem mk_rep (v : ℙ K V) : mk K v.rep v.rep_nonzero = v := by dsimp [mk, Projectivization.rep];
   simp
 #align projectivization.mk_rep Projectivization.mk_rep
 
@@ -178,11 +173,8 @@ theorem mk_eq_mk_iff' (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
   by
   rw [mk_eq_mk_iff K v w hv hw]
   constructor
-  · rintro ⟨a, ha⟩
-    exact ⟨a, ha⟩
-  · rintro ⟨a, ha⟩
-    refine' ⟨Units.mk0 a fun c => hv.symm _, ha⟩
-    rwa [c, zero_smul] at ha
+  · rintro ⟨a, ha⟩; exact ⟨a, ha⟩
+  · rintro ⟨a, ha⟩; refine' ⟨Units.mk0 a fun c => hv.symm _, ha⟩; rwa [c, zero_smul] at ha
 #align projectivization.mk_eq_mk_iff' Projectivization.mk_eq_mk_iff'
 
 /- warning: projectivization.exists_smul_eq_mk_rep -> Projectivization.exists_smul_eq_mk_rep is a dubious translation:
@@ -227,10 +219,7 @@ lean 3 declaration is
 but is expected to have type
   forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 v) (Submodule.span.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3 (Singleton.singleton.{u1, u1} V (Set.{u1} V) (Set.instSingletonSet.{u1} V) (Projectivization.rep.{u2, u1} K V _inst_1 _inst_2 _inst_3 v)))
 Case conversion may be inaccurate. Consider using '#align projectivization.submodule_eq Projectivization.submodule_eqₓ'. -/
-theorem submodule_eq (v : ℙ K V) : v.Submodule = K ∙ v.rep :=
-  by
-  conv_lhs => rw [← v.mk_rep]
-  rfl
+theorem submodule_eq (v : ℙ K V) : v.Submodule = K ∙ v.rep := by conv_lhs => rw [← v.mk_rep]; rfl
 #align projectivization.submodule_eq Projectivization.submodule_eq
 
 /- warning: projectivization.finrank_submodule -> Projectivization.finrank_submodule is a dubious translation:
@@ -245,11 +234,8 @@ theorem finrank_submodule (v : ℙ K V) : finrank K v.Submodule = 1 :=
   exact finrank_span_singleton v.rep_nonzero
 #align projectivization.finrank_submodule Projectivization.finrank_submodule
 
-instance (v : ℙ K V) : FiniteDimensional K v.Submodule :=
-  by
-  rw [← v.mk_rep]
-  change FiniteDimensional K (K ∙ v.rep)
-  infer_instance
+instance (v : ℙ K V) : FiniteDimensional K v.Submodule := by rw [← v.mk_rep];
+  change FiniteDimensional K (K ∙ v.rep); infer_instance
 
 #print Projectivization.submodule_injective /-
 theorem submodule_injective :
@@ -275,8 +261,7 @@ noncomputable def equivSubmodule : ℙ K V ≃ { H : Submodule K V // finrank K
   Equiv.ofBijective (fun v => ⟨v.Submodule, v.finrank_submodule⟩)
     (by
       constructor
-      · intro u v h
-        apply_fun fun e => e.val  at h
+      · intro u v h; apply_fun fun e => e.val  at h
         apply submodule_injective h
       · rintro ⟨H, h⟩
         rw [finrank_eq_one_iff'] at h
@@ -284,10 +269,7 @@ noncomputable def equivSubmodule : ℙ K V ≃ { H : Submodule K V // finrank K
         have : (v : V) ≠ 0 := fun c => hv (Subtype.coe_injective c)
         use mk K v this
         symm
-        ext x
-        revert x
-        erw [← Set.ext_iff]
-        ext x
+        ext x; revert x; erw [← Set.ext_iff]; ext x
         dsimp [-SetLike.mem_coe]
         rw [Submodule.span_singleton_eq_range]
         refine' ⟨fun hh => _, _⟩
@@ -373,11 +355,8 @@ theorem map_injective {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] (
 
 #print Projectivization.map_id /-
 @[simp]
-theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).Injective = id :=
-  by
-  ext v
-  induction v using Projectivization.ind
-  rfl
+theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).Injective = id := by ext v;
+  induction v using Projectivization.ind; rfl
 #align projectivization.map_id Projectivization.map_id
 -/
 
@@ -388,11 +367,8 @@ Case conversion may be inaccurate. Consider using '#align projectivization.map_c
 theorem map_comp {F U : Type _} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
     {γ : K →+* F} [RingHomCompTriple σ τ γ] (f : V →ₛₗ[σ] W) (hf : Function.Injective f)
     (g : W →ₛₗ[τ] U) (hg : Function.Injective g) :
-    map (g.comp f) (hg.comp hf) = map g hg ∘ map f hf :=
-  by
-  ext v
-  induction v using Projectivization.ind
-  rfl
+    map (g.comp f) (hg.comp hf) = map g hg ∘ map f hf := by ext v;
+  induction v using Projectivization.ind; rfl
 #align projectivization.map_comp Projectivization.map_comp
 
 end Map
Diff
@@ -337,10 +337,7 @@ section Map
 variable {L W : Type _} [DivisionRing L] [AddCommGroup W] [Module L W]
 
 /- warning: projectivization.map -> Projectivization.map is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
-but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u3, u2, u4} K L V W (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
+<too large>
 Case conversion may be inaccurate. Consider using '#align projectivization.map Projectivization.mapₓ'. -/
 /-- An injective semilinear map of vector spaces induces a map on projective spaces. -/
 def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : ℙ K V → ℙ L W :=
@@ -353,10 +350,7 @@ def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : 
 #align projectivization.map Projectivization.map
 
 /- warning: projectivization.map_injective -> Projectivization.map_injective is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u1} L K (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))} [_inst_7 : RingHomInvPair.{u1, u3} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ τ] (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u4} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u1, u2, u3, u4} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
-but is expected to have type
-  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u4} L K (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)))} [_inst_7 : RingHomInvPair.{u4, u3} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ τ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u1} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
+<too large>
 Case conversion may be inaccurate. Consider using '#align projectivization.map_injective Projectivization.map_injectiveₓ'. -/
 /-- Mapping with respect to a semilinear map over an isomorphism of fields yields
 an injective map on projective spaces. -/
@@ -388,10 +382,7 @@ theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).Injec
 -/
 
 /- warning: projectivization.map_comp -> Projectivization.map_comp is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {F : Type.{u5}} {U : Type.{u6}} [_inst_7 : Field.{u5} F] [_inst_8 : AddCommGroup.{u6} U] [_inst_9 : Module.{u5, u6} F U (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u5} L F (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u5} F (Ring.toNonAssocRing.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))))} {γ : RingHom.{u1, u5} K F (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u5} F (Ring.toNonAssocRing.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u1, u3, u5} K L F (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) σ τ γ] (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u4, succ u6} W U (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) => W -> U) (LinearMap.hasCoeToFun.{u3, u5, u4, u6} L F W U (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u6)} ((Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u5, u6} F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u1, u2, u5, u6} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u1, u3, u5, u2, u4, u6} K L F V W U (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u4, succ u6} V W U (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) => W -> U) (LinearMap.hasCoeToFun.{u3, u5, u4, u6} L F W U (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u4, succ u6} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u5, u6} F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u4, u5, u6} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u1, u2, u3, u4} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
-but is expected to have type
-  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {F : Type.{u6}} {U : Type.{u5}} [_inst_7 : Field.{u6} F] [_inst_8 : AddCommGroup.{u5} U] [_inst_9 : Module.{u6, u5} F U (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u6} L F (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} {γ : RingHom.{u4, u6} K F (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u4, u3, u6} K L F (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) σ τ γ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u1, succ u5} W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u5)} ((Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u4, u2, u6, u5} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u4, u3, u6, u2, u1, u5} K L F V W U (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u1, succ u5} V W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u1, succ u5} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u1, u6, u5} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
+<too large>
 Case conversion may be inaccurate. Consider using '#align projectivization.map_comp Projectivization.map_compₓ'. -/
 @[simp]
 theorem map_comp {F U : Type _} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
Diff
@@ -340,7 +340,7 @@ variable {L W : Type _} [DivisionRing L] [AddCommGroup W] [Module L W]
 lean 3 declaration is
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
 but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u3, u2, u4} K L V W (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u3, u2, u4} K L V W (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
 Case conversion may be inaccurate. Consider using '#align projectivization.map Projectivization.mapₓ'. -/
 /-- An injective semilinear map of vector spaces induces a map on projective spaces. -/
 def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : ℙ K V → ℙ L W :=
@@ -356,7 +356,7 @@ def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : 
 lean 3 declaration is
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u1} L K (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))} [_inst_7 : RingHomInvPair.{u1, u3} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ τ] (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u4} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u1, u2, u3, u4} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
 but is expected to have type
-  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u4} L K (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)))} [_inst_7 : RingHomInvPair.{u4, u3} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ τ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u1} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
+  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u4} L K (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)))} [_inst_7 : RingHomInvPair.{u4, u3} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ τ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u1} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
 Case conversion may be inaccurate. Consider using '#align projectivization.map_injective Projectivization.map_injectiveₓ'. -/
 /-- Mapping with respect to a semilinear map over an isomorphism of fields yields
 an injective map on projective spaces. -/
@@ -391,7 +391,7 @@ theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).Injec
 lean 3 declaration is
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {F : Type.{u5}} {U : Type.{u6}} [_inst_7 : Field.{u5} F] [_inst_8 : AddCommGroup.{u6} U] [_inst_9 : Module.{u5, u6} F U (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u5} L F (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u5} F (Ring.toNonAssocRing.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))))} {γ : RingHom.{u1, u5} K F (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u5} F (Ring.toNonAssocRing.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u1, u3, u5} K L F (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) σ τ γ] (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u4, succ u6} W U (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) => W -> U) (LinearMap.hasCoeToFun.{u3, u5, u4, u6} L F W U (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u6)} ((Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u5, u6} F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u1, u2, u5, u6} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u1, u3, u5, u2, u4, u6} K L F V W U (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u4, succ u6} V W U (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) => W -> U) (LinearMap.hasCoeToFun.{u3, u5, u4, u6} L F W U (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u4, succ u6} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u5, u6} F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u4, u5, u6} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u1, u2, u3, u4} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
 but is expected to have type
-  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {F : Type.{u6}} {U : Type.{u5}} [_inst_7 : Field.{u6} F] [_inst_8 : AddCommGroup.{u5} U] [_inst_9 : Module.{u6, u5} F U (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u6} L F (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} {γ : RingHom.{u4, u6} K F (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u4, u3, u6} K L F (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) σ τ γ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u1, succ u5} W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u5)} ((Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u4, u2, u6, u5} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u4, u3, u6, u2, u1, u5} K L F V W U (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u1, succ u5} V W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u1, succ u5} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u1, u6, u5} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
+  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {F : Type.{u6}} {U : Type.{u5}} [_inst_7 : Field.{u6} F] [_inst_8 : AddCommGroup.{u5} U] [_inst_9 : Module.{u6, u5} F U (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u6} L F (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} {γ : RingHom.{u4, u6} K F (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u4, u3, u6} K L F (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) σ τ γ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u1, succ u5} W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u5)} ((Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u4, u2, u6, u5} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u4, u3, u6, u2, u1, u5} K L F V W U (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u1, succ u5} V W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u1, succ u5} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u1, u6, u5} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
 Case conversion may be inaccurate. Consider using '#align projectivization.map_comp Projectivization.map_compₓ'. -/
 @[simp]
 theorem map_comp {F U : Type _} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
Diff
@@ -340,7 +340,7 @@ variable {L W : Type _} [DivisionRing L] [AddCommGroup W] [Module L W]
 lean 3 declaration is
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
 but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u3, u2, u4} K L V W (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u3, u2, u4} K L V W (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
 Case conversion may be inaccurate. Consider using '#align projectivization.map Projectivization.mapₓ'. -/
 /-- An injective semilinear map of vector spaces induces a map on projective spaces. -/
 def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : ℙ K V → ℙ L W :=
@@ -356,7 +356,7 @@ def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : 
 lean 3 declaration is
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u1} L K (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))} [_inst_7 : RingHomInvPair.{u1, u3} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ τ] (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u4} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u1, u2, u3, u4} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
 but is expected to have type
-  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u4} L K (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)))} [_inst_7 : RingHomInvPair.{u4, u3} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ τ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u1} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
+  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u4} L K (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)))} [_inst_7 : RingHomInvPair.{u4, u3} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ τ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u1} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
 Case conversion may be inaccurate. Consider using '#align projectivization.map_injective Projectivization.map_injectiveₓ'. -/
 /-- Mapping with respect to a semilinear map over an isomorphism of fields yields
 an injective map on projective spaces. -/
@@ -391,7 +391,7 @@ theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).Injec
 lean 3 declaration is
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {F : Type.{u5}} {U : Type.{u6}} [_inst_7 : Field.{u5} F] [_inst_8 : AddCommGroup.{u6} U] [_inst_9 : Module.{u5, u6} F U (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u5} L F (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u5} F (Ring.toNonAssocRing.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))))} {γ : RingHom.{u1, u5} K F (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u5} F (Ring.toNonAssocRing.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u1, u3, u5} K L F (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) σ τ γ] (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u4, succ u6} W U (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) => W -> U) (LinearMap.hasCoeToFun.{u3, u5, u4, u6} L F W U (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u6)} ((Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u5, u6} F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u1, u2, u5, u6} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u1, u3, u5, u2, u4, u6} K L F V W U (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u4, succ u6} V W U (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) => W -> U) (LinearMap.hasCoeToFun.{u3, u5, u4, u6} L F W U (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u4, succ u6} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u5, u6} F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u4, u5, u6} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u1, u2, u3, u4} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
 but is expected to have type
-  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {F : Type.{u6}} {U : Type.{u5}} [_inst_7 : Field.{u6} F] [_inst_8 : AddCommGroup.{u5} U] [_inst_9 : Module.{u6, u5} F U (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u6} L F (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} {γ : RingHom.{u4, u6} K F (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u4, u3, u6} K L F (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) σ τ γ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u1, succ u5} W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u5)} ((Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u4, u2, u6, u5} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u4, u3, u6, u2, u1, u5} K L F V W U (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u1, succ u5} V W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u1, succ u5} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u1, u6, u5} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
+  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {F : Type.{u6}} {U : Type.{u5}} [_inst_7 : Field.{u6} F] [_inst_8 : AddCommGroup.{u5} U] [_inst_9 : Module.{u6, u5} F U (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u6} L F (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} {γ : RingHom.{u4, u6} K F (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u4, u3, u6} K L F (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) σ τ γ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u1, succ u5} W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u5)} ((Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u4, u2, u6, u5} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u4, u3, u6, u2, u1, u5} K L F V W U (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u1, succ u5} V W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u1, succ u5} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u1, u6, u5} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
 Case conversion may be inaccurate. Consider using '#align projectivization.map_comp Projectivization.map_compₓ'. -/
 @[simp]
 theorem map_comp {F U : Type _} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
Diff
@@ -340,7 +340,7 @@ variable {L W : Type _} [DivisionRing L] [AddCommGroup W] [Module L W]
 lean 3 declaration is
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
 but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u3, u2, u4} K L V W (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (Semiring.toNonAssocSemiring.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u3, u2, u4} K L V W (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
 Case conversion may be inaccurate. Consider using '#align projectivization.map Projectivization.mapₓ'. -/
 /-- An injective semilinear map of vector spaces induces a map on projective spaces. -/
 def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : ℙ K V → ℙ L W :=
@@ -356,7 +356,7 @@ def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : 
 lean 3 declaration is
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u1} L K (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))} [_inst_7 : RingHomInvPair.{u1, u3} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ τ] (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u4} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u1, u2, u3, u4} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
 but is expected to have type
-  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {σ : RingHom.{u4, u3} K L (NonAssocRing.toNonAssocSemiring.{u4} K (Ring.toNonAssocRing.{u4} K (DivisionRing.toRing.{u4} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u4} L K (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u4} K (Ring.toNonAssocRing.{u4} K (DivisionRing.toRing.{u4} K _inst_1)))} [_inst_7 : RingHomInvPair.{u4, u3} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ τ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u1} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
+  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u4} L K (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)))} [_inst_7 : RingHomInvPair.{u4, u3} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ τ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u1} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
 Case conversion may be inaccurate. Consider using '#align projectivization.map_injective Projectivization.map_injectiveₓ'. -/
 /-- Mapping with respect to a semilinear map over an isomorphism of fields yields
 an injective map on projective spaces. -/
@@ -391,7 +391,7 @@ theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).Injec
 lean 3 declaration is
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {F : Type.{u5}} {U : Type.{u6}} [_inst_7 : Field.{u5} F] [_inst_8 : AddCommGroup.{u6} U] [_inst_9 : Module.{u5, u6} F U (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u5} L F (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u5} F (Ring.toNonAssocRing.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))))} {γ : RingHom.{u1, u5} K F (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u5} F (Ring.toNonAssocRing.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u1, u3, u5} K L F (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) σ τ γ] (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u4, succ u6} W U (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) => W -> U) (LinearMap.hasCoeToFun.{u3, u5, u4, u6} L F W U (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u6)} ((Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u5, u6} F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u1, u2, u5, u6} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u1, u3, u5, u2, u4, u6} K L F V W U (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u4, succ u6} V W U (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) => W -> U) (LinearMap.hasCoeToFun.{u3, u5, u4, u6} L F W U (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u4, succ u6} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u5, u6} F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u4, u5, u6} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u1, u2, u3, u4} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
 but is expected to have type
-  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {F : Type.{u6}} {U : Type.{u5}} [_inst_7 : Field.{u6} F] [_inst_8 : AddCommGroup.{u5} U] [_inst_9 : Module.{u6, u5} F U (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8)] {σ : RingHom.{u4, u3} K L (NonAssocRing.toNonAssocSemiring.{u4} K (Ring.toNonAssocRing.{u4} K (DivisionRing.toRing.{u4} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u6} L F (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u6} F (Ring.toNonAssocRing.{u6} F (DivisionRing.toRing.{u6} F (Field.toDivisionRing.{u6} F _inst_7))))} {γ : RingHom.{u4, u6} K F (NonAssocRing.toNonAssocSemiring.{u4} K (Ring.toNonAssocRing.{u4} K (DivisionRing.toRing.{u4} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u6} F (Ring.toNonAssocRing.{u6} F (DivisionRing.toRing.{u6} F (Field.toDivisionRing.{u6} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u4, u3, u6} K L F (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) σ τ γ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u1, succ u5} W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u5)} ((Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u4, u2, u6, u5} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u4, u3, u6, u2, u1, u5} K L F V W U (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u1, succ u5} V W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u1, succ u5} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u1, u6, u5} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
+  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {F : Type.{u6}} {U : Type.{u5}} [_inst_7 : Field.{u6} F] [_inst_8 : AddCommGroup.{u5} U] [_inst_9 : Module.{u6, u5} F U (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8)] {σ : RingHom.{u4, u3} K L (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)))} {τ : RingHom.{u3, u6} L F (Semiring.toNonAssocSemiring.{u3} L (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} {γ : RingHom.{u4, u6} K F (Semiring.toNonAssocSemiring.{u4} K (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1))) (Semiring.toNonAssocSemiring.{u6} F (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u4, u3, u6} K L F (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) σ τ γ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u1, succ u5} W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u5)} ((Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u4, u2, u6, u5} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u4, u3, u6, u2, u1, u5} K L F V W U (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u1, succ u5} V W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u1, succ u5} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u1, u6, u5} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
 Case conversion may be inaccurate. Consider using '#align projectivization.map_comp Projectivization.map_compₓ'. -/
 @[simp]
 theorem map_comp {F U : Type _} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
 
 ! This file was ported from Lean 3 source module linear_algebra.projective_space.basic
-! leanprover-community/mathlib commit c4658a649d216f57e99621708b09dcb3dcccbd23
+! leanprover-community/mathlib commit ef55335933293309ff8c0b1d20ffffeecbe5c39f
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.LinearAlgebra.FiniteDimensional
 
 # Projective Spaces
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file contains the definition of the projectivization of a vector space over a field,
 as well as the bijection between said projectivization and the collection of all one
 dimensional subspaces of the vector space.
Diff
@@ -38,17 +38,25 @@ We have three ways to construct terms of `ℙ K V`:
 
 variable (K V : Type _) [DivisionRing K] [AddCommGroup V] [Module K V]
 
+/- warning: projectivization_setoid -> projectivizationSetoid is a dubious translation:
+lean 3 declaration is
+  forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Setoid.{succ u2} (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))))
+but is expected to have type
+  forall (K : Type.{u1}) (V : Type.{u2}) [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Setoid.{succ u2} (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))))
+Case conversion may be inaccurate. Consider using '#align projectivization_setoid projectivizationSetoidₓ'. -/
 /-- The setoid whose quotient is the projectivization of `V`. -/
 def projectivizationSetoid : Setoid { v : V // v ≠ 0 } :=
   (MulAction.orbitRel Kˣ V).comap coe
 #align projectivization_setoid projectivizationSetoid
 
+#print Projectivization /-
 /-- The projectivization of the `K`-vector space `V`.
 The notation `ℙ K V` is preferred. -/
 @[nolint has_nonempty_instance]
 def Projectivization :=
   Quotient (projectivizationSetoid K V)
 #align projectivization Projectivization
+-/
 
 -- mathport name: exprℙ
 notation "ℙ" => Projectivization
@@ -57,16 +65,34 @@ namespace Projectivization
 
 variable {V}
 
+/- warning: projectivization.mk -> Projectivization.mk is a dubious translation:
+lean 3 declaration is
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+but is expected to have type
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V), (Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+Case conversion may be inaccurate. Consider using '#align projectivization.mk Projectivization.mkₓ'. -/
 /-- Construct an element of the projectivization from a nonzero vector. -/
 def mk (v : V) (hv : v ≠ 0) : ℙ K V :=
   Quotient.mk'' ⟨v, hv⟩
 #align projectivization.mk Projectivization.mk
 
+/- warning: projectivization.mk' -> Projectivization.mk' is a dubious translation:
+lean 3 declaration is
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+but is expected to have type
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))))))) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+Case conversion may be inaccurate. Consider using '#align projectivization.mk' Projectivization.mk'ₓ'. -/
 /-- A variant of `projectivization.mk` in terms of a subtype. `mk` is preferred. -/
 def mk' (v : { v : V // v ≠ 0 }) : ℙ K V :=
   Quotient.mk'' v
 #align projectivization.mk' Projectivization.mk'
 
+/- warning: projectivization.mk'_eq_mk -> Projectivization.mk'_eq_mk is a dubious translation:
+lean 3 declaration is
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))), Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk'.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))) V (HasLiftT.mk.{succ u2, succ u2} (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))) V (CoeTCₓ.coe.{succ u2, succ u2} (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))) V (coeBase.{succ u2, succ u2} (Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))))))) V (coeSubtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))))))) v) (Subtype.property.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) v))
+but is expected to have type
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Subtype.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))))))), Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk'.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Subtype.val.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) v) (Subtype.property.{succ u2} V (fun (v : V) => Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) v))
+Case conversion may be inaccurate. Consider using '#align projectivization.mk'_eq_mk Projectivization.mk'_eq_mkₓ'. -/
 @[simp]
 theorem mk'_eq_mk (v : { v : V // v ≠ 0 }) : mk' K v = mk K v v.2 :=
   by
@@ -81,15 +107,29 @@ instance [Nontrivial V] : Nonempty (ℙ K V) :=
 
 variable {K}
 
+#print Projectivization.rep /-
 /-- Choose a representative of `v : projectivization K V` in `V`. -/
 protected noncomputable def rep (v : ℙ K V) : V :=
   v.out'
 #align projectivization.rep Projectivization.rep
+-/
 
+/- warning: projectivization.rep_nonzero -> Projectivization.rep_nonzero is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), Ne.{succ u2} V (Projectivization.rep.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))
+but is expected to have type
+  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Ne.{succ u1} V (Projectivization.rep.{u2, u1} K V _inst_1 _inst_2 _inst_3 v) (OfNat.ofNat.{u1} V 0 (Zero.toOfNat0.{u1} V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2)))))))
+Case conversion may be inaccurate. Consider using '#align projectivization.rep_nonzero Projectivization.rep_nonzeroₓ'. -/
 theorem rep_nonzero (v : ℙ K V) : v.rep ≠ 0 :=
   v.out'.2
 #align projectivization.rep_nonzero Projectivization.rep_nonzero
 
+/- warning: projectivization.mk_rep -> Projectivization.mk_rep is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.rep.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.rep_nonzero.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) v
+but is expected to have type
+  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u2, u1} K V _inst_1 _inst_2 _inst_3 (Projectivization.rep.{u2, u1} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.rep_nonzero.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) v
+Case conversion may be inaccurate. Consider using '#align projectivization.mk_rep Projectivization.mk_repₓ'. -/
 @[simp]
 theorem mk_rep (v : ℙ K V) : mk K v.rep v.rep_nonzero = v :=
   by
@@ -99,6 +139,7 @@ theorem mk_rep (v : ℙ K V) : mk K v.rep v.rep_nonzero = v :=
 
 open FiniteDimensional
 
+#print Projectivization.submodule /-
 /-- Consider an element of the projectivization as a submodule of `V`. -/
 protected def submodule (v : ℙ K V) : Submodule K V :=
   (Quotient.liftOn' v fun v => K ∙ (v : V)) <|
@@ -106,14 +147,27 @@ protected def submodule (v : ℙ K V) : Submodule K V :=
     rintro ⟨a, ha⟩ ⟨b, hb⟩ ⟨x, rfl : x • b = a⟩
     exact Submodule.span_singleton_group_smul_eq _ x _
 #align projectivization.submodule Projectivization.submodule
+-/
 
 variable (K)
 
+/- warning: projectivization.mk_eq_mk_iff -> Projectivization.mk_eq_mk_iff is a dubious translation:
+lean 3 declaration is
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (w : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (hw : Ne.{succ u2} V w (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), Iff (Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 w hw)) (Exists.{succ u1} (Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (fun (a : Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) => Eq.{succ u2} V (SMul.smul.{u1, u2} (Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) V (Units.hasSmul.{u1, u2} K V (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) a w) v))
+but is expected to have type
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (w : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) (hw : Ne.{succ u2} V w (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))), Iff (Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 w hw)) (Exists.{succ u1} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (fun (a : Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) => Eq.{succ u2} V (HSMul.hSMul.{u1, u2, u2} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) V V (instHSMul.{u1, u2} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) V (Units.instSMulUnits.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))))) a w) v))
+Case conversion may be inaccurate. Consider using '#align projectivization.mk_eq_mk_iff Projectivization.mk_eq_mk_iffₓ'. -/
 theorem mk_eq_mk_iff (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
     mk K v hv = mk K w hw ↔ ∃ a : Kˣ, a • w = v :=
   Quotient.eq''
 #align projectivization.mk_eq_mk_iff Projectivization.mk_eq_mk_iff
 
+/- warning: projectivization.mk_eq_mk_iff' -> Projectivization.mk_eq_mk_iff' is a dubious translation:
+lean 3 declaration is
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (w : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))) (hw : Ne.{succ u2} V w (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), Iff (Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 w hw)) (Exists.{succ u1} K (fun (a : K) => Eq.{succ u2} V (SMul.smul.{u1, u2} K V (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))) a w) v))
+but is expected to have type
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (w : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))) (hw : Ne.{succ u2} V w (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))), Iff (Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv) (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 w hw)) (Exists.{succ u1} K (fun (a : K) => Eq.{succ u2} V (HSMul.hSMul.{u1, u2, u2} K V V (instHSMul.{u1, u2} K V (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) a w) v))
+Case conversion may be inaccurate. Consider using '#align projectivization.mk_eq_mk_iff' Projectivization.mk_eq_mk_iff'ₓ'. -/
 /-- Two nonzero vectors go to the same point in projective space if and only if one is
 a scalar multiple of the other. -/
 theorem mk_eq_mk_iff' (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
@@ -128,12 +182,24 @@ theorem mk_eq_mk_iff' (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) :
     rwa [c, zero_smul] at ha
 #align projectivization.mk_eq_mk_iff' Projectivization.mk_eq_mk_iff'
 
+/- warning: projectivization.exists_smul_eq_mk_rep -> Projectivization.exists_smul_eq_mk_rep is a dubious translation:
+lean 3 declaration is
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), Exists.{succ u1} (Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (fun (a : Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) => Eq.{succ u2} V (SMul.smul.{u1, u2} (Units.{u1} K (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) V (Units.hasSmul.{u1, u2} K V (Ring.toMonoid.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (SMulZeroClass.toHasSmul.{u1, u2} K V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (SMulWithZero.toSmulZeroClass.{u1, u2} K V (MulZeroClass.toHasZero.{u1} K (MulZeroOneClass.toMulZeroClass.{u1} K (MonoidWithZero.toMulZeroOneClass.{u1} K (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (AddCommMonoid.toAddMonoid.{u2} V (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)))) (Module.toMulActionWithZero.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3))))) a v) (Projectivization.rep.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv)))
+but is expected to have type
+  forall (K : Type.{u1}) {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))), Exists.{succ u1} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) (fun (a : Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) => Eq.{succ u2} V (HSMul.hSMul.{u1, u2, u2} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) V V (instHSMul.{u1, u2} (Units.{u1} K (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))))) V (Units.instSMulUnits.{u1, u2} K V (MonoidWithZero.toMonoid.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (SMulZeroClass.toSMul.{u1, u2} K V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (SMulWithZero.toSMulZeroClass.{u1, u2} K V (MonoidWithZero.toZero.{u1} K (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (MulActionWithZero.toSMulWithZero.{u1, u2} K V (Semiring.toMonoidWithZero.{u1} K (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1))) (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2))))) (Module.toMulActionWithZero.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)))))) a v) (Projectivization.rep.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv)))
+Case conversion may be inaccurate. Consider using '#align projectivization.exists_smul_eq_mk_rep Projectivization.exists_smul_eq_mk_repₓ'. -/
 theorem exists_smul_eq_mk_rep (v : V) (hv : v ≠ 0) : ∃ a : Kˣ, a • v = (mk K v hv).rep :=
   show (projectivizationSetoid K V).Rel _ _ from Quotient.mk_out' ⟨v, hv⟩
 #align projectivization.exists_smul_eq_mk_rep Projectivization.exists_smul_eq_mk_rep
 
 variable {K}
 
+/- warning: projectivization.ind -> Projectivization.ind is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {P : (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> Prop}, (forall (v : V) (h : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), P (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v h)) -> (forall (p : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), P p)
+but is expected to have type
+  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] {P : (Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3) -> Prop}, (forall (v : V) (h : Ne.{succ u1} V v (OfNat.ofNat.{u1} V 0 (Zero.toOfNat0.{u1} V (NegZeroClass.toZero.{u1} V (SubNegZeroMonoid.toNegZeroClass.{u1} V (SubtractionMonoid.toSubNegZeroMonoid.{u1} V (SubtractionCommMonoid.toSubtractionMonoid.{u1} V (AddCommGroup.toDivisionAddCommMonoid.{u1} V _inst_2)))))))), P (Projectivization.mk.{u2, u1} K V _inst_1 _inst_2 _inst_3 v h)) -> (forall (p : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), P p)
+Case conversion may be inaccurate. Consider using '#align projectivization.ind Projectivization.indₓ'. -/
 /-- An induction principle for `projectivization`.
 Use as `induction v using projectivization.ind`. -/
 @[elab_as_elim]
@@ -141,17 +207,35 @@ theorem ind {P : ℙ K V → Prop} (h : ∀ (v : V) (h : v ≠ 0), P (mk K v h))
   Quotient.ind' <| Subtype.rec <| h
 #align projectivization.ind Projectivization.ind
 
+/- warning: projectivization.submodule_mk -> Projectivization.submodule_mk is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (OfNat.mk.{u2} V 0 (Zero.zero.{u2} V (AddZeroClass.toHasZero.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2))))))))), Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv)) (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) v))
+but is expected to have type
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : V) (hv : Ne.{succ u2} V v (OfNat.ofNat.{u2} V 0 (Zero.toOfNat0.{u2} V (NegZeroClass.toZero.{u2} V (SubNegZeroMonoid.toNegZeroClass.{u2} V (SubtractionMonoid.toSubNegZeroMonoid.{u2} V (SubtractionCommMonoid.toSubtractionMonoid.{u2} V (AddCommGroup.toDivisionAddCommMonoid.{u2} V _inst_2)))))))), Eq.{succ u2} (Submodule.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk.{u1, u2} K V _inst_1 _inst_2 _inst_3 v hv)) (Submodule.span.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.instSingletonSet.{u2} V) v))
+Case conversion may be inaccurate. Consider using '#align projectivization.submodule_mk Projectivization.submodule_mkₓ'. -/
 @[simp]
 theorem submodule_mk (v : V) (hv : v ≠ 0) : (mk K v hv).Submodule = K ∙ v :=
   rfl
 #align projectivization.submodule_mk Projectivization.submodule_mk
 
+/- warning: projectivization.submodule_eq -> Projectivization.submodule_eq is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (Submodule.span.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Singleton.singleton.{u2, u2} V (Set.{u2} V) (Set.hasSingleton.{u2} V) (Projectivization.rep.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)))
+but is expected to have type
+  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 v) (Submodule.span.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3 (Singleton.singleton.{u1, u1} V (Set.{u1} V) (Set.instSingletonSet.{u1} V) (Projectivization.rep.{u2, u1} K V _inst_1 _inst_2 _inst_3 v)))
+Case conversion may be inaccurate. Consider using '#align projectivization.submodule_eq Projectivization.submodule_eqₓ'. -/
 theorem submodule_eq (v : ℙ K V) : v.Submodule = K ∙ v.rep :=
   by
   conv_lhs => rw [← v.mk_rep]
   rfl
 #align projectivization.submodule_eq Projectivization.submodule_eq
 
+/- warning: projectivization.finrank_submodule -> Projectivization.finrank_submodule is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v))) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))
+but is expected to have type
+  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} K (Subtype.{succ u1} V (fun (x : V) => Membership.mem.{u1, u1} V (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) V (Submodule.setLike.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3)) x (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 v))) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Submodule.addCommGroup.{u2, u1} K V (DivisionRing.toRing.{u2} K _inst_1) _inst_2 _inst_3 (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 v)) (Submodule.module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3 (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 v))) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))
+Case conversion may be inaccurate. Consider using '#align projectivization.finrank_submodule Projectivization.finrank_submoduleₓ'. -/
 theorem finrank_submodule (v : ℙ K V) : finrank K v.Submodule = 1 :=
   by
   rw [submodule_eq]
@@ -164,6 +248,7 @@ instance (v : ℙ K V) : FiniteDimensional K v.Submodule :=
   change FiniteDimensional K (K ∙ v.rep)
   infer_instance
 
+#print Projectivization.submodule_injective /-
 theorem submodule_injective :
     Function.Injective (Projectivization.submodule : ℙ K V → Submodule K V) :=
   by
@@ -176,9 +261,11 @@ theorem submodule_injective :
   have : a ≠ 0 := fun c => u.rep_nonzero (by simpa [c] using ha.symm)
   use Units.mk0 a this, ha
 #align projectivization.submodule_injective Projectivization.submodule_injective
+-/
 
 variable (K V)
 
+#print Projectivization.equivSubmodule /-
 /-- The equivalence between the projectivization and the
 collection of subspaces of dimension 1. -/
 noncomputable def equivSubmodule : ℙ K V ≃ { H : Submodule K V // finrank K H = 1 } :=
@@ -206,14 +293,23 @@ noncomputable def equivSubmodule : ℙ K V ≃ { H : Submodule K V // finrank K
         · rintro ⟨c, rfl⟩
           refine' Submodule.smul_mem _ _ v.2)
 #align projectivization.equiv_submodule Projectivization.equivSubmodule
+-/
 
 variable {K V}
 
+#print Projectivization.mk'' /-
 /-- Construct an element of the projectivization from a subspace of dimension 1. -/
 noncomputable def mk'' (H : Submodule K V) (h : finrank K H = 1) : ℙ K V :=
   (equivSubmodule K V).symm ⟨H, h⟩
 #align projectivization.mk'' Projectivization.mk''
+-/
 
+/- warning: projectivization.submodule_mk'' -> Projectivization.submodule_mk'' is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (H : Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (h : Eq.{1} Nat (FiniteDimensional.finrank.{u1, u2} K (coeSort.{succ u2, succ (succ u2)} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) Type.{u2} (SetLike.hasCoeToSort.{u2, u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) V (Submodule.setLike.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3)) H) (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Submodule.addCommGroup.{u1, u2} K V (DivisionRing.toRing.{u1} K _inst_1) _inst_2 _inst_3 H) (Submodule.module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3 H)) (OfNat.ofNat.{0} Nat 1 (OfNat.mk.{0} Nat 1 (One.one.{0} Nat Nat.hasOne)))), Eq.{succ u2} (Submodule.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) _inst_3) (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk''.{u1, u2} K V _inst_1 _inst_2 _inst_3 H h)) H
+but is expected to have type
+  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (H : Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) (h : Eq.{1} Nat (FiniteDimensional.finrank.{u2, u1} K (Subtype.{succ u1} V (fun (x : V) => Membership.mem.{u1, u1} V (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) (SetLike.instMembership.{u1, u1} (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) V (Submodule.setLike.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3)) x H)) (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (Submodule.addCommGroup.{u2, u1} K V (DivisionRing.toRing.{u2} K _inst_1) _inst_2 _inst_3 H) (Submodule.module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3 H)) (OfNat.ofNat.{0} Nat 1 (instOfNatNat 1))), Eq.{succ u1} (Submodule.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2) _inst_3) (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 (Projectivization.mk''.{u2, u1} K V _inst_1 _inst_2 _inst_3 H h)) H
+Case conversion may be inaccurate. Consider using '#align projectivization.submodule_mk'' Projectivization.submodule_mk''ₓ'. -/
 @[simp]
 theorem submodule_mk'' (H : Submodule K V) (h : finrank K H = 1) : (mk'' H h).Submodule = H :=
   by
@@ -222,6 +318,12 @@ theorem submodule_mk'' (H : Submodule K V) (h : finrank K H = 1) : (mk'' H h).Su
   simp
 #align projectivization.submodule_mk'' Projectivization.submodule_mk''
 
+/- warning: projectivization.mk''_submodule -> Projectivization.mk''_submodule is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (v : Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk''.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Projectivization.submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.finrank_submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) v
+but is expected to have type
+  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : DivisionRing.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (DivisionRing.toDivisionSemiring.{u2} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (v : Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Projectivization.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.mk''.{u2, u1} K V _inst_1 _inst_2 _inst_3 (Projectivization.submodule.{u2, u1} K V _inst_1 _inst_2 _inst_3 v) (Projectivization.finrank_submodule.{u1, u2} K V _inst_1 _inst_2 _inst_3 v)) v
+Case conversion may be inaccurate. Consider using '#align projectivization.mk''_submodule Projectivization.mk''_submoduleₓ'. -/
 @[simp]
 theorem mk''_submodule (v : ℙ K V) : mk'' v.Submodule v.finrank_submodule = v :=
   show (equivSubmodule K V).symm (equivSubmodule K V _) = _ by simp
@@ -231,6 +333,12 @@ section Map
 
 variable {L W : Type _} [DivisionRing L] [AddCommGroup W] [Module L W]
 
+/- warning: projectivization.map -> Projectivization.map is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
+but is expected to have type
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} (f : LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6), (Function.Injective.{succ u2, succ u4} V W (FunLike.coe.{max (succ u2) (succ u4), succ u2, succ u4} (LinearMap.{u1, u3, u2, u4} K L (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u1, u3, u2, u4} K L V W (DivisionSemiring.toSemiring.{u1} K (DivisionRing.toDivisionSemiring.{u1} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) -> (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6)
+Case conversion may be inaccurate. Consider using '#align projectivization.map Projectivization.mapₓ'. -/
 /-- An injective semilinear map of vector spaces induces a map on projective spaces. -/
 def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : ℙ K V → ℙ L W :=
   Quotient.map' (fun v => ⟨f v, fun c => v.2 (hf (by simp [c]))⟩)
@@ -241,6 +349,12 @@ def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : 
       erw [← f.map_smulₛₗ, ha])
 #align projectivization.map Projectivization.map
 
+/- warning: projectivization.map_injective -> Projectivization.map_injective is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u1} L K (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1)))} [_inst_7 : RingHomInvPair.{u1, u3} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ τ] (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u4} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u1, u2, u3, u4} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
+but is expected to have type
+  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {σ : RingHom.{u4, u3} K L (NonAssocRing.toNonAssocSemiring.{u4} K (Ring.toNonAssocRing.{u4} K (DivisionRing.toRing.{u4} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u4} L K (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u4} K (Ring.toNonAssocRing.{u4} K (DivisionRing.toRing.{u4} K _inst_1)))} [_inst_7 : RingHomInvPair.{u4, u3} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ τ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)), Function.Injective.{succ u2, succ u1} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf)
+Case conversion may be inaccurate. Consider using '#align projectivization.map_injective Projectivization.map_injectiveₓ'. -/
 /-- Mapping with respect to a semilinear map over an isomorphism of fields yields
 an injective map on projective spaces. -/
 theorem map_injective {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] (f : V →ₛₗ[σ] W)
@@ -260,6 +374,7 @@ theorem map_injective {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] (
   exact hf ha
 #align projectivization.map_injective Projectivization.map_injective
 
+#print Projectivization.map_id /-
 @[simp]
 theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).Injective = id :=
   by
@@ -267,7 +382,14 @@ theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).Injec
   induction v using Projectivization.ind
   rfl
 #align projectivization.map_id Projectivization.map_id
+-/
 
+/- warning: projectivization.map_comp -> Projectivization.map_comp is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u4}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u4} W] [_inst_6 : Module.{u3, u4} L W (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5)] {F : Type.{u5}} {U : Type.{u6}} [_inst_7 : Field.{u5} F] [_inst_8 : AddCommGroup.{u6} U] [_inst_9 : Module.{u5, u6} F U (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8)] {σ : RingHom.{u1, u3} K L (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u5} L F (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u5} F (Ring.toNonAssocRing.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))))} {γ : RingHom.{u1, u5} K F (NonAssocRing.toNonAssocSemiring.{u1} K (Ring.toNonAssocRing.{u1} K (DivisionRing.toRing.{u1} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u5} F (Ring.toNonAssocRing.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u1, u3, u5} K L F (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) σ τ γ] (f : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u4} V W (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u4, succ u6} W U (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) => W -> U) (LinearMap.hasCoeToFun.{u3, u5, u4, u6} L F W U (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u6)} ((Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u5, u6} F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u1, u2, u5, u6} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u1, u3, u5, u2, u4, u6} K L F V W U (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u4, succ u6} V W U (coeFn.{max (succ u4) (succ u6), max (succ u4) (succ u6)} (LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) (fun (_x : LinearMap.{u3, u5, u4, u6} L F (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9) => W -> U) (LinearMap.hasCoeToFun.{u3, u5, u4, u6} L F W U (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (Ring.toSemiring.{u5} F (DivisionRing.toRing.{u5} F (Field.toDivisionRing.{u5} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) (AddCommGroup.toAddCommMonoid.{u6} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) (fun (_x : LinearMap.{u1, u3, u2, u4} K L (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6) => V -> W) (LinearMap.hasCoeToFun.{u1, u3, u2, u4} K L V W (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K _inst_1)) (Ring.toSemiring.{u3} L (DivisionRing.toRing.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u4} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u4, succ u6} (Projectivization.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u4} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u5, u6} F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u4, u5, u6} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u5} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u1, u2, u3, u4} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
+but is expected to have type
+  forall {K : Type.{u4}} {V : Type.{u2}} [_inst_1 : DivisionRing.{u4} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u4, u2} K V (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {L : Type.{u3}} {W : Type.{u1}} [_inst_4 : DivisionRing.{u3} L] [_inst_5 : AddCommGroup.{u1} W] [_inst_6 : Module.{u3, u1} L W (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5)] {F : Type.{u6}} {U : Type.{u5}} [_inst_7 : Field.{u6} F] [_inst_8 : AddCommGroup.{u5} U] [_inst_9 : Module.{u6, u5} F U (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8)] {σ : RingHom.{u4, u3} K L (NonAssocRing.toNonAssocSemiring.{u4} K (Ring.toNonAssocRing.{u4} K (DivisionRing.toRing.{u4} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4)))} {τ : RingHom.{u3, u6} L F (NonAssocRing.toNonAssocSemiring.{u3} L (Ring.toNonAssocRing.{u3} L (DivisionRing.toRing.{u3} L _inst_4))) (NonAssocRing.toNonAssocSemiring.{u6} F (Ring.toNonAssocRing.{u6} F (DivisionRing.toRing.{u6} F (Field.toDivisionRing.{u6} F _inst_7))))} {γ : RingHom.{u4, u6} K F (NonAssocRing.toNonAssocSemiring.{u4} K (Ring.toNonAssocRing.{u4} K (DivisionRing.toRing.{u4} K _inst_1))) (NonAssocRing.toNonAssocSemiring.{u6} F (Ring.toNonAssocRing.{u6} F (DivisionRing.toRing.{u6} F (Field.toDivisionRing.{u6} F _inst_7))))} [_inst_10 : RingHomCompTriple.{u4, u3, u6} K L F (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) σ τ γ] (f : LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) (hf : Function.Injective.{succ u2, succ u1} V W (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f)) (g : LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) (hg : Function.Injective.{succ u1, succ u5} W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g)), Eq.{max (succ u2) (succ u5)} ((Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) -> (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9)) (Projectivization.map.{u4, u2, u6, u5} K V _inst_1 _inst_2 _inst_3 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 γ (LinearMap.comp.{u4, u3, u6, u2, u1, u5} K L F V W U (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_3 _inst_6 _inst_9 σ τ γ _inst_10 g f) (Function.Injective.comp.{succ u2, succ u1, succ u5} V W U (FunLike.coe.{max (succ u1) (succ u5), succ u1, succ u5} (LinearMap.{u3, u6, u1, u5} L F (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) τ W U (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9) W (fun (_x : W) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : W) => U) _x) (LinearMap.instFunLikeLinearMap.{u3, u6, u1, u5} L F W U (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (DivisionSemiring.toSemiring.{u6} F (Semifield.toDivisionSemiring.{u6} F (Field.toSemifield.{u6} F _inst_7))) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) (AddCommGroup.toAddCommMonoid.{u5} U _inst_8) _inst_6 _inst_9 τ) g) (fun (x : V) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearMap.{u4, u3, u2, u1} K L (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) σ V W (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6) V (fun (_x : V) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6190 : V) => W) _x) (LinearMap.instFunLikeLinearMap.{u4, u3, u2, u1} K L V W (DivisionSemiring.toSemiring.{u4} K (DivisionRing.toDivisionSemiring.{u4} K _inst_1)) (DivisionSemiring.toSemiring.{u3} L (DivisionRing.toDivisionSemiring.{u3} L _inst_4)) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2) (AddCommGroup.toAddCommMonoid.{u1} W _inst_5) _inst_3 _inst_6 σ) f x) hg hf)) (Function.comp.{succ u2, succ u1, succ u5} (Projectivization.{u4, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u3, u1} L W _inst_4 _inst_5 _inst_6) (Projectivization.{u6, u5} F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9) (Projectivization.map.{u3, u1, u6, u5} L W _inst_4 _inst_5 _inst_6 F U (Field.toDivisionRing.{u6} F _inst_7) _inst_8 _inst_9 τ g hg) (Projectivization.map.{u4, u2, u3, u1} K V _inst_1 _inst_2 _inst_3 L W _inst_4 _inst_5 _inst_6 σ f hf))
+Case conversion may be inaccurate. Consider using '#align projectivization.map_comp Projectivization.map_compₓ'. -/
 @[simp]
 theorem map_comp {F U : Type _} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
     {γ : K →+* F} [RingHomCompTriple σ τ γ] (f : V →ₛₗ[σ] W) (hf : Function.Injective f)

Changes in mathlib4

mathlib3
mathlib4
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -223,7 +223,7 @@ theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).injec
   rfl
 #align projectivization.map_id Projectivization.map_id
 
--- porting note: removed `@[simp]` because of unusable `hg.comp hf` in the LHS
+-- Porting note: removed `@[simp]` because of unusable `hg.comp hf` in the LHS
 theorem map_comp {F U : Type*} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
     {γ : K →+* F} [RingHomCompTriple σ τ γ] (f : V →ₛₗ[σ] W) (hf : Function.Injective f)
     (g : W →ₛₗ[τ] U) (hg : Function.Injective g) :
refactor(LinearAlgebra.ProjectiveSpace): localize notation and rename folder (#8394)

Following https://leanprover.zulipchat.com/#narrow/stream/116395-maths/topic/Projectivization I localize the notation $\mathbb{P}$ to the namespace LinearAlgebra.Projectivization. Following the discussion there, the namespace Projectivization is not optimal, as the notion can refer to different constructions, hence the choice of adding LinearAlgebra. in front of it.

Also, in accordance with the philosophy in the implementation, I replace "Projective Space" by "Projectivization" in the name of the folder, because the idea is that there is no "canonical" choice of the vector space one should start with to construct the projectivization.

Diff
@@ -16,7 +16,8 @@ as well as the bijection between said projectivization and the collection of all
 dimensional subspaces of the vector space.
 
 ## Notation
-`ℙ K V` is notation for `Projectivization K V`, the projectivization of a `K`-vector space `V`.
+`ℙ K V` is localized notation for `Projectivization K V`, the projectivization of a `K`-vector
+space `V`.
 
 ## Constructing terms of `ℙ K V`.
 We have three ways to construct terms of `ℙ K V`:
@@ -32,7 +33,6 @@ We have three ways to construct terms of `ℙ K V`:
 
 -/
 
-
 variable (K V : Type*) [DivisionRing K] [AddCommGroup V] [Module K V]
 
 /-- The setoid whose quotient is the projectivization of `V`. -/
@@ -45,10 +45,13 @@ The notation `ℙ K V` is preferred. -/
 def Projectivization := Quotient (projectivizationSetoid K V)
 #align projectivization Projectivization
 
-notation "ℙ" => Projectivization
+/-- We define notations `ℙ K V` for the projectivization of the `K`-vector space `V`. -/
+scoped[LinearAlgebra.Projectivization] notation "ℙ" => Projectivization
 
 namespace Projectivization
 
+open scoped LinearAlgebra.Projectivization
+
 variable {V}
 
 /-- Construct an element of the projectivization from a nonzero vector. -/
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
@@ -33,7 +33,7 @@ We have three ways to construct terms of `ℙ K V`:
 -/
 
 
-variable (K V : Type _) [DivisionRing K] [AddCommGroup V] [Module K V]
+variable (K V : Type*) [DivisionRing K] [AddCommGroup V] [Module K V]
 
 /-- The setoid whose quotient is the projectivization of `V`. -/
 def projectivizationSetoid : Setoid { v : V // v ≠ 0 } :=
@@ -187,7 +187,7 @@ theorem mk''_submodule (v : ℙ K V) : mk'' v.submodule v.finrank_submodule = v
 
 section Map
 
-variable {L W : Type _} [DivisionRing L] [AddCommGroup W] [Module L W]
+variable {L W : Type*} [DivisionRing L] [AddCommGroup W] [Module L W]
 
 /-- An injective semilinear map of vector spaces induces a map on projective spaces. -/
 def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : ℙ K V → ℙ L W :=
@@ -221,7 +221,7 @@ theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).injec
 #align projectivization.map_id Projectivization.map_id
 
 -- porting note: removed `@[simp]` because of unusable `hg.comp hf` in the LHS
-theorem map_comp {F U : Type _} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
+theorem map_comp {F U : Type*} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
     {γ : K →+* F} [RingHomCompTriple σ τ γ] (f : V →ₛₗ[σ] W) (hf : Function.Injective f)
     (g : W →ₛₗ[τ] U) (hg : Function.Injective g) :
     map (g.comp f) (hg.comp hf) = map g hg ∘ map f hf := by
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,14 +2,11 @@
 Copyright (c) 2022 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
-
-! This file was ported from Lean 3 source module linear_algebra.projective_space.basic
-! leanprover-community/mathlib commit c4658a649d216f57e99621708b09dcb3dcccbd23
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.LinearAlgebra.FiniteDimensional
 
+#align_import linear_algebra.projective_space.basic from "leanprover-community/mathlib"@"c4658a649d216f57e99621708b09dcb3dcccbd23"
+
 /-!
 
 # Projective Spaces
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

Now that leanprover/lean4#2210 has been merged, this PR:

  • removes all the set_option synthInstance.etaExperiment true commands (and some etaExperiment% term elaborators)
  • removes many but not quite all set_option maxHeartbeats commands
  • makes various other changes required to cope with leanprover/lean4#2210.

Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au> Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Matthew Ballard <matt@mrb.email>

Diff
@@ -192,7 +192,6 @@ section Map
 
 variable {L W : Type _} [DivisionRing L] [AddCommGroup W] [Module L W]
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 /-- An injective semilinear map of vector spaces induces a map on projective spaces. -/
 def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : ℙ K V → ℙ L W :=
   Quotient.map' (fun v => ⟨f v, fun c => v.2 (hf (by simp [c]))⟩)
@@ -203,12 +202,10 @@ def map {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) : 
       erw [← f.map_smulₛₗ, ha])
 #align projectivization.map Projectivization.map
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 theorem map_mk {σ : K →+* L} (f : V →ₛₗ[σ] W) (hf : Function.Injective f) (v : V) (hv : v ≠ 0) :
     map f hf (mk K v hv) = mk L (f v) (map_zero f ▸ hf.ne hv) :=
   rfl
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 /-- Mapping with respect to a semilinear map over an isomorphism of fields yields
 an injective map on projective spaces. -/
 theorem map_injective {σ : K →+* L} {τ : L →+* K} [RingHomInvPair σ τ] (f : V →ₛₗ[σ] W)
@@ -226,7 +223,6 @@ theorem map_id : map (LinearMap.id : V →ₗ[K] V) (LinearEquiv.refl K V).injec
   rfl
 #align projectivization.map_id Projectivization.map_id
 
-set_option synthInstance.etaExperiment true in -- lean4#2074
 -- porting note: removed `@[simp]` because of unusable `hg.comp hf` in the LHS
 theorem map_comp {F U : Type _} [Field F] [AddCommGroup U] [Module F U] {σ : K →+* L} {τ : L →+* F}
     {γ : K →+* F} [RingHomCompTriple σ τ γ] (f : V →ₛₗ[σ] W) (hf : Function.Injective f)
feat: port LinearAlgebra.ProjectiveSpace.Basic (#3692)

Dependencies 10 + 513

514 files ported (98.1%)
214425 lines ported (98.4%)
Show graph

The unported dependencies are