linear_algebra.projective_space.subspaceMathlib.LinearAlgebra.Projectivization.Subspace

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Michael Blyth. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Michael Blyth
 -/
-import LinearAlgebra.ProjectiveSpace.Basic
+import LinearAlgebra.Projectivization.Basic
 
 #align_import linear_algebra.projective_space.subspace from "leanprover-community/mathlib"@"a2706b55e8d7f7e9b1f93143f0b88f2e34a11eea"
 
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2022 Michael Blyth. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Michael Blyth
 -/
-import Mathbin.LinearAlgebra.ProjectiveSpace.Basic
+import LinearAlgebra.ProjectiveSpace.Basic
 
 #align_import linear_algebra.projective_space.subspace from "leanprover-community/mathlib"@"a2706b55e8d7f7e9b1f93143f0b88f2e34a11eea"
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2022 Michael Blyth. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Michael Blyth
-
-! This file was ported from Lean 3 source module linear_algebra.projective_space.subspace
-! leanprover-community/mathlib commit a2706b55e8d7f7e9b1f93143f0b88f2e34a11eea
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.LinearAlgebra.ProjectiveSpace.Basic
 
+#align_import linear_algebra.projective_space.subspace from "leanprover-community/mathlib"@"a2706b55e8d7f7e9b1f93143f0b88f2e34a11eea"
+
 /-!
 # Subspaces of Projective Space
 
Diff
@@ -63,16 +63,20 @@ instance : SetLike (Subspace K V) (ℙ K V)
   coe := carrier
   coe_injective' A B := by cases A; cases B; simp
 
+#print Projectivization.Subspace.mem_carrier_iff /-
 @[simp]
 theorem mem_carrier_iff (A : Subspace K V) (x : ℙ K V) : x ∈ A.carrier ↔ x ∈ A :=
   Iff.refl _
 #align projectivization.subspace.mem_carrier_iff Projectivization.Subspace.mem_carrier_iff
+-/
 
+#print Projectivization.Subspace.mem_add /-
 theorem mem_add (T : Subspace K V) (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) (hvw : v + w ≠ 0) :
     Projectivization.mk K v hv ∈ T →
       Projectivization.mk K w hw ∈ T → Projectivization.mk K (v + w) hvw ∈ T :=
   T.mem_add' v w hv hw hvw
 #align projectivization.subspace.mem_add Projectivization.Subspace.mem_add
+-/
 
 #print Projectivization.Subspace.spanCarrier /-
 /-- The span of a set of points in a projective space is defined inductively to be the set of points
@@ -102,6 +106,7 @@ theorem subset_span (S : Set (ℙ K V)) : S ⊆ span S := fun x hx => spanCarrie
 #align projectivization.subspace.subset_span Projectivization.Subspace.subset_span
 -/
 
+#print Projectivization.Subspace.gi /-
 /-- The span of a set of points is a Galois insertion between sets of points of a projective space
 and subspaces of the projective space. -/
 def gi : GaloisInsertion (span : Set (ℙ K V) → Subspace K V) coe
@@ -116,12 +121,15 @@ def gi : GaloisInsertion (span : Set (ℙ K V) → Subspace K V) coe
   le_l_u S := subset_span _
   choice_eq _ _ := rfl
 #align projectivization.subspace.gi Projectivization.Subspace.gi
+-/
 
+#print Projectivization.Subspace.span_coe /-
 /-- The span of a subspace is the subspace. -/
 @[simp]
 theorem span_coe (W : Subspace K V) : span ↑W = W :=
   GaloisInsertion.l_u_eq gi W
 #align projectivization.subspace.span_coe Projectivization.Subspace.span_coe
+-/
 
 #print Projectivization.Subspace.instInf /-
 /-- The infimum of two subspaces exists. -/
@@ -160,30 +168,38 @@ instance subspaceInhabited : Inhabited (Subspace K V) where default := ⊤
 #align projectivization.subspace.subspace_inhabited Projectivization.Subspace.subspaceInhabited
 -/
 
+#print Projectivization.Subspace.span_empty /-
 /-- The span of the empty set is the bottom of the lattice of subspaces. -/
 @[simp]
 theorem span_empty : span (∅ : Set (ℙ K V)) = ⊥ :=
   gi.gc.l_bot
 #align projectivization.subspace.span_empty Projectivization.Subspace.span_empty
+-/
 
+#print Projectivization.Subspace.span_univ /-
 /-- The span of the entire projective space is the top of the lattice of subspaces. -/
 @[simp]
 theorem span_univ : span (Set.univ : Set (ℙ K V)) = ⊤ := by rw [eq_top_iff, SetLike.le_def];
   intro x hx; exact subset_span _ (Set.mem_univ x)
 #align projectivization.subspace.span_univ Projectivization.Subspace.span_univ
+-/
 
+#print Projectivization.Subspace.span_le_subspace_iff /-
 /-- The span of a set of points is contained in a subspace if and only if the set of points is
 contained in the subspace. -/
 theorem span_le_subspace_iff {S : Set (ℙ K V)} {W : Subspace K V} : span S ≤ W ↔ S ⊆ W :=
   gi.gc S W
 #align projectivization.subspace.span_le_subspace_iff Projectivization.Subspace.span_le_subspace_iff
+-/
 
+#print Projectivization.Subspace.monotone_span /-
 /-- If a set of points is a subset of another set of points, then its span will be contained in the
 span of that set. -/
 @[mono]
 theorem monotone_span : Monotone (span : Set (ℙ K V) → Subspace K V) :=
   gi.gc.monotone_l
 #align projectivization.subspace.monotone_span Projectivization.Subspace.monotone_span
+-/
 
 #print Projectivization.Subspace.subset_span_trans /-
 theorem subset_span_trans {S T U : Set (ℙ K V)} (hST : S ⊆ span T) (hTU : T ⊆ span U) :
@@ -192,26 +208,34 @@ theorem subset_span_trans {S T U : Set (ℙ K V)} (hST : S ⊆ span T) (hTU : T
 #align projectivization.subspace.subset_span_trans Projectivization.Subspace.subset_span_trans
 -/
 
+#print Projectivization.Subspace.span_union /-
 /-- The supremum of two subspaces is equal to the span of their union. -/
 theorem span_union (S T : Set (ℙ K V)) : span (S ∪ T) = span S ⊔ span T :=
   (@gi K V _ _ _).gc.l_sup
 #align projectivization.subspace.span_union Projectivization.Subspace.span_union
+-/
 
+#print Projectivization.Subspace.span_iUnion /-
 /-- The supremum of a collection of subspaces is equal to the span of the union of the
 collection. -/
 theorem span_iUnion {ι} (s : ι → Set (ℙ K V)) : span (⋃ i, s i) = ⨆ i, span (s i) :=
   (@gi K V _ _ _).gc.l_iSup
 #align projectivization.subspace.span_Union Projectivization.Subspace.span_iUnion
+-/
 
+#print Projectivization.Subspace.sup_span /-
 /-- The supremum of a subspace and the span of a set of points is equal to the span of the union of
 the subspace and the set of points. -/
 theorem sup_span {S : Set (ℙ K V)} {W : Subspace K V} : W ⊔ span S = span (W ∪ S) := by
   rw [span_union, span_coe]
 #align projectivization.subspace.sup_span Projectivization.Subspace.sup_span
+-/
 
+#print Projectivization.Subspace.span_sup /-
 theorem span_sup {S : Set (ℙ K V)} {W : Subspace K V} : span S ⊔ W = span (S ∪ W) := by
   rw [span_union, span_coe]
 #align projectivization.subspace.span_sup Projectivization.Subspace.span_sup
+-/
 
 #print Projectivization.Subspace.mem_span /-
 /-- A point in a projective space is contained in the span of a set of points if and only if the
@@ -234,6 +258,7 @@ theorem span_eq_sInf {S : Set (ℙ K V)} : span S = sInf {W | S ⊆ W} :=
 #align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_sInf
 -/
 
+#print Projectivization.Subspace.span_eq_of_le /-
 /-- If a set of points in projective space is contained in a subspace, and that subspace is
 contained in the span of the set of points, then the span of the set of points is equal to
 the subspace. -/
@@ -241,6 +266,7 @@ theorem span_eq_of_le {S : Set (ℙ K V)} {W : Subspace K V} (hS : S ⊆ W) (hW
     span S = W :=
   le_antisymm (span_le_subspace_iff.mpr hS) hW
 #align projectivization.subspace.span_eq_of_le Projectivization.Subspace.span_eq_of_le
+-/
 
 #print Projectivization.Subspace.span_eq_span_iff /-
 /-- The spans of two sets of points in a projective space are equal if and only if each set of
Diff
@@ -224,13 +224,13 @@ theorem mem_span {S : Set (ℙ K V)} (u : ℙ K V) : u ∈ span S ↔ ∀ W : Su
 #print Projectivization.Subspace.span_eq_sInf /-
 /-- The span of a set of points in a projective space is equal to the infimum of the collection of
 subspaces which contain the set. -/
-theorem span_eq_sInf {S : Set (ℙ K V)} : span S = sInf { W | S ⊆ W } :=
+theorem span_eq_sInf {S : Set (ℙ K V)} : span S = sInf {W | S ⊆ W} :=
   by
   ext
   simp_rw [mem_carrier_iff, mem_span x]
   refine' ⟨fun hx => _, fun hx W hW => _⟩
   · rintro W ⟨T, ⟨hT, rfl⟩⟩; exact hx T hT
-  · exact (@sInf_le _ _ { W : Subspace K V | S ⊆ ↑W } W hW) x hx
+  · exact (@sInf_le _ _ {W : Subspace K V | S ⊆ ↑W} W hW) x hx
 #align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_sInf
 -/
 
Diff
@@ -63,23 +63,11 @@ instance : SetLike (Subspace K V) (ℙ K V)
   coe := carrier
   coe_injective' A B := by cases A; cases B; simp
 
-/- warning: projectivization.subspace.mem_carrier_iff -> Projectivization.Subspace.mem_carrier_iff is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (A : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (x : Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3), Iff (Membership.Mem.{u2, u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasMem.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) x (Projectivization.Subspace.carrier.{u1, u2} K V _inst_1 _inst_2 _inst_3 A)) (Membership.Mem.{u2, u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)) x A)
-but is expected to have type
-  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : Field.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (A : Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (x : Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3), Iff (Membership.mem.{u1, u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Set.{u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3)) (Set.instMembershipSet.{u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3)) x (Projectivization.Subspace.carrier.{u2, u1} K V _inst_1 _inst_2 _inst_3 A)) (Membership.mem.{u1, u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u2, u1} K V _inst_1 _inst_2 _inst_3)) x A)
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.mem_carrier_iff Projectivization.Subspace.mem_carrier_iffₓ'. -/
 @[simp]
 theorem mem_carrier_iff (A : Subspace K V) (x : ℙ K V) : x ∈ A.carrier ↔ x ∈ A :=
   Iff.refl _
 #align projectivization.subspace.mem_carrier_iff Projectivization.Subspace.mem_carrier_iff
 
-/- warning: projectivization.subspace.mem_add -> Projectivization.Subspace.mem_add is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (T : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (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))))))))) (hvw : Ne.{succ u2} V (HAdd.hAdd.{u2, u2, u2} V V V (instHAdd.{u2} V (AddZeroClass.toHasAdd.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))) 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))))))))), (Membership.Mem.{u2, u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3 v hv) T) -> (Membership.Mem.{u2, u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3 w hw) T) -> (Membership.Mem.{u2, u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3 (HAdd.hAdd.{u2, u2, u2} V V V (instHAdd.{u2} V (AddZeroClass.toHasAdd.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))) v w) hvw) T)
-but is expected to have type
-  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : Field.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (T : Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (v : V) (w : V) (hv : 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)))))))) (hw : Ne.{succ u1} V w (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)))))))) (hvw : Ne.{succ u1} V (HAdd.hAdd.{u1, u1, u1} V V V (instHAdd.{u1} V (AddZeroClass.toAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))) v w) (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)))))))), (Membership.mem.{u1, u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u2, u1} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3 v hv) T) -> (Membership.mem.{u1, u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u2, u1} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3 w hw) T) -> (Membership.mem.{u1, u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u2, u1} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3 (HAdd.hAdd.{u1, u1, u1} V V V (instHAdd.{u1} V (AddZeroClass.toAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))) v w) hvw) T)
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.mem_add Projectivization.Subspace.mem_addₓ'. -/
 theorem mem_add (T : Subspace K V) (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) (hvw : v + w ≠ 0) :
     Projectivization.mk K v hv ∈ T →
       Projectivization.mk K w hw ∈ T → Projectivization.mk K (v + w) hvw ∈ T :=
@@ -114,12 +102,6 @@ theorem subset_span (S : Set (ℙ K V)) : S ⊆ span S := fun x hx => spanCarrie
 #align projectivization.subspace.subset_span Projectivization.Subspace.subset_span
 -/
 
-/- warning: projectivization.subspace.gi -> Projectivization.Subspace.gi is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], GaloisInsertion.{u2, u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.completeBooleanAlgebra.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))))))) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.partialOrder.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3))) (Projectivization.Subspace.span.{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) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{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 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], GaloisInsertion.{u2, u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instCompleteBooleanAlgebraSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))))))) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.instPartialOrder.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.gi Projectivization.Subspace.giₓ'. -/
 /-- The span of a set of points is a Galois insertion between sets of points of a projective space
 and subspaces of the projective space. -/
 def gi : GaloisInsertion (span : Set (ℙ K V) → Subspace K V) coe
@@ -135,12 +117,6 @@ def gi : GaloisInsertion (span : Set (ℙ K V) → Subspace K V) coe
   choice_eq _ _ := rfl
 #align projectivization.subspace.gi Projectivization.Subspace.gi
 
-/- warning: projectivization.subspace.span_coe -> Projectivization.Subspace.span_coe is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{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) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W)) W
-but is expected to have type
-  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : Field.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (W : Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u2, u1} K V _inst_1 _inst_2 _inst_3 (SetLike.coe.{u1, u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u2, u1} K V _inst_1 _inst_2 _inst_3) W)) W
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_coe Projectivization.Subspace.span_coeₓ'. -/
 /-- The span of a subspace is the subspace. -/
 @[simp]
 theorem span_coe (W : Subspace K V) : span ↑W = W :=
@@ -184,48 +160,24 @@ instance subspaceInhabited : Inhabited (Subspace K V) where default := ⊤
 #align projectivization.subspace.subspace_inhabited Projectivization.Subspace.subspaceInhabited
 -/
 
-/- warning: projectivization.subspace.span_empty -> Projectivization.Subspace.span_empty is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (EmptyCollection.emptyCollection.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasEmptyc.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))) (Bot.bot.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toHasBot.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{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 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (EmptyCollection.emptyCollection.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instEmptyCollectionSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))) (Bot.bot.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toBot.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3)))
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_empty Projectivization.Subspace.span_emptyₓ'. -/
 /-- The span of the empty set is the bottom of the lattice of subspaces. -/
 @[simp]
 theorem span_empty : span (∅ : Set (ℙ K V)) = ⊥ :=
   gi.gc.l_bot
 #align projectivization.subspace.span_empty Projectivization.Subspace.span_empty
 
-/- warning: projectivization.subspace.span_univ -> Projectivization.Subspace.span_univ is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.univ.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))) (Top.top.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toHasTop.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{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 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.univ.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))) (Top.top.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toTop.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3)))
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_univ Projectivization.Subspace.span_univₓ'. -/
 /-- The span of the entire projective space is the top of the lattice of subspaces. -/
 @[simp]
 theorem span_univ : span (Set.univ : Set (ℙ K V)) = ⊤ := by rw [eq_top_iff, SetLike.le_def];
   intro x hx; exact subset_span _ (Set.mem_univ x)
 #align projectivization.subspace.span_univ Projectivization.Subspace.span_univ
 
-/- warning: projectivization.subspace.span_le_subspace_iff -> Projectivization.Subspace.span_le_subspace_iff is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Iff (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W) (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W))
-but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Iff (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W) (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instHasSubsetSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W))
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_le_subspace_iff Projectivization.Subspace.span_le_subspace_iffₓ'. -/
 /-- The span of a set of points is contained in a subspace if and only if the set of points is
 contained in the subspace. -/
 theorem span_le_subspace_iff {S : Set (ℙ K V)} {W : Subspace K V} : span S ≤ W ↔ S ⊆ W :=
   gi.gc S W
 #align projectivization.subspace.span_le_subspace_iff Projectivization.Subspace.span_le_subspace_iff
 
-/- warning: projectivization.subspace.monotone_span -> Projectivization.Subspace.monotone_span is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Monotone.{u2, u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.completeBooleanAlgebra.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))))))) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) (Projectivization.Subspace.span.{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 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Monotone.{u2, u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instCompleteBooleanAlgebraSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))))))) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.monotone_span Projectivization.Subspace.monotone_spanₓ'. -/
 /-- If a set of points is a subset of another set of points, then its span will be contained in the
 span of that set. -/
 @[mono]
@@ -240,47 +192,23 @@ theorem subset_span_trans {S T U : Set (ℙ K V)} (hST : S ⊆ span T) (hTU : T
 #align projectivization.subspace.subset_span_trans Projectivization.Subspace.subset_span_trans
 -/
 
-/- warning: projectivization.subspace.span_union -> Projectivization.Subspace.span_union is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (T : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasUnion.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S T)) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 T))
-but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (T : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instUnionSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S T)) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 T))
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_union Projectivization.Subspace.span_unionₓ'. -/
 /-- The supremum of two subspaces is equal to the span of their union. -/
 theorem span_union (S T : Set (ℙ K V)) : span (S ∪ T) = span S ⊔ span T :=
   (@gi K V _ _ _).gc.l_sup
 #align projectivization.subspace.span_union Projectivization.Subspace.span_union
 
-/- warning: projectivization.subspace.span_Union -> Projectivization.Subspace.span_iUnion is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} (s : ι -> (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.iUnion.{u2, u3} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => s i))) (iSup.{u2, u3} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))) ι (fun (i : ι) => Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (s i)))
-but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} (s : ι -> (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.iUnion.{u2, u3} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => s i))) (iSup.{u2, u3} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))) ι (fun (i : ι) => Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (s i)))
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_Union Projectivization.Subspace.span_iUnionₓ'. -/
 /-- The supremum of a collection of subspaces is equal to the span of the union of the
 collection. -/
 theorem span_iUnion {ι} (s : ι → Set (ℙ K V)) : span (⋃ i, s i) = ⨆ i, span (s i) :=
   (@gi K V _ _ _).gc.l_iSup
 #align projectivization.subspace.span_Union Projectivization.Subspace.span_iUnion
 
-/- warning: projectivization.subspace.sup_span -> Projectivization.Subspace.sup_span is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) W (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S)) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasUnion.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W) S))
-but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) W (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S)) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instUnionSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W) S))
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.sup_span Projectivization.Subspace.sup_spanₓ'. -/
 /-- The supremum of a subspace and the span of a set of points is equal to the span of the union of
 the subspace and the set of points. -/
 theorem sup_span {S : Set (ℙ K V)} {W : Subspace K V} : W ⊔ span S = span (W ∪ S) := by
   rw [span_union, span_coe]
 #align projectivization.subspace.sup_span Projectivization.Subspace.sup_span
 
-/- warning: projectivization.subspace.span_sup -> Projectivization.Subspace.span_sup is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasUnion.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W)))
-but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instUnionSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W)))
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_sup Projectivization.Subspace.span_supₓ'. -/
 theorem span_sup {S : Set (ℙ K V)} {W : Subspace K V} : span S ⊔ W = span (S ∪ W) := by
   rw [span_union, span_coe]
 #align projectivization.subspace.span_sup Projectivization.Subspace.span_sup
@@ -306,12 +234,6 @@ theorem span_eq_sInf {S : Set (ℙ K V)} : span S = sInf { W | S ⊆ W } :=
 #align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_sInf
 -/
 
-/- warning: projectivization.subspace.span_eq_of_le -> Projectivization.Subspace.span_eq_of_le is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W)) -> (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) W (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S)) -> (Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W)
-but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instHasSubsetSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W)) -> (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) W (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S)) -> (Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W)
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_eq_of_le Projectivization.Subspace.span_eq_of_leₓ'. -/
 /-- If a set of points in projective space is contained in a subspace, and that subspace is
 contained in the span of the set of points, then the span of the set of points is equal to
 the subspace. -/
Diff
@@ -61,10 +61,7 @@ variable {K V}
 instance : SetLike (Subspace K V) (ℙ K V)
     where
   coe := carrier
-  coe_injective' A B := by
-    cases A
-    cases B
-    simp
+  coe_injective' A B := by cases A; cases B; simp
 
 /- warning: projectivization.subspace.mem_carrier_iff -> Projectivization.Subspace.mem_carrier_iff is a dubious translation:
 lean 3 declaration is
@@ -132,10 +129,8 @@ def gi : GaloisInsertion (span : Set (ℙ K V) → Subspace K V) coe
     ⟨fun h => le_trans (subset_span _) h, by
       intro h x hx
       induction hx
-      · apply h
-        assumption
-      · apply B.mem_add
-        assumption'⟩
+      · apply h; assumption
+      · apply B.mem_add; assumption'⟩
   le_l_u S := subset_span _
   choice_eq _ _ := rfl
 #align projectivization.subspace.gi Projectivization.Subspace.gi
@@ -209,11 +204,8 @@ but is expected to have type
 Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_univ Projectivization.Subspace.span_univₓ'. -/
 /-- The span of the entire projective space is the top of the lattice of subspaces. -/
 @[simp]
-theorem span_univ : span (Set.univ : Set (ℙ K V)) = ⊤ :=
-  by
-  rw [eq_top_iff, SetLike.le_def]
-  intro x hx
-  exact subset_span _ (Set.mem_univ x)
+theorem span_univ : span (Set.univ : Set (ℙ K V)) = ⊤ := by rw [eq_top_iff, SetLike.le_def];
+  intro x hx; exact subset_span _ (Set.mem_univ x)
 #align projectivization.subspace.span_univ Projectivization.Subspace.span_univ
 
 /- warning: projectivization.subspace.span_le_subspace_iff -> Projectivization.Subspace.span_le_subspace_iff is a dubious translation:
@@ -297,9 +289,7 @@ theorem span_sup {S : Set (ℙ K V)} {W : Subspace K V} : span S ⊔ W = span (S
 /-- A point in a projective space is contained in the span of a set of points if and only if the
 point is contained in all subspaces of the projective space which contain the set of points. -/
 theorem mem_span {S : Set (ℙ K V)} (u : ℙ K V) : u ∈ span S ↔ ∀ W : Subspace K V, S ⊆ W → u ∈ W :=
-  by
-  simp_rw [← span_le_subspace_iff]
-  exact ⟨fun hu W hW => hW hu, fun W => W (span S) (le_refl _)⟩
+  by simp_rw [← span_le_subspace_iff]; exact ⟨fun hu W hW => hW hu, fun W => W (span S) (le_refl _)⟩
 #align projectivization.subspace.mem_span Projectivization.Subspace.mem_span
 -/
 
@@ -311,8 +301,7 @@ theorem span_eq_sInf {S : Set (ℙ K V)} : span S = sInf { W | S ⊆ W } :=
   ext
   simp_rw [mem_carrier_iff, mem_span x]
   refine' ⟨fun hx => _, fun hx W hW => _⟩
-  · rintro W ⟨T, ⟨hT, rfl⟩⟩
-    exact hx T hT
+  · rintro W ⟨T, ⟨hT, rfl⟩⟩; exact hx T hT
   · exact (@sInf_le _ _ { W : Subspace K V | S ⊆ ↑W } W hW) x hx
 #align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_sInf
 -/
Diff
@@ -218,7 +218,7 @@ theorem span_univ : span (Set.univ : Set (ℙ K V)) = ⊤ :=
 
 /- warning: projectivization.subspace.span_le_subspace_iff -> Projectivization.Subspace.span_le_subspace_iff is a dubious translation:
 lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Iff (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W) (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W))
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Iff (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W) (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W))
 but is expected to have type
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Iff (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W) (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instHasSubsetSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W))
 Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_le_subspace_iff Projectivization.Subspace.span_le_subspace_iffₓ'. -/
@@ -319,7 +319,7 @@ theorem span_eq_sInf {S : Set (ℙ K V)} : span S = sInf { W | S ⊆ W } :=
 
 /- warning: projectivization.subspace.span_eq_of_le -> Projectivization.Subspace.span_eq_of_le is a dubious translation:
 lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W)) -> (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) W (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S)) -> (Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W)
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W)) -> (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toHasLe.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) W (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S)) -> (Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W)
 but is expected to have type
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instHasSubsetSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W)) -> (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) W (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S)) -> (Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W)
 Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_eq_of_le Projectivization.Subspace.span_eq_of_leₓ'. -/
Diff
@@ -152,23 +152,25 @@ theorem span_coe (W : Subspace K V) : span ↑W = W :=
   GaloisInsertion.l_u_eq gi W
 #align projectivization.subspace.span_coe Projectivization.Subspace.span_coe
 
-#print Projectivization.Subspace.hasInf /-
+#print Projectivization.Subspace.instInf /-
 /-- The infimum of two subspaces exists. -/
-instance hasInf : Inf (Subspace K V) :=
+instance instInf : Inf (Subspace K V) :=
   ⟨fun A B =>
     ⟨A ⊓ B, fun v w hv hw hvw h1 h2 =>
       ⟨A.mem_add _ _ hv hw _ h1.1 h2.1, B.mem_add _ _ hv hw _ h1.2 h2.2⟩⟩⟩
-#align projectivization.subspace.has_inf Projectivization.Subspace.hasInf
+#align projectivization.subspace.has_inf Projectivization.Subspace.instInf
 -/
 
+#print Projectivization.Subspace.instInfSet /-
 /-- Infimums of arbitrary collections of subspaces exist. -/
-instance hasInf : InfSet (Subspace K V) :=
+instance instInfSet : InfSet (Subspace K V) :=
   ⟨fun A =>
     ⟨sInf (coe '' A), fun v w hv hw hvw h1 h2 t =>
       by
       rintro ⟨s, hs, rfl⟩
       exact s.mem_add v w hv hw _ (h1 s ⟨s, hs, rfl⟩) (h2 s ⟨s, hs, rfl⟩)⟩⟩
-#align projectivization.subspace.has_Inf Projectivization.Subspace.hasInfₓ
+#align projectivization.subspace.has_Inf Projectivization.Subspace.instInfSet
+-/
 
 /-- The subspaces of a projective space form a complete lattice. -/
 instance : CompleteLattice (Subspace K V) :=
@@ -301,12 +303,7 @@ theorem mem_span {S : Set (ℙ K V)} (u : ℙ K V) : u ∈ span S ↔ ∀ W : Su
 #align projectivization.subspace.mem_span Projectivization.Subspace.mem_span
 -/
 
-/- warning: projectivization.subspace.span_eq_Inf -> Projectivization.Subspace.span_eq_sInf is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (InfSet.sInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.hasInfₓ.{u1, u2} K V _inst_1 _inst_2 _inst_3) (setOf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (fun (W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) => HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W))))
-but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (InfSet.sInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instInfSetSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (setOf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (fun (W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) => HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instHasSubsetSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W))))
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_sInfₓ'. -/
+#print Projectivization.Subspace.span_eq_sInf /-
 /-- The span of a set of points in a projective space is equal to the infimum of the collection of
 subspaces which contain the set. -/
 theorem span_eq_sInf {S : Set (ℙ K V)} : span S = sInf { W | S ⊆ W } :=
@@ -318,6 +315,7 @@ theorem span_eq_sInf {S : Set (ℙ K V)} : span S = sInf { W | S ⊆ W } :=
     exact hx T hT
   · exact (@sInf_le _ _ { W : Subspace K V | S ⊆ ↑W } W hW) x hx
 #align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_sInf
+-/
 
 /- warning: projectivization.subspace.span_eq_of_le -> Projectivization.Subspace.span_eq_of_le is a dubious translation:
 lean 3 declaration is
Diff
@@ -164,7 +164,7 @@ instance hasInf : Inf (Subspace K V) :=
 /-- Infimums of arbitrary collections of subspaces exist. -/
 instance hasInf : InfSet (Subspace K V) :=
   ⟨fun A =>
-    ⟨infₛ (coe '' A), fun v w hv hw hvw h1 h2 t =>
+    ⟨sInf (coe '' A), fun v w hv hw hvw h1 h2 t =>
       by
       rintro ⟨s, hs, rfl⟩
       exact s.mem_add v w hv hw _ (h1 s ⟨s, hs, rfl⟩) (h2 s ⟨s, hs, rfl⟩)⟩⟩
@@ -257,17 +257,17 @@ theorem span_union (S T : Set (ℙ K V)) : span (S ∪ T) = span S ⊔ span T :=
   (@gi K V _ _ _).gc.l_sup
 #align projectivization.subspace.span_union Projectivization.Subspace.span_union
 
-/- warning: projectivization.subspace.span_Union -> Projectivization.Subspace.span_unionᵢ is a dubious translation:
+/- warning: projectivization.subspace.span_Union -> Projectivization.Subspace.span_iUnion is a dubious translation:
 lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} (s : ι -> (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.unionᵢ.{u2, u3} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => s i))) (supᵢ.{u2, u3} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))) ι (fun (i : ι) => Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (s i)))
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} (s : ι -> (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.iUnion.{u2, u3} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => s i))) (iSup.{u2, u3} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))) ι (fun (i : ι) => Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (s i)))
 but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} (s : ι -> (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.unionᵢ.{u2, u3} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => s i))) (supᵢ.{u2, u3} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))) ι (fun (i : ι) => Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (s i)))
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_Union Projectivization.Subspace.span_unionᵢₓ'. -/
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} (s : ι -> (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.iUnion.{u2, u3} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => s i))) (iSup.{u2, u3} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))) ι (fun (i : ι) => Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (s i)))
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_Union Projectivization.Subspace.span_iUnionₓ'. -/
 /-- The supremum of a collection of subspaces is equal to the span of the union of the
 collection. -/
-theorem span_unionᵢ {ι} (s : ι → Set (ℙ K V)) : span (⋃ i, s i) = ⨆ i, span (s i) :=
-  (@gi K V _ _ _).gc.l_supᵢ
-#align projectivization.subspace.span_Union Projectivization.Subspace.span_unionᵢ
+theorem span_iUnion {ι} (s : ι → Set (ℙ K V)) : span (⋃ i, s i) = ⨆ i, span (s i) :=
+  (@gi K V _ _ _).gc.l_iSup
+#align projectivization.subspace.span_Union Projectivization.Subspace.span_iUnion
 
 /- warning: projectivization.subspace.sup_span -> Projectivization.Subspace.sup_span is a dubious translation:
 lean 3 declaration is
@@ -301,23 +301,23 @@ theorem mem_span {S : Set (ℙ K V)} (u : ℙ K V) : u ∈ span S ↔ ∀ W : Su
 #align projectivization.subspace.mem_span Projectivization.Subspace.mem_span
 -/
 
-/- warning: projectivization.subspace.span_eq_Inf -> Projectivization.Subspace.span_eq_infₛ is a dubious translation:
+/- warning: projectivization.subspace.span_eq_Inf -> Projectivization.Subspace.span_eq_sInf is a dubious translation:
 lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (InfSet.infₛ.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.hasInfₓ.{u1, u2} K V _inst_1 _inst_2 _inst_3) (setOf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (fun (W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) => HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W))))
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (InfSet.sInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.hasInfₓ.{u1, u2} K V _inst_1 _inst_2 _inst_3) (setOf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (fun (W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) => HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W))))
 but is expected to have type
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (InfSet.infₛ.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instInfSetSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (setOf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (fun (W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) => HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instHasSubsetSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W))))
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_infₛₓ'. -/
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (InfSet.sInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instInfSetSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (setOf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (fun (W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) => HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instHasSubsetSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W))))
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_sInfₓ'. -/
 /-- The span of a set of points in a projective space is equal to the infimum of the collection of
 subspaces which contain the set. -/
-theorem span_eq_infₛ {S : Set (ℙ K V)} : span S = infₛ { W | S ⊆ W } :=
+theorem span_eq_sInf {S : Set (ℙ K V)} : span S = sInf { W | S ⊆ W } :=
   by
   ext
   simp_rw [mem_carrier_iff, mem_span x]
   refine' ⟨fun hx => _, fun hx W hW => _⟩
   · rintro W ⟨T, ⟨hT, rfl⟩⟩
     exact hx T hT
-  · exact (@infₛ_le _ _ { W : Subspace K V | S ⊆ ↑W } W hW) x hx
-#align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_infₛ
+  · exact (@sInf_le _ _ { W : Subspace K V | S ⊆ ↑W } W hW) x hx
+#align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_sInf
 
 /- warning: projectivization.subspace.span_eq_of_le -> Projectivization.Subspace.span_eq_of_le is a dubious translation:
 lean 3 declaration is
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Michael Blyth
 
 ! This file was ported from Lean 3 source module linear_algebra.projective_space.subspace
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit a2706b55e8d7f7e9b1f93143f0b88f2e34a11eea
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.LinearAlgebra.ProjectiveSpace.Basic
 /-!
 # Subspaces of Projective Space
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In this file we define subspaces of a projective space, and show that the subspaces of a projective
 space form a complete lattice under inclusion.
 
Diff
@@ -39,6 +39,7 @@ variable (K V : Type _) [Field K] [AddCommGroup V] [Module K V]
 
 namespace Projectivization
 
+#print Projectivization.Subspace /-
 /-- A subspace of a projective space is a structure consisting of a set of points such that:
 If two nonzero vectors determine points which are in the set, and the sum of the two vectors is
 nonzero, then the point determined by the sum is also in the set. -/
@@ -48,6 +49,7 @@ structure Subspace where
   mem_add' (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) (hvw : v + w ≠ 0) :
     mk K v hv ∈ carrier → mk K w hw ∈ carrier → mk K (v + w) hvw ∈ carrier
 #align projectivization.subspace Projectivization.Subspace
+-/
 
 namespace Subspace
 
@@ -61,17 +63,30 @@ instance : SetLike (Subspace K V) (ℙ K V)
     cases B
     simp
 
+/- warning: projectivization.subspace.mem_carrier_iff -> Projectivization.Subspace.mem_carrier_iff is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (A : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (x : Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3), Iff (Membership.Mem.{u2, u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasMem.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) x (Projectivization.Subspace.carrier.{u1, u2} K V _inst_1 _inst_2 _inst_3 A)) (Membership.Mem.{u2, u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)) x A)
+but is expected to have type
+  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : Field.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (A : Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (x : Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3), Iff (Membership.mem.{u1, u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Set.{u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3)) (Set.instMembershipSet.{u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3)) x (Projectivization.Subspace.carrier.{u2, u1} K V _inst_1 _inst_2 _inst_3 A)) (Membership.mem.{u1, u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u2, u1} K V _inst_1 _inst_2 _inst_3)) x A)
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.mem_carrier_iff Projectivization.Subspace.mem_carrier_iffₓ'. -/
 @[simp]
 theorem mem_carrier_iff (A : Subspace K V) (x : ℙ K V) : x ∈ A.carrier ↔ x ∈ A :=
   Iff.refl _
 #align projectivization.subspace.mem_carrier_iff Projectivization.Subspace.mem_carrier_iff
 
+/- warning: projectivization.subspace.mem_add -> Projectivization.Subspace.mem_add is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (T : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (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))))))))) (hvw : Ne.{succ u2} V (HAdd.hAdd.{u2, u2, u2} V V V (instHAdd.{u2} V (AddZeroClass.toHasAdd.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))) 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))))))))), (Membership.Mem.{u2, u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3 v hv) T) -> (Membership.Mem.{u2, u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3 w hw) T) -> (Membership.Mem.{u2, u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.hasMem.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3 (HAdd.hAdd.{u2, u2, u2} V V V (instHAdd.{u2} V (AddZeroClass.toHasAdd.{u2} V (AddMonoid.toAddZeroClass.{u2} V (SubNegMonoid.toAddMonoid.{u2} V (AddGroup.toSubNegMonoid.{u2} V (AddCommGroup.toAddGroup.{u2} V _inst_2)))))) v w) hvw) T)
+but is expected to have type
+  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : Field.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (T : Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (v : V) (w : V) (hv : 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)))))))) (hw : Ne.{succ u1} V w (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)))))))) (hvw : Ne.{succ u1} V (HAdd.hAdd.{u1, u1, u1} V V V (instHAdd.{u1} V (AddZeroClass.toAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))) v w) (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)))))))), (Membership.mem.{u1, u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u2, u1} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3 v hv) T) -> (Membership.mem.{u1, u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u2, u1} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3 w hw) T) -> (Membership.mem.{u1, u1} (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (SetLike.instMembership.{u1, u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u2, u1} K V _inst_1 _inst_2 _inst_3)) (Projectivization.mk.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3 (HAdd.hAdd.{u1, u1, u1} V V V (instHAdd.{u1} V (AddZeroClass.toAdd.{u1} V (AddMonoid.toAddZeroClass.{u1} V (SubNegMonoid.toAddMonoid.{u1} V (AddGroup.toSubNegMonoid.{u1} V (AddCommGroup.toAddGroup.{u1} V _inst_2)))))) v w) hvw) T)
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.mem_add Projectivization.Subspace.mem_addₓ'. -/
 theorem mem_add (T : Subspace K V) (v w : V) (hv : v ≠ 0) (hw : w ≠ 0) (hvw : v + w ≠ 0) :
     Projectivization.mk K v hv ∈ T →
       Projectivization.mk K w hw ∈ T → Projectivization.mk K (v + w) hvw ∈ T :=
   T.mem_add' v w hv hw hvw
 #align projectivization.subspace.mem_add Projectivization.Subspace.mem_add
 
+#print Projectivization.Subspace.spanCarrier /-
 /-- The span of a set of points in a projective space is defined inductively to be the set of points
 which contains the original set, and contains all points determined by the (nonzero) sum of two
 nonzero vectors, each of which determine points in the span. -/
@@ -82,18 +97,29 @@ inductive spanCarrier (S : Set (ℙ K V)) : Set (ℙ K V)
     span_carrier (Projectivization.mk K v hv) →
       span_carrier (Projectivization.mk K w hw) → span_carrier (Projectivization.mk K (v + w) hvw)
 #align projectivization.subspace.span_carrier Projectivization.Subspace.spanCarrier
+-/
 
+#print Projectivization.Subspace.span /-
 /-- The span of a set of points in projective space is a subspace. -/
 def span (S : Set (ℙ K V)) : Subspace K V
     where
   carrier := spanCarrier S
   mem_add' v w hv hw hvw := spanCarrier.mem_add v w hv hw hvw
 #align projectivization.subspace.span Projectivization.Subspace.span
+-/
 
+#print Projectivization.Subspace.subset_span /-
 /-- The span of a set of points contains the set of points. -/
 theorem subset_span (S : Set (ℙ K V)) : S ⊆ span S := fun x hx => spanCarrier.of _ hx
 #align projectivization.subspace.subset_span Projectivization.Subspace.subset_span
+-/
 
+/- warning: projectivization.subspace.gi -> Projectivization.Subspace.gi is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], GaloisInsertion.{u2, u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.completeBooleanAlgebra.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))))))) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.partialOrder.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3))) (Projectivization.Subspace.span.{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) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{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 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], GaloisInsertion.{u2, u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instCompleteBooleanAlgebraSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))))))) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.instPartialOrder.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.gi Projectivization.Subspace.giₓ'. -/
 /-- The span of a set of points is a Galois insertion between sets of points of a projective space
 and subspaces of the projective space. -/
 def gi : GaloisInsertion (span : Set (ℙ K V) → Subspace K V) coe
@@ -111,26 +137,27 @@ def gi : GaloisInsertion (span : Set (ℙ K V) → Subspace K V) coe
   choice_eq _ _ := rfl
 #align projectivization.subspace.gi Projectivization.Subspace.gi
 
+/- warning: projectivization.subspace.span_coe -> Projectivization.Subspace.span_coe is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{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) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W)) W
+but is expected to have type
+  forall {K : Type.{u2}} {V : Type.{u1}} [_inst_1 : Field.{u2} K] [_inst_2 : AddCommGroup.{u1} V] [_inst_3 : Module.{u2, u1} K V (DivisionSemiring.toSemiring.{u2} K (Semifield.toDivisionSemiring.{u2} K (Field.toSemifield.{u2} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u1} V _inst_2)] (W : Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3), Eq.{succ u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u2, u1} K V _inst_1 _inst_2 _inst_3 (SetLike.coe.{u1, u1} (Projectivization.Subspace.{u2, u1} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u2, u1} K V (Field.toDivisionRing.{u2} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u2, u1} K V _inst_1 _inst_2 _inst_3) W)) W
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_coe Projectivization.Subspace.span_coeₓ'. -/
 /-- The span of a subspace is the subspace. -/
 @[simp]
 theorem span_coe (W : Subspace K V) : span ↑W = W :=
   GaloisInsertion.l_u_eq gi W
 #align projectivization.subspace.span_coe Projectivization.Subspace.span_coe
 
+#print Projectivization.Subspace.hasInf /-
 /-- The infimum of two subspaces exists. -/
 instance hasInf : Inf (Subspace K V) :=
   ⟨fun A B =>
     ⟨A ⊓ B, fun v w hv hw hvw h1 h2 =>
       ⟨A.mem_add _ _ hv hw _ h1.1 h2.1, B.mem_add _ _ hv hw _ h1.2 h2.2⟩⟩⟩
 #align projectivization.subspace.has_inf Projectivization.Subspace.hasInf
+-/
 
-/- warning: projectivization.subspace.has_Inf clashes with projectivization.subspace.has_inf -> Projectivization.Subspace.hasInf
-warning: projectivization.subspace.has_Inf -> Projectivization.Subspace.hasInf is a dubious translation:
-lean 3 declaration is
-  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], InfSet.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3)
-but is expected to have type
-  PUnit.{max (succ (succ u1)) (succ (succ u2))}
-Case conversion may be inaccurate. Consider using '#align projectivization.subspace.has_Inf Projectivization.Subspace.hasInfₓ'. -/
 /-- Infimums of arbitrary collections of subspaces exist. -/
 instance hasInf : InfSet (Subspace K V) :=
   ⟨fun A =>
@@ -138,7 +165,7 @@ instance hasInf : InfSet (Subspace K V) :=
       by
       rintro ⟨s, hs, rfl⟩
       exact s.mem_add v w hv hw _ (h1 s ⟨s, hs, rfl⟩) (h2 s ⟨s, hs, rfl⟩)⟩⟩
-#align projectivization.subspace.has_Inf Projectivization.Subspace.hasInf
+#align projectivization.subspace.has_Inf Projectivization.Subspace.hasInfₓ
 
 /-- The subspaces of a projective space form a complete lattice. -/
 instance : CompleteLattice (Subspace K V) :=
@@ -152,15 +179,29 @@ instance : CompleteLattice (Subspace K V) :=
     inf_le_right := fun A B x hx => hx.2
     le_inf := fun A B C h1 h2 x hx => ⟨h1 hx, h2 hx⟩ }
 
+#print Projectivization.Subspace.subspaceInhabited /-
 instance subspaceInhabited : Inhabited (Subspace K V) where default := ⊤
 #align projectivization.subspace.subspace_inhabited Projectivization.Subspace.subspaceInhabited
+-/
 
+/- warning: projectivization.subspace.span_empty -> Projectivization.Subspace.span_empty is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (EmptyCollection.emptyCollection.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasEmptyc.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))) (Bot.bot.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toHasBot.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{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 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (EmptyCollection.emptyCollection.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instEmptyCollectionSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))) (Bot.bot.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toBot.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3)))
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_empty Projectivization.Subspace.span_emptyₓ'. -/
 /-- The span of the empty set is the bottom of the lattice of subspaces. -/
 @[simp]
 theorem span_empty : span (∅ : Set (ℙ K V)) = ⊥ :=
   gi.gc.l_bot
 #align projectivization.subspace.span_empty Projectivization.Subspace.span_empty
 
+/- warning: projectivization.subspace.span_univ -> Projectivization.Subspace.span_univ is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.univ.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))) (Top.top.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toHasTop.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{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 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.univ.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))) (Top.top.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toTop.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3)))
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_univ Projectivization.Subspace.span_univₓ'. -/
 /-- The span of the entire projective space is the top of the lattice of subspaces. -/
 @[simp]
 theorem span_univ : span (Set.univ : Set (ℙ K V)) = ⊤ :=
@@ -170,12 +211,24 @@ theorem span_univ : span (Set.univ : Set (ℙ K V)) = ⊤ :=
   exact subset_span _ (Set.mem_univ x)
 #align projectivization.subspace.span_univ Projectivization.Subspace.span_univ
 
+/- warning: projectivization.subspace.span_le_subspace_iff -> Projectivization.Subspace.span_le_subspace_iff is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Iff (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W) (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W))
+but is expected to have type
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Iff (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W) (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instHasSubsetSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W))
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_le_subspace_iff Projectivization.Subspace.span_le_subspace_iffₓ'. -/
 /-- The span of a set of points is contained in a subspace if and only if the set of points is
 contained in the subspace. -/
 theorem span_le_subspace_iff {S : Set (ℙ K V)} {W : Subspace K V} : span S ≤ W ↔ S ⊆ W :=
   gi.gc S W
 #align projectivization.subspace.span_le_subspace_iff Projectivization.Subspace.span_le_subspace_iff
 
+/- warning: projectivization.subspace.monotone_span -> Projectivization.Subspace.monotone_span is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Monotone.{u2, u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteSemilatticeInf.toPartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.completeBooleanAlgebra.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))))))) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) (Projectivization.Subspace.span.{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 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Monotone.{u2, u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Order.Coframe.toCompleteLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteDistribLattice.toCoframe.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CompleteBooleanAlgebra.toCompleteDistribLattice.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instCompleteBooleanAlgebraSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)))))))) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.monotone_span Projectivization.Subspace.monotone_spanₓ'. -/
 /-- If a set of points is a subset of another set of points, then its span will be contained in the
 span of that set. -/
 @[mono]
@@ -183,32 +236,59 @@ theorem monotone_span : Monotone (span : Set (ℙ K V) → Subspace K V) :=
   gi.gc.monotone_l
 #align projectivization.subspace.monotone_span Projectivization.Subspace.monotone_span
 
+#print Projectivization.Subspace.subset_span_trans /-
 theorem subset_span_trans {S T U : Set (ℙ K V)} (hST : S ⊆ span T) (hTU : T ⊆ span U) :
     S ⊆ span U :=
   gi.gc.le_u_l_trans hST hTU
 #align projectivization.subspace.subset_span_trans Projectivization.Subspace.subset_span_trans
+-/
 
+/- warning: projectivization.subspace.span_union -> Projectivization.Subspace.span_union is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (T : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasUnion.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S T)) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 T))
+but is expected to have type
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] (S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (T : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instUnionSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S T)) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 T))
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_union Projectivization.Subspace.span_unionₓ'. -/
 /-- The supremum of two subspaces is equal to the span of their union. -/
 theorem span_union (S T : Set (ℙ K V)) : span (S ∪ T) = span S ⊔ span T :=
   (@gi K V _ _ _).gc.l_sup
 #align projectivization.subspace.span_union Projectivization.Subspace.span_union
 
+/- warning: projectivization.subspace.span_Union -> Projectivization.Subspace.span_unionᵢ is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} (s : ι -> (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.unionᵢ.{u2, u3} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => s i))) (supᵢ.{u2, u3} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toHasSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))) ι (fun (i : ι) => Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (s i)))
+but is expected to have type
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {ι : Sort.{u3}} (s : ι -> (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3))), Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Set.unionᵢ.{u2, u3} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) ι (fun (i : ι) => s i))) (supᵢ.{u2, u3} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toSupSet.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))) ι (fun (i : ι) => Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (s i)))
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_Union Projectivization.Subspace.span_unionᵢₓ'. -/
 /-- The supremum of a collection of subspaces is equal to the span of the union of the
 collection. -/
 theorem span_unionᵢ {ι} (s : ι → Set (ℙ K V)) : span (⋃ i, s i) = ⨆ i, span (s i) :=
   (@gi K V _ _ _).gc.l_supᵢ
 #align projectivization.subspace.span_Union Projectivization.Subspace.span_unionᵢ
 
+/- warning: projectivization.subspace.sup_span -> Projectivization.Subspace.sup_span is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) W (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S)) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasUnion.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W) S))
+but is expected to have type
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) W (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S)) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instUnionSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W) S))
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.sup_span Projectivization.Subspace.sup_spanₓ'. -/
 /-- The supremum of a subspace and the span of a set of points is equal to the span of the union of
 the subspace and the set of points. -/
 theorem sup_span {S : Set (ℙ K V)} {W : Subspace K V} : W ⊔ span S = span (W ∪ S) := by
   rw [span_union, span_coe]
 #align projectivization.subspace.sup_span Projectivization.Subspace.sup_span
 
+/- warning: projectivization.subspace.span_sup -> Projectivization.Subspace.span_sup is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toHasSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasUnion.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W)))
+but is expected to have type
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Sup.sup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (SemilatticeSup.toSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Lattice.toSemilatticeSup.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (ConditionallyCompleteLattice.toLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toConditionallyCompleteLattice.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 (Union.union.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instUnionSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W)))
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_sup Projectivization.Subspace.span_supₓ'. -/
 theorem span_sup {S : Set (ℙ K V)} {W : Subspace K V} : span S ⊔ W = span (S ∪ W) := by
   rw [span_union, span_coe]
 #align projectivization.subspace.span_sup Projectivization.Subspace.span_sup
 
+#print Projectivization.Subspace.mem_span /-
 /-- A point in a projective space is contained in the span of a set of points if and only if the
 point is contained in all subspaces of the projective space which contain the set of points. -/
 theorem mem_span {S : Set (ℙ K V)} (u : ℙ K V) : u ∈ span S ↔ ∀ W : Subspace K V, S ⊆ W → u ∈ W :=
@@ -216,7 +296,14 @@ theorem mem_span {S : Set (ℙ K V)} (u : ℙ K V) : u ∈ span S ↔ ∀ W : Su
   simp_rw [← span_le_subspace_iff]
   exact ⟨fun hu W hW => hW hu, fun W => W (span S) (le_refl _)⟩
 #align projectivization.subspace.mem_span Projectivization.Subspace.mem_span
+-/
 
+/- warning: projectivization.subspace.span_eq_Inf -> Projectivization.Subspace.span_eq_infₛ is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (InfSet.infₛ.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.hasInfₓ.{u1, u2} K V _inst_1 _inst_2 _inst_3) (setOf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (fun (W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) => HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W))))
+but is expected to have type
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)}, Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) (InfSet.infₛ.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instInfSetSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (setOf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (fun (W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) => HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instHasSubsetSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W))))
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_infₛₓ'. -/
 /-- The span of a set of points in a projective space is equal to the infimum of the collection of
 subspaces which contain the set. -/
 theorem span_eq_infₛ {S : Set (ℙ K V)} : span S = infₛ { W | S ⊆ W } :=
@@ -229,6 +316,12 @@ theorem span_eq_infₛ {S : Set (ℙ K V)} : span S = infₛ { W | S ⊆ W } :=
   · exact (@infₛ_le _ _ { W : Subspace K V | S ⊆ ↑W } W hW) x hx
 #align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_infₛ
 
+/- warning: projectivization.subspace.span_eq_of_le -> Projectivization.Subspace.span_eq_of_le is a dubious translation:
+lean 3 declaration is
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.hasSubset.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S ((fun (a : Type.{u2}) (b : Type.{u2}) [self : HasLiftT.{succ u2, succ u2} a b] => self.0) (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (HasLiftT.mk.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (CoeTCₓ.coe.{succ u2, succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (SetLike.Set.hasCoeT.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.Projectivization.setLike.{u1, u2} K V _inst_1 _inst_2 _inst_3)))) W)) -> (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteSemilatticeInf.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.toCompleteSemilatticeInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.completeLattice.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) W (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S)) -> (Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W)
+but is expected to have type
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (DivisionSemiring.toSemiring.{u1} K (Semifield.toDivisionSemiring.{u1} K (Field.toSemifield.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)] {S : Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)} {W : Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3}, (HasSubset.Subset.{u2} (Set.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) (Set.instHasSubsetSet.{u2} (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3)) S (SetLike.coe.{u2, u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.{u1, u2} K V (Field.toDivisionRing.{u1} K _inst_1) _inst_2 _inst_3) (Projectivization.Subspace.instSetLikeSubspaceProjectivizationToDivisionRing.{u1, u2} K V _inst_1 _inst_2 _inst_3) W)) -> (LE.le.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Preorder.toLE.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (PartialOrder.toPreorder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (OmegaCompletePartialOrder.toPartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (CompleteLattice.instOmegaCompletePartialOrder.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.instCompleteLatticeSubspace.{u1, u2} K V _inst_1 _inst_2 _inst_3))))) W (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S)) -> (Eq.{succ u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3) (Projectivization.Subspace.span.{u1, u2} K V _inst_1 _inst_2 _inst_3 S) W)
+Case conversion may be inaccurate. Consider using '#align projectivization.subspace.span_eq_of_le Projectivization.Subspace.span_eq_of_leₓ'. -/
 /-- If a set of points in projective space is contained in a subspace, and that subspace is
 contained in the span of the set of points, then the span of the set of points is equal to
 the subspace. -/
@@ -237,12 +330,14 @@ theorem span_eq_of_le {S : Set (ℙ K V)} {W : Subspace K V} (hS : S ⊆ W) (hW
   le_antisymm (span_le_subspace_iff.mpr hS) hW
 #align projectivization.subspace.span_eq_of_le Projectivization.Subspace.span_eq_of_le
 
+#print Projectivization.Subspace.span_eq_span_iff /-
 /-- The spans of two sets of points in a projective space are equal if and only if each set of
 points is contained in the span of the other set. -/
 theorem span_eq_span_iff {S T : Set (ℙ K V)} : span S = span T ↔ S ⊆ span T ∧ T ⊆ span S :=
   ⟨fun h => ⟨h ▸ subset_span S, h.symm ▸ subset_span T⟩, fun h =>
     le_antisymm (span_le_subspace_iff.2 h.1) (span_le_subspace_iff.2 h.2)⟩
 #align projectivization.subspace.span_eq_span_iff Projectivization.Subspace.span_eq_span_iff
+-/
 
 end Subspace
 
Diff
@@ -129,7 +129,7 @@ warning: projectivization.subspace.has_Inf -> Projectivization.Subspace.hasInf i
 lean 3 declaration is
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], InfSet.{u2} (Projectivization.Subspace.{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 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Inf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+  PUnit.{max (succ (succ u1)) (succ (succ u2))}
 Case conversion may be inaccurate. Consider using '#align projectivization.subspace.has_Inf Projectivization.Subspace.hasInfₓ'. -/
 /-- Infimums of arbitrary collections of subspaces exist. -/
 instance hasInf : InfSet (Subspace K V) :=
Diff
@@ -118,7 +118,7 @@ theorem span_coe (W : Subspace K V) : span ↑W = W :=
 #align projectivization.subspace.span_coe Projectivization.Subspace.span_coe
 
 /-- The infimum of two subspaces exists. -/
-instance hasInf : HasInf (Subspace K V) :=
+instance hasInf : Inf (Subspace K V) :=
   ⟨fun A B =>
     ⟨A ⊓ B, fun v w hv hw hvw h1 h2 =>
       ⟨A.mem_add _ _ hv hw _ h1.1 h2.1, B.mem_add _ _ hv hw _ h1.2 h2.2⟩⟩⟩
@@ -129,7 +129,7 @@ warning: projectivization.subspace.has_Inf -> Projectivization.Subspace.hasInf i
 lean 3 declaration is
   forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], InfSet.{u2} (Projectivization.Subspace.{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 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], HasInf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3)
+  forall {K : Type.{u1}} {V : Type.{u2}} [_inst_1 : Field.{u1} K] [_inst_2 : AddCommGroup.{u2} V] [_inst_3 : Module.{u1, u2} K V (Ring.toSemiring.{u1} K (DivisionRing.toRing.{u1} K (Field.toDivisionRing.{u1} K _inst_1))) (AddCommGroup.toAddCommMonoid.{u2} V _inst_2)], Inf.{u2} (Projectivization.Subspace.{u1, u2} K V _inst_1 _inst_2 _inst_3)
 Case conversion may be inaccurate. Consider using '#align projectivization.subspace.has_Inf Projectivization.Subspace.hasInfₓ'. -/
 /-- Infimums of arbitrary collections of subspaces exist. -/
 instance hasInf : InfSet (Subspace K V) :=
@@ -142,7 +142,7 @@ instance hasInf : InfSet (Subspace K V) :=
 
 /-- The subspaces of a projective space form a complete lattice. -/
 instance : CompleteLattice (Subspace K V) :=
-  { (inferInstance : HasInf _),
+  { (inferInstance : Inf _),
     completeLatticeOfInf (Subspace K V)
       (by
         refine' fun s => ⟨fun a ha x hx => hx _ ⟨a, ha, rfl⟩, fun a ha x hx E => _⟩

Changes in mathlib4

mathlib3
mathlib4
chore: move Mathlib to v4.7.0-rc1 (#11162)

This is a very large PR, but it has been reviewed piecemeal already in PRs to the bump/v4.7.0 branch as we update to intermediate nightlies.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Kyle Miller <kmill31415@gmail.com> Co-authored-by: damiano <adomani@gmail.com>

Diff
@@ -133,11 +133,11 @@ instance instInfSet : InfSet (Subspace K V) :=
 
 /-- The subspaces of a projective space form a complete lattice. -/
 instance : CompleteLattice (Subspace K V) :=
-  { completeLatticeOfInf (Subspace K V)
+  { __ := completeLatticeOfInf (Subspace K V)
       (by
         refine fun s => ⟨fun a ha x hx => hx _ ⟨a, ha, rfl⟩, fun a ha x hx E => ?_⟩
         rintro ⟨E, hE, rfl⟩
-        exact ha hE hx) with
+        exact ha hE hx)
     inf_le_left := fun A B _ hx => (@inf_le_left _ _ A B) hx
     inf_le_right := fun A B _ hx => (@inf_le_right _ _ A B) hx
     le_inf := fun A B _ h1 h2 _ hx => (le_inf h1 h2) hx }
chore: move to v4.6.0-rc1, merging adaptations from bump/v4.6.0 (#10176)

Co-authored-by: Scott Morrison <scott.morrison@gmail.com> Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Joachim Breitner <mail@joachim-breitner.de>

Diff
@@ -133,8 +133,7 @@ instance instInfSet : InfSet (Subspace K V) :=
 
 /-- The subspaces of a projective space form a complete lattice. -/
 instance : CompleteLattice (Subspace K V) :=
-  { (inferInstance : Inf (Subspace K V)),
-    completeLatticeOfInf (Subspace K V)
+  { completeLatticeOfInf (Subspace K V)
       (by
         refine fun s => ⟨fun a ha x hx => hx _ ⟨a, ha, rfl⟩, fun a ha x hx E => ?_⟩
         rintro ⟨E, hE, rfl⟩
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
@@ -3,7 +3,7 @@ Copyright (c) 2022 Michael Blyth. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Michael Blyth
 -/
-import Mathlib.LinearAlgebra.ProjectiveSpace.Basic
+import Mathlib.LinearAlgebra.Projectivization.Basic
 
 #align_import linear_algebra.projective_space.subspace from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
 
@@ -36,6 +36,8 @@ variable (K V : Type*) [Field K] [AddCommGroup V] [Module K V]
 
 namespace Projectivization
 
+open scoped LinearAlgebra.Projectivization
+
 /-- A subspace of a projective space is a structure consisting of a set of points such that:
 If two nonzero vectors determine points which are in the set, and the sum of the two vectors is
 nonzero, then the point determined by the sum is also in the set. -/
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
@@ -32,7 +32,7 @@ also in the subset.
 -/
 
 
-variable (K V : Type _) [Field K] [AddCommGroup V] [Module K V]
+variable (K V : Type*) [Field K] [AddCommGroup V] [Module K V]
 
 namespace Projectivization
 
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 Michael Blyth. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Michael Blyth
-
-! This file was ported from Lean 3 source module linear_algebra.projective_space.subspace
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.LinearAlgebra.ProjectiveSpace.Basic
 
+#align_import linear_algebra.projective_space.subspace from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
 /-!
 # Subspaces of Projective Space
 
chore: tidy various files (#3996)
Diff
@@ -116,21 +116,21 @@ theorem span_coe (W : Subspace K V) : span ↑W = W :=
 #align projectivization.subspace.span_coe Projectivization.Subspace.span_coe
 
 /-- The infimum of two subspaces exists. -/
-instance hasInf : Inf (Subspace K V) :=
+instance instInf : Inf (Subspace K V) :=
   ⟨fun A B =>
     ⟨A ⊓ B, fun _v _w hv hw _hvw h1 h2 =>
       ⟨A.mem_add _ _ hv hw _ h1.1 h2.1, B.mem_add _ _ hv hw _ h1.2 h2.2⟩⟩⟩
-#align projectivization.subspace.has_inf Projectivization.Subspace.hasInf
+#align projectivization.subspace.has_inf Projectivization.Subspace.instInf
 
 -- Porting note: delete the name of this instance since it causes problem since hasInf is already
 -- defined above
 /-- Infimums of arbitrary collections of subspaces exist. -/
-instance : InfSet (Subspace K V) :=
+instance instInfSet : InfSet (Subspace K V) :=
   ⟨fun A =>
     ⟨sInf (SetLike.coe '' A), fun v w hv hw hvw h1 h2 t => by
       rintro ⟨s, hs, rfl⟩
       exact s.mem_add v w hv hw _ (h1 s ⟨s, hs, rfl⟩) (h2 s ⟨s, hs, rfl⟩)⟩⟩
-#align projectivization.subspace.has_Inf Projectivization.Subspace.hasInfₓ
+#align projectivization.subspace.has_Inf Projectivization.Subspace.instInfSet
 
 /-- The subspaces of a projective space form a complete lattice. -/
 instance : CompleteLattice (Subspace K V) :=
chore: Rename to sSup/iSup (#3938)

As discussed on Zulip

Renames

  • supₛsSup
  • infₛsInf
  • supᵢiSup
  • infᵢiInf
  • bsupₛbsSup
  • binfₛbsInf
  • bsupᵢbiSup
  • binfᵢbiInf
  • csupₛcsSup
  • cinfₛcsInf
  • csupᵢciSup
  • cinfᵢciInf
  • unionₛsUnion
  • interₛsInter
  • unionᵢiUnion
  • interᵢiInter
  • bunionₛbsUnion
  • binterₛbsInter
  • bunionᵢbiUnion
  • binterᵢbiInter

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>

Diff
@@ -127,7 +127,7 @@ instance hasInf : Inf (Subspace K V) :=
 /-- Infimums of arbitrary collections of subspaces exist. -/
 instance : InfSet (Subspace K V) :=
   ⟨fun A =>
-    ⟨infₛ (SetLike.coe '' A), fun v w hv hw hvw h1 h2 t => by
+    ⟨sInf (SetLike.coe '' A), fun v w hv hw hvw h1 h2 t => by
       rintro ⟨s, hs, rfl⟩
       exact s.mem_add v w hv hw _ (h1 s ⟨s, hs, rfl⟩) (h2 s ⟨s, hs, rfl⟩)⟩⟩
 #align projectivization.subspace.has_Inf Projectivization.Subspace.hasInfₓ
@@ -185,9 +185,9 @@ theorem span_union (S T : Set (ℙ K V)) : span (S ∪ T) = span S ⊔ span T :=
 
 /-- The supremum of a collection of subspaces is equal to the span of the union of the
 collection. -/
-theorem span_unionᵢ {ι} (s : ι → Set (ℙ K V)) : span (⋃ i, s i) = ⨆ i, span (s i) :=
-  (@gi K V _ _ _).gc.l_supᵢ
-#align projectivization.subspace.span_Union Projectivization.Subspace.span_unionᵢ
+theorem span_iUnion {ι} (s : ι → Set (ℙ K V)) : span (⋃ i, s i) = ⨆ i, span (s i) :=
+  (@gi K V _ _ _).gc.l_iSup
+#align projectivization.subspace.span_Union Projectivization.Subspace.span_iUnion
 
 /-- The supremum of a subspace and the span of a set of points is equal to the span of the union of
 the subspace and the set of points. -/
@@ -209,14 +209,14 @@ theorem mem_span {S : Set (ℙ K V)} (u : ℙ K V) :
 
 /-- The span of a set of points in a projective space is equal to the infimum of the collection of
 subspaces which contain the set. -/
-theorem span_eq_infₛ {S : Set (ℙ K V)} : span S = infₛ { W : Subspace K V| S ⊆ W } := by
+theorem span_eq_sInf {S : Set (ℙ K V)} : span S = sInf { W : Subspace K V| S ⊆ W } := by
   ext x
   simp_rw [mem_carrier_iff, mem_span x]
   refine ⟨fun hx => ?_, fun hx W hW => ?_⟩
   · rintro W ⟨T, hT, rfl⟩
     exact hx T hT
-  · exact (@infₛ_le _ _ { W : Subspace K V | S ⊆ ↑W } W hW) hx
-#align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_infₛ
+  · exact (@sInf_le _ _ { W : Subspace K V | S ⊆ ↑W } W hW) hx
+#align projectivization.subspace.span_eq_Inf Projectivization.Subspace.span_eq_sInf
 
 /-- If a set of points in projective space is contained in a subspace, and that subspace is
 contained in the span of the set of points, then the span of the set of points is equal to
feat port: LinearAlgebra.ProjectiveSpace.Subspace (#3832)

Dependencies 10 + 514

515 files ported (98.1%)
214618 lines ported (98.4%)
Show graph

The unported dependencies are