algebraic_geometry.projective_spectrum.structure_sheaf ⟷ Mathlib.AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf

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)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -6,7 +6,7 @@ Authors: Jujian Zhang
 import AlgebraicGeometry.ProjectiveSpectrum.Topology
 import Topology.Sheaves.LocalPredicate
 import RingTheory.GradedAlgebra.HomogeneousLocalization
-import AlgebraicGeometry.LocallyRingedSpace
+import Geometry.RingedSpace.LocallyRingedSpace
 
 #align_import algebraic_geometry.projective_spectrum.structure_sheaf from "leanprover-community/mathlib"@"1a51edf13debfcbe223fa06b1cb353b9ed9751cc"
 
Diff
@@ -143,7 +143,7 @@ theorem addMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x :
   Β· simp only [add_mul, map_add, Pi.add_apply, RingHom.map_mul, ext_iff_val, add_val]
     obtain ⟨nin1, hy1⟩ := wa (opens.inf_le_left Va Vb y)
     obtain ⟨nin2, hy2⟩ := wb (opens.inf_le_right Va Vb y)
-    dsimp only at hy1 hy2 
+    dsimp only at hy1 hy2
     erw [hy1, hy2]
     simpa only [val_mk', add_mk, ← Subtype.val_eq_coe, add_comm, mul_comm sa sb]
 #align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.addMem'
@@ -156,7 +156,7 @@ theorem negMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : u
   rcases ha x with ⟨V, m, i, j, ⟨r, r_mem⟩, ⟨s, s_mem⟩, w⟩
   choose nin hy using w
   refine' ⟨V, m, i, j, ⟨-r, Submodule.neg_mem _ r_mem⟩, ⟨s, s_mem⟩, fun y => ⟨nin y, _⟩⟩
-  simp only [ext_iff_val, val_mk', ← Subtype.val_eq_coe] at hy 
+  simp only [ext_iff_val, val_mk', ← Subtype.val_eq_coe] at hy
   simp only [Pi.neg_apply, ext_iff_val, neg_val, hy, val_mk', ← Subtype.val_eq_coe, neg_mk]
 #align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.negMem'
 -/
@@ -395,15 +395,15 @@ def Proj.stalkIso' (x : ProjectiveSpectrum.top π’œ) :
       obtain ⟨v2, memv2, i2, ⟨j2, ⟨a2, a2_mem⟩, ⟨b2, b2_mem⟩, hs2⟩⟩ := s2.2 ⟨x, memu2⟩
       obtain ⟨b1_nin_x, eq2⟩ := hs1 ⟨x, memv1⟩
       obtain ⟨b2_nin_x, eq3⟩ := hs2 ⟨x, memv2⟩
-      dsimp only at eq1 eq2 eq3 
+      dsimp only at eq1 eq2 eq3
       erw [stalk_to_fiber_ring_hom_germ π’œ u1 ⟨x, memu1⟩ s1,
-        stalk_to_fiber_ring_hom_germ π’œ u2 ⟨x, memu2⟩ s2] at eq1 
-      erw [eq1] at eq2 
-      erw [eq2, Quotient.eq'] at eq3 
-      change Localization.mk _ _ = Localization.mk _ _ at eq3 
-      rw [Localization.mk_eq_mk', IsLocalization.eq] at eq3 
+        stalk_to_fiber_ring_hom_germ π’œ u2 ⟨x, memu2⟩ s2] at eq1
+      erw [eq1] at eq2
+      erw [eq2, Quotient.eq'] at eq3
+      change Localization.mk _ _ = Localization.mk _ _ at eq3
+      rw [Localization.mk_eq_mk', IsLocalization.eq] at eq3
       obtain ⟨⟨c, hc⟩, eq3⟩ := eq3
-      simp only [← Subtype.val_eq_coe] at eq3 
+      simp only [← Subtype.val_eq_coe] at eq3
       have eq3' :
         βˆ€ (y : ProjectiveSpectrum.top π’œ)
           (hy :
@@ -444,7 +444,7 @@ def Proj.stalkIso' (x : ProjectiveSpectrum.top π’œ) :
       obtain ⟨b1_nin_y, eq6⟩ :=
         hs1 ⟨_, le_of_hom (opens.inf_le_left _ _ ≫ opens.inf_le_right _ _) y.2⟩
       obtain ⟨b2_nin_y, eq7⟩ := hs2 ⟨_, le_of_hom (opens.inf_le_right _ _) y.2⟩
-      simp only at eq6 eq7 
+      simp only at eq6 eq7
       erw [eq6, eq7, Quotient.eq']
       change Localization.mk _ _ = Localization.mk _ _
       exact
Diff
@@ -3,10 +3,10 @@ Copyright (c) 2022 Jujian Zhang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang
 -/
-import Mathbin.AlgebraicGeometry.ProjectiveSpectrum.Topology
-import Mathbin.Topology.Sheaves.LocalPredicate
-import Mathbin.RingTheory.GradedAlgebra.HomogeneousLocalization
-import Mathbin.AlgebraicGeometry.LocallyRingedSpace
+import AlgebraicGeometry.ProjectiveSpectrum.Topology
+import Topology.Sheaves.LocalPredicate
+import RingTheory.GradedAlgebra.HomogeneousLocalization
+import AlgebraicGeometry.LocallyRingedSpace
 
 #align_import algebraic_geometry.projective_spectrum.structure_sheaf from "leanprover-community/mathlib"@"1a51edf13debfcbe223fa06b1cb353b9ed9751cc"
 
Diff
@@ -202,7 +202,7 @@ def sectionsSubring (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) : Subring
   one_mem' := oneMem' U
   add_mem' := addMem' U
   neg_mem' := negMem' U
-  mul_mem' := mulMem' U
+  hMul_mem' := mulMem' U
 #align algebraic_geometry.projective_spectrum.structure_sheaf.sections_subring AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.sectionsSubring
 -/
 
Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2022 Jujian Zhang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang
-
-! This file was ported from Lean 3 source module algebraic_geometry.projective_spectrum.structure_sheaf
-! leanprover-community/mathlib commit 1a51edf13debfcbe223fa06b1cb353b9ed9751cc
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.AlgebraicGeometry.ProjectiveSpectrum.Topology
 import Mathbin.Topology.Sheaves.LocalPredicate
 import Mathbin.RingTheory.GradedAlgebra.HomogeneousLocalization
 import Mathbin.AlgebraicGeometry.LocallyRingedSpace
 
+#align_import algebraic_geometry.projective_spectrum.structure_sheaf from "leanprover-community/mathlib"@"1a51edf13debfcbe223fa06b1cb353b9ed9751cc"
+
 /-!
 # The structure sheaf on `projective_spectrum π’œ`.
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang
 
 ! This file was ported from Lean 3 source module algebraic_geometry.projective_spectrum.structure_sheaf
-! leanprover-community/mathlib commit 486cb2f3bda4a67557c6285f5bd0c3348c1eea81
+! leanprover-community/mathlib commit 1a51edf13debfcbe223fa06b1cb353b9ed9751cc
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.AlgebraicGeometry.LocallyRingedSpace
 /-!
 # The structure sheaf on `projective_spectrum π’œ`.
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 In `src/algebraic_geometry/topology.lean`, we have given a topology on `projective_spectrum π’œ`; in
 this file we will construct a sheaf on `projective_spectrum π’œ`.
 
Diff
@@ -71,6 +71,7 @@ namespace ProjectiveSpectrum.StructureSheaf
 
 variable {π’œ}
 
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.IsFraction /-
 /-- The predicate saying that a dependent function on an open `U` is realised as a fixed fraction
 `r / s` of *same grading* in each of the stalks (which are localizations at various prime ideals).
 -/
@@ -78,9 +79,11 @@ def IsFraction {U : Opens (ProjectiveSpectrum.top π’œ)} (f : βˆ€ x : U, at x.1)
   βˆƒ (i : β„•) (r s : π’œ i),
     βˆ€ x : U, βˆƒ s_nin : s.1 βˆ‰ x.1.asHomogeneousIdeal, f x = Quotient.mk'' ⟨i, r, s, s_nin⟩
 #align algebraic_geometry.projective_spectrum.structure_sheaf.is_fraction AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.IsFraction
+-/
 
 variable (π’œ)
 
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.isFractionPrelocal /-
 /--
 The predicate `is_fraction` is "prelocal", in the sense that if it holds on `U` it holds on any open
 subset `V` of `U`.
@@ -90,13 +93,16 @@ def isFractionPrelocal : PrelocalPredicate fun x : ProjectiveSpectrum.top π’œ =
   pred U f := IsFraction f
   res := by rintro V U i f ⟨j, r, s, w⟩ <;> exact ⟨j, r, s, fun y => w (i y)⟩
 #align algebraic_geometry.projective_spectrum.structure_sheaf.is_fraction_prelocal AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.isFractionPrelocal
+-/
 
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.isLocallyFraction /-
 /-- We will define the structure sheaf as the subsheaf of all dependent functions in
 `Ξ  x : U, homogeneous_localization π’œ x` consisting of those functions which can locally be expressed
 as a ratio of `A` of same grading.-/
 def isLocallyFraction : LocalPredicate fun x : ProjectiveSpectrum.top π’œ => at x :=
   (isFractionPrelocal π’œ).sheafify
 #align algebraic_geometry.projective_spectrum.structure_sheaf.is_locally_fraction AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.isLocallyFraction
+-/
 
 namespace SectionSubring
 
@@ -104,17 +110,22 @@ variable {π’œ}
 
 open Submodule SetLike.GradedMonoid HomogeneousLocalization
 
-theorem zero_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.zeroMem' /-
+theorem zeroMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
     (isLocallyFraction π’œ).pred (0 : βˆ€ x : unop U, at x.1) := fun x =>
   ⟨unop U, x.2, πŸ™ (unop U), ⟨0, ⟨0, zero_mem _⟩, ⟨1, one_mem⟩, fun y => ⟨_, rfl⟩⟩⟩
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.zero_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.zero_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.zero_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.zeroMem'
+-/
 
-theorem one_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.oneMem' /-
+theorem oneMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
     (isLocallyFraction π’œ).pred (1 : βˆ€ x : unop U, at x.1) := fun x =>
   ⟨unop U, x.2, πŸ™ (unop U), ⟨0, ⟨1, one_mem⟩, ⟨1, one_mem⟩, fun y => ⟨_, rfl⟩⟩⟩
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.one_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.one_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.one_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.oneMem'
+-/
 
-theorem add_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.addMem' /-
+theorem addMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) (hb : (isLocallyFraction π’œ).pred b) :
     (isLocallyFraction π’œ).pred (a + b) := fun x =>
   by
@@ -135,9 +146,11 @@ theorem add_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x
     dsimp only at hy1 hy2 
     erw [hy1, hy2]
     simpa only [val_mk', add_mk, ← Subtype.val_eq_coe, add_comm, mul_comm sa sb]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.add_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.addMem'
+-/
 
-theorem neg_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : unop U, at x.1)
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.negMem' /-
+theorem negMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) : (isLocallyFraction π’œ).pred (-a) := fun x =>
   by
   rcases ha x with ⟨V, m, i, j, ⟨r, r_mem⟩, ⟨s, s_mem⟩, w⟩
@@ -145,9 +158,11 @@ theorem neg_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x :
   refine' ⟨V, m, i, j, ⟨-r, Submodule.neg_mem _ r_mem⟩, ⟨s, s_mem⟩, fun y => ⟨nin y, _⟩⟩
   simp only [ext_iff_val, val_mk', ← Subtype.val_eq_coe] at hy 
   simp only [Pi.neg_apply, ext_iff_val, neg_val, hy, val_mk', ← Subtype.val_eq_coe, neg_mk]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.neg_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.negMem'
+-/
 
-theorem mul_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mulMem' /-
+theorem mulMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) (hb : (isLocallyFraction π’œ).pred b) :
     (isLocallyFraction π’œ).pred (a * b) := fun x =>
   by
@@ -166,7 +181,8 @@ theorem mul_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x
     rw [ext_iff_val] at hy1 hy2 ⊒
     erw [mul_val, hy1, hy2]
     simpa only [val_mk', mk_mul, ← Subtype.val_eq_coe]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.mul_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mul_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.mul_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mulMem'
+-/
 
 end SectionSubring
 
@@ -176,31 +192,38 @@ open SectionSubring
 
 variable {π’œ}
 
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.sectionsSubring /-
 /-- The functions satisfying `is_locally_fraction` form a subring of all dependent functions
 `Ξ  x : U, homogeneous_localization π’œ x`.-/
 def sectionsSubring (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) : Subring (βˆ€ x : unop U, at x.1)
     where
   carrier := {f | (isLocallyFraction π’œ).pred f}
-  zero_mem' := zero_mem' U
-  one_mem' := one_mem' U
-  add_mem' := add_mem' U
-  neg_mem' := neg_mem' U
-  mul_mem' := mul_mem' U
+  zero_mem' := zeroMem' U
+  one_mem' := oneMem' U
+  add_mem' := addMem' U
+  neg_mem' := negMem' U
+  mul_mem' := mulMem' U
 #align algebraic_geometry.projective_spectrum.structure_sheaf.sections_subring AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.sectionsSubring
+-/
 
 end
 
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structureSheafInType /-
 /-- The structure sheaf (valued in `Type`, not yet `CommRing`) is the subsheaf consisting of
 functions satisfying `is_locally_fraction`.-/
 def structureSheafInType : Sheaf (Type _) (ProjectiveSpectrum.top π’œ) :=
   subsheafToTypes (isLocallyFraction π’œ)
 #align algebraic_geometry.projective_spectrum.structure_sheaf.structure_sheaf_in_Type AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structureSheafInType
+-/
 
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.commRingStructureSheafInTypeObj /-
 instance commRingStructureSheafInTypeObj (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
     CommRing ((structureSheafInType π’œ).1.obj U) :=
   (sectionsSubring U).toCommRing
 #align algebraic_geometry.projective_spectrum.structure_sheaf.comm_ring_structure_sheaf_in_Type_obj AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.commRingStructureSheafInTypeObj
+-/
 
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structurePresheafInCommRing /-
 /-- The structure presheaf, valued in `CommRing`, constructed by dressing up the `Type` valued
 structure presheaf.-/
 @[simps]
@@ -214,13 +237,16 @@ def structurePresheafInCommRing : Presheaf CommRingCat (ProjectiveSpectrum.top 
       map_one' := rfl
       map_mul' := fun x y => rfl }
 #align algebraic_geometry.projective_spectrum.structure_sheaf.structure_presheaf_in_CommRing AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structurePresheafInCommRing
+-/
 
+#print AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structurePresheafCompForget /-
 /-- Some glue, verifying that that structure presheaf valued in `CommRing` agrees with the `Type`
 valued structure presheaf.-/
 def structurePresheafCompForget :
     structurePresheafInCommRing π’œ β‹™ forget CommRingCat β‰… (structureSheafInType π’œ).1 :=
   NatIso.ofComponents (fun U => Iso.refl _) (by tidy)
 #align algebraic_geometry.projective_spectrum.structure_sheaf.structure_presheaf_comp_forget AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structurePresheafCompForget
+-/
 
 end ProjectiveSpectrum.StructureSheaf
 
@@ -228,6 +254,7 @@ namespace ProjectiveSpectrum
 
 open TopCat.Presheaf ProjectiveSpectrum.StructureSheaf Opens
 
+#print AlgebraicGeometry.ProjectiveSpectrum.Proj.structureSheaf /-
 /-- The structure sheaf on `Proj` π’œ, valued in `CommRing`.-/
 def Proj.structureSheaf : Sheaf CommRingCat (ProjectiveSpectrum.top π’œ) :=
   ⟨structurePresheafInCommRing π’œ,
@@ -236,6 +263,7 @@ def Proj.structureSheaf : Sheaf CommRingCat (ProjectiveSpectrum.top π’œ) :=
           _ _).mpr
       (isSheaf_of_iso (structurePresheafCompForget π’œ).symm (structureSheafInType π’œ).cond)⟩
 #align algebraic_geometry.projective_spectrum.Proj.structure_sheaf AlgebraicGeometry.ProjectiveSpectrum.Proj.structureSheaf
+-/
 
 end ProjectiveSpectrum
 
@@ -243,13 +271,16 @@ section
 
 open ProjectiveSpectrum ProjectiveSpectrum.StructureSheaf Opens
 
+#print AlgebraicGeometry.res_apply /-
 @[simp]
 theorem res_apply (U V : Opens (ProjectiveSpectrum.top π’œ)) (i : V ⟢ U)
     (s : (Proj.structureSheaf π’œ).1.obj (op U)) (x : V) :
     ((Proj.structureSheaf π’œ).1.map i.op s).1 x = (s.1 (i x) : _) :=
   rfl
 #align algebraic_geometry.res_apply AlgebraicGeometry.res_apply
+-/
 
+#print AlgebraicGeometry.Proj.toSheafedSpace /-
 /-- `Proj` of a graded ring as a `SheafedSpace`-/
 def Proj.toSheafedSpace : SheafedSpace CommRingCat
     where
@@ -257,7 +288,9 @@ def Proj.toSheafedSpace : SheafedSpace CommRingCat
   Presheaf := (Proj.structureSheaf π’œ).1
   IsSheaf := (Proj.structureSheaf π’œ).2
 #align algebraic_geometry.Proj.to_SheafedSpace AlgebraicGeometry.Proj.toSheafedSpace
+-/
 
+#print AlgebraicGeometry.openToLocalization /-
 /-- The ring homomorphism that takes a section of the structure sheaf of `Proj` on the open set `U`,
 implemented as a subtype of dependent functions to localizations at homogeneous prime ideals, and
 evaluates the section on the point corresponding to a given homogeneous prime ideal. -/
@@ -270,7 +303,9 @@ def openToLocalization (U : Opens (ProjectiveSpectrum.top π’œ)) (x : Projective
   map_zero' := rfl
   map_add' _ _ := rfl
 #align algebraic_geometry.open_to_localization AlgebraicGeometry.openToLocalization
+-/
 
+#print AlgebraicGeometry.stalkToFiberRingHom /-
 /-- The ring homomorphism from the stalk of the structure sheaf of `Proj` at a point corresponding
 to a homogeneous prime ideal `x` to the *homogeneous localization* at `x`,
 formed by gluing the `open_to_localization` maps. -/
@@ -283,35 +318,45 @@ def stalkToFiberRingHom (x : ProjectiveSpectrum.top π’œ) :
           app := fun U =>
             openToLocalization π’œ ((OpenNhds.inclusion _).obj (unop U)) x (unop U).2 } }
 #align algebraic_geometry.stalk_to_fiber_ring_hom AlgebraicGeometry.stalkToFiberRingHom
+-/
 
+#print AlgebraicGeometry.germ_comp_stalkToFiberRingHom /-
 @[simp]
 theorem germ_comp_stalkToFiberRingHom (U : Opens (ProjectiveSpectrum.top π’œ)) (x : U) :
     (Proj.structureSheaf π’œ).Presheaf.germ x ≫ stalkToFiberRingHom π’œ x =
       openToLocalization π’œ U x x.2 :=
   Limits.colimit.ΞΉ_desc _ _
 #align algebraic_geometry.germ_comp_stalk_to_fiber_ring_hom AlgebraicGeometry.germ_comp_stalkToFiberRingHom
+-/
 
+#print AlgebraicGeometry.stalkToFiberRingHom_germ' /-
 @[simp]
 theorem stalkToFiberRingHom_germ' (U : Opens (ProjectiveSpectrum.top π’œ))
     (x : ProjectiveSpectrum.top π’œ) (hx : x ∈ U) (s : (Proj.structureSheaf π’œ).1.obj (op U)) :
     stalkToFiberRingHom π’œ x ((Proj.structureSheaf π’œ).Presheaf.germ ⟨x, hx⟩ s) = (s.1 ⟨x, hx⟩ : _) :=
   RingHom.ext_iff.1 (germ_comp_stalkToFiberRingHom π’œ U ⟨x, hx⟩ : _) s
 #align algebraic_geometry.stalk_to_fiber_ring_hom_germ' AlgebraicGeometry.stalkToFiberRingHom_germ'
+-/
 
+#print AlgebraicGeometry.stalkToFiberRingHom_germ /-
 @[simp]
 theorem stalkToFiberRingHom_germ (U : Opens (ProjectiveSpectrum.top π’œ)) (x : U)
     (s : (Proj.structureSheaf π’œ).1.obj (op U)) :
     stalkToFiberRingHom π’œ x ((Proj.structureSheaf π’œ).Presheaf.germ x s) = s.1 x := by cases x;
   exact stalk_to_fiber_ring_hom_germ' π’œ U _ _ _
 #align algebraic_geometry.stalk_to_fiber_ring_hom_germ AlgebraicGeometry.stalkToFiberRingHom_germ
+-/
 
+#print AlgebraicGeometry.HomogeneousLocalization.mem_basicOpen /-
 theorem HomogeneousLocalization.mem_basicOpen (x : ProjectiveSpectrum.top π’œ) (f : at x) :
     x ∈ ProjectiveSpectrum.basicOpen π’œ f.den := by rw [ProjectiveSpectrum.mem_basicOpen];
   exact f.denom_mem
 #align algebraic_geometry.homogeneous_localization.mem_basic_open AlgebraicGeometry.HomogeneousLocalization.mem_basicOpen
+-/
 
 variable (π’œ)
 
+#print AlgebraicGeometry.sectionInBasicOpen /-
 /-- Given a point `x` corresponding to a homogeneous prime ideal, there is a (dependent) function
 such that, for any `f` in the homogeneous localization at `x`, it returns the obvious section in the
 basic open set `D(f.denom)`-/
@@ -322,7 +367,9 @@ def sectionInBasicOpen (x : ProjectiveSpectrum.top π’œ) :
     ⟨ProjectiveSpectrum.basicOpen π’œ f.den, y.2,
       βŸ¨πŸ™ _, ⟨f.deg, ⟨⟨f.num, f.num_mem_deg⟩, ⟨f.den, f.den_mem_deg⟩, fun z => ⟨z.2, rfl⟩⟩⟩⟩⟩⟩
 #align algebraic_geometry.section_in_basic_open AlgebraicGeometry.sectionInBasicOpen
+-/
 
+#print AlgebraicGeometry.homogeneousLocalizationToStalk /-
 /-- Given any point `x` and `f` in the homogeneous localization at `x`, there is an element in the
 stalk at `x` obtained by `section_in_basic_open`. This is the inverse of `stalk_to_fiber_ring_hom`.
 -/
@@ -332,7 +379,9 @@ def homogeneousLocalizationToStalk (x : ProjectiveSpectrum.top π’œ) :
     (⟨x, HomogeneousLocalization.mem_basicOpen _ x f⟩ : ProjectiveSpectrum.basicOpen _ f.den)
     (sectionInBasicOpen _ x f)
 #align algebraic_geometry.homogeneous_localization_to_stalk AlgebraicGeometry.homogeneousLocalizationToStalk
+-/
 
+#print AlgebraicGeometry.Proj.stalkIso' /-
 /-- Using `homogeneous_localization_to_stalk`, we construct a ring isomorphism between stalk at `x`
 and homogeneous localization at `x` for any point `x` in `Proj`.-/
 def Proj.stalkIso' (x : ProjectiveSpectrum.top π’œ) :
@@ -420,7 +469,9 @@ def Proj.stalkIso' (x : ProjectiveSpectrum.top π’œ) :
             f.eq_num_div_denom]
           rfl⟩⟩
 #align algebraic_geometry.Proj.stalk_iso' AlgebraicGeometry.Proj.stalkIso'
+-/
 
+#print AlgebraicGeometry.Proj.toLocallyRingedSpace /-
 /-- `Proj` of a graded ring as a `LocallyRingedSpace`-/
 def Proj.toLocallyRingedSpace : LocallyRingedSpace :=
   { Proj.toSheafedSpace π’œ with
@@ -428,6 +479,7 @@ def Proj.toLocallyRingedSpace : LocallyRingedSpace :=
       @RingEquiv.localRing _ (show LocalRing (at x) from inferInstance) _
         (Proj.stalkIso' π’œ x).symm }
 #align algebraic_geometry.Proj.to_LocallyRingedSpace AlgebraicGeometry.Proj.toLocallyRingedSpace
+-/
 
 end
 
Diff
@@ -104,17 +104,17 @@ variable {π’œ}
 
 open Submodule SetLike.GradedMonoid HomogeneousLocalization
 
-theorem zeroMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
+theorem zero_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
     (isLocallyFraction π’œ).pred (0 : βˆ€ x : unop U, at x.1) := fun x =>
   ⟨unop U, x.2, πŸ™ (unop U), ⟨0, ⟨0, zero_mem _⟩, ⟨1, one_mem⟩, fun y => ⟨_, rfl⟩⟩⟩
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.zero_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.zeroMem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.zero_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.zero_mem'
 
-theorem oneMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
+theorem one_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
     (isLocallyFraction π’œ).pred (1 : βˆ€ x : unop U, at x.1) := fun x =>
   ⟨unop U, x.2, πŸ™ (unop U), ⟨0, ⟨1, one_mem⟩, ⟨1, one_mem⟩, fun y => ⟨_, rfl⟩⟩⟩
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.one_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.oneMem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.one_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.one_mem'
 
-theorem addMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
+theorem add_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) (hb : (isLocallyFraction π’œ).pred b) :
     (isLocallyFraction π’œ).pred (a + b) := fun x =>
   by
@@ -135,9 +135,9 @@ theorem addMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x :
     dsimp only at hy1 hy2 
     erw [hy1, hy2]
     simpa only [val_mk', add_mk, ← Subtype.val_eq_coe, add_comm, mul_comm sa sb]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.addMem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.add_mem'
 
-theorem negMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : unop U, at x.1)
+theorem neg_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) : (isLocallyFraction π’œ).pred (-a) := fun x =>
   by
   rcases ha x with ⟨V, m, i, j, ⟨r, r_mem⟩, ⟨s, s_mem⟩, w⟩
@@ -145,9 +145,9 @@ theorem negMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : u
   refine' ⟨V, m, i, j, ⟨-r, Submodule.neg_mem _ r_mem⟩, ⟨s, s_mem⟩, fun y => ⟨nin y, _⟩⟩
   simp only [ext_iff_val, val_mk', ← Subtype.val_eq_coe] at hy 
   simp only [Pi.neg_apply, ext_iff_val, neg_val, hy, val_mk', ← Subtype.val_eq_coe, neg_mk]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.negMem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.neg_mem'
 
-theorem mulMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
+theorem mul_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) (hb : (isLocallyFraction π’œ).pred b) :
     (isLocallyFraction π’œ).pred (a * b) := fun x =>
   by
@@ -166,7 +166,7 @@ theorem mulMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x :
     rw [ext_iff_val] at hy1 hy2 ⊒
     erw [mul_val, hy1, hy2]
     simpa only [val_mk', mk_mul, ← Subtype.val_eq_coe]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.mul_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mulMem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.mul_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mul_mem'
 
 end SectionSubring
 
@@ -181,11 +181,11 @@ variable {π’œ}
 def sectionsSubring (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) : Subring (βˆ€ x : unop U, at x.1)
     where
   carrier := {f | (isLocallyFraction π’œ).pred f}
-  zero_mem' := zeroMem' U
-  one_mem' := oneMem' U
-  add_mem' := addMem' U
-  neg_mem' := negMem' U
-  mul_mem' := mulMem' U
+  zero_mem' := zero_mem' U
+  one_mem' := one_mem' U
+  add_mem' := add_mem' U
+  neg_mem' := neg_mem' U
+  mul_mem' := mul_mem' U
 #align algebraic_geometry.projective_spectrum.structure_sheaf.sections_subring AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.sectionsSubring
 
 end
Diff
@@ -65,7 +65,6 @@ variable [CommRing R] [CommRing A] [Algebra R A]
 
 variable (π’œ : β„• β†’ Submodule R A) [GradedAlgebra π’œ]
 
--- mathport name: Β«exprat Β»
 local notation "at " x => HomogeneousLocalization.AtPrime π’œ x.asHomogeneousIdeal.toIdeal
 
 namespace ProjectiveSpectrum.StructureSheaf
Diff
@@ -105,17 +105,17 @@ variable {π’œ}
 
 open Submodule SetLike.GradedMonoid HomogeneousLocalization
 
-theorem zero_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
+theorem zeroMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
     (isLocallyFraction π’œ).pred (0 : βˆ€ x : unop U, at x.1) := fun x =>
   ⟨unop U, x.2, πŸ™ (unop U), ⟨0, ⟨0, zero_mem _⟩, ⟨1, one_mem⟩, fun y => ⟨_, rfl⟩⟩⟩
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.zero_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.zero_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.zero_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.zeroMem'
 
-theorem one_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
+theorem oneMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
     (isLocallyFraction π’œ).pred (1 : βˆ€ x : unop U, at x.1) := fun x =>
   ⟨unop U, x.2, πŸ™ (unop U), ⟨0, ⟨1, one_mem⟩, ⟨1, one_mem⟩, fun y => ⟨_, rfl⟩⟩⟩
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.one_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.one_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.one_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.oneMem'
 
-theorem add_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
+theorem addMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) (hb : (isLocallyFraction π’œ).pred b) :
     (isLocallyFraction π’œ).pred (a + b) := fun x =>
   by
@@ -136,9 +136,9 @@ theorem add_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x
     dsimp only at hy1 hy2 
     erw [hy1, hy2]
     simpa only [val_mk', add_mk, ← Subtype.val_eq_coe, add_comm, mul_comm sa sb]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.add_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.addMem'
 
-theorem neg_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : unop U, at x.1)
+theorem negMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) : (isLocallyFraction π’œ).pred (-a) := fun x =>
   by
   rcases ha x with ⟨V, m, i, j, ⟨r, r_mem⟩, ⟨s, s_mem⟩, w⟩
@@ -146,9 +146,9 @@ theorem neg_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x :
   refine' ⟨V, m, i, j, ⟨-r, Submodule.neg_mem _ r_mem⟩, ⟨s, s_mem⟩, fun y => ⟨nin y, _⟩⟩
   simp only [ext_iff_val, val_mk', ← Subtype.val_eq_coe] at hy 
   simp only [Pi.neg_apply, ext_iff_val, neg_val, hy, val_mk', ← Subtype.val_eq_coe, neg_mk]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.neg_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.negMem'
 
-theorem mul_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
+theorem mulMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) (hb : (isLocallyFraction π’œ).pred b) :
     (isLocallyFraction π’œ).pred (a * b) := fun x =>
   by
@@ -167,7 +167,7 @@ theorem mul_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x
     rw [ext_iff_val] at hy1 hy2 ⊒
     erw [mul_val, hy1, hy2]
     simpa only [val_mk', mk_mul, ← Subtype.val_eq_coe]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.mul_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mul_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.mul_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mulMem'
 
 end SectionSubring
 
@@ -182,11 +182,11 @@ variable {π’œ}
 def sectionsSubring (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) : Subring (βˆ€ x : unop U, at x.1)
     where
   carrier := {f | (isLocallyFraction π’œ).pred f}
-  zero_mem' := zero_mem' U
-  one_mem' := one_mem' U
-  add_mem' := add_mem' U
-  neg_mem' := neg_mem' U
-  mul_mem' := mul_mem' U
+  zero_mem' := zeroMem' U
+  one_mem' := oneMem' U
+  add_mem' := addMem' U
+  neg_mem' := negMem' U
+  mul_mem' := mulMem' U
 #align algebraic_geometry.projective_spectrum.structure_sheaf.sections_subring AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.sectionsSubring
 
 end
Diff
@@ -181,7 +181,7 @@ variable {π’œ}
 `Ξ  x : U, homogeneous_localization π’œ x`.-/
 def sectionsSubring (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) : Subring (βˆ€ x : unop U, at x.1)
     where
-  carrier := { f | (isLocallyFraction π’œ).pred f }
+  carrier := {f | (isLocallyFraction π’œ).pred f}
   zero_mem' := zero_mem' U
   one_mem' := one_mem' U
   add_mem' := add_mem' U
Diff
@@ -76,7 +76,7 @@ variable {π’œ}
 `r / s` of *same grading* in each of the stalks (which are localizations at various prime ideals).
 -/
 def IsFraction {U : Opens (ProjectiveSpectrum.top π’œ)} (f : βˆ€ x : U, at x.1) : Prop :=
-  βˆƒ (i : β„•)(r s : π’œ i),
+  βˆƒ (i : β„•) (r s : π’œ i),
     βˆ€ x : U, βˆƒ s_nin : s.1 βˆ‰ x.1.asHomogeneousIdeal, f x = Quotient.mk'' ⟨i, r, s, s_nin⟩
 #align algebraic_geometry.projective_spectrum.structure_sheaf.is_fraction AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.IsFraction
 
@@ -133,7 +133,7 @@ theorem add_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x
   Β· simp only [add_mul, map_add, Pi.add_apply, RingHom.map_mul, ext_iff_val, add_val]
     obtain ⟨nin1, hy1⟩ := wa (opens.inf_le_left Va Vb y)
     obtain ⟨nin2, hy2⟩ := wb (opens.inf_le_right Va Vb y)
-    dsimp only at hy1 hy2
+    dsimp only at hy1 hy2 
     erw [hy1, hy2]
     simpa only [val_mk', add_mk, ← Subtype.val_eq_coe, add_comm, mul_comm sa sb]
 #align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.add_mem'
@@ -144,7 +144,7 @@ theorem neg_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x :
   rcases ha x with ⟨V, m, i, j, ⟨r, r_mem⟩, ⟨s, s_mem⟩, w⟩
   choose nin hy using w
   refine' ⟨V, m, i, j, ⟨-r, Submodule.neg_mem _ r_mem⟩, ⟨s, s_mem⟩, fun y => ⟨nin y, _⟩⟩
-  simp only [ext_iff_val, val_mk', ← Subtype.val_eq_coe] at hy
+  simp only [ext_iff_val, val_mk', ← Subtype.val_eq_coe] at hy 
   simp only [Pi.neg_apply, ext_iff_val, neg_val, hy, val_mk', ← Subtype.val_eq_coe, neg_mk]
 #align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.neg_mem'
 
@@ -164,7 +164,7 @@ theorem mul_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x
   Β· simp only [Pi.mul_apply, RingHom.map_mul]
     choose nin1 hy1 using wa (opens.inf_le_left Va Vb y)
     choose nin2 hy2 using wb (opens.inf_le_right Va Vb y)
-    rw [ext_iff_val] at hy1 hy2⊒
+    rw [ext_iff_val] at hy1 hy2 ⊒
     erw [mul_val, hy1, hy2]
     simpa only [val_mk', mk_mul, ← Subtype.val_eq_coe]
 #align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.mul_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mul_mem'
@@ -347,15 +347,15 @@ def Proj.stalkIso' (x : ProjectiveSpectrum.top π’œ) :
       obtain ⟨v2, memv2, i2, ⟨j2, ⟨a2, a2_mem⟩, ⟨b2, b2_mem⟩, hs2⟩⟩ := s2.2 ⟨x, memu2⟩
       obtain ⟨b1_nin_x, eq2⟩ := hs1 ⟨x, memv1⟩
       obtain ⟨b2_nin_x, eq3⟩ := hs2 ⟨x, memv2⟩
-      dsimp only at eq1 eq2 eq3
+      dsimp only at eq1 eq2 eq3 
       erw [stalk_to_fiber_ring_hom_germ π’œ u1 ⟨x, memu1⟩ s1,
-        stalk_to_fiber_ring_hom_germ π’œ u2 ⟨x, memu2⟩ s2] at eq1
-      erw [eq1] at eq2
-      erw [eq2, Quotient.eq'] at eq3
-      change Localization.mk _ _ = Localization.mk _ _ at eq3
-      rw [Localization.mk_eq_mk', IsLocalization.eq] at eq3
+        stalk_to_fiber_ring_hom_germ π’œ u2 ⟨x, memu2⟩ s2] at eq1 
+      erw [eq1] at eq2 
+      erw [eq2, Quotient.eq'] at eq3 
+      change Localization.mk _ _ = Localization.mk _ _ at eq3 
+      rw [Localization.mk_eq_mk', IsLocalization.eq] at eq3 
       obtain ⟨⟨c, hc⟩, eq3⟩ := eq3
-      simp only [← Subtype.val_eq_coe] at eq3
+      simp only [← Subtype.val_eq_coe] at eq3 
       have eq3' :
         βˆ€ (y : ProjectiveSpectrum.top π’œ)
           (hy :
@@ -396,7 +396,7 @@ def Proj.stalkIso' (x : ProjectiveSpectrum.top π’œ) :
       obtain ⟨b1_nin_y, eq6⟩ :=
         hs1 ⟨_, le_of_hom (opens.inf_le_left _ _ ≫ opens.inf_le_right _ _) y.2⟩
       obtain ⟨b2_nin_y, eq7⟩ := hs2 ⟨_, le_of_hom (opens.inf_le_right _ _) y.2⟩
-      simp only at eq6 eq7
+      simp only at eq6 eq7 
       erw [eq6, eq7, Quotient.eq']
       change Localization.mk _ _ = Localization.mk _ _
       exact
Diff
@@ -105,17 +105,17 @@ variable {π’œ}
 
 open Submodule SetLike.GradedMonoid HomogeneousLocalization
 
-theorem zeroMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
+theorem zero_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
     (isLocallyFraction π’œ).pred (0 : βˆ€ x : unop U, at x.1) := fun x =>
   ⟨unop U, x.2, πŸ™ (unop U), ⟨0, ⟨0, zero_mem _⟩, ⟨1, one_mem⟩, fun y => ⟨_, rfl⟩⟩⟩
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.zero_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.zeroMem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.zero_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.zero_mem'
 
-theorem oneMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
+theorem one_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
     (isLocallyFraction π’œ).pred (1 : βˆ€ x : unop U, at x.1) := fun x =>
   ⟨unop U, x.2, πŸ™ (unop U), ⟨0, ⟨1, one_mem⟩, ⟨1, one_mem⟩, fun y => ⟨_, rfl⟩⟩⟩
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.one_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.oneMem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.one_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.one_mem'
 
-theorem addMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
+theorem add_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) (hb : (isLocallyFraction π’œ).pred b) :
     (isLocallyFraction π’œ).pred (a + b) := fun x =>
   by
@@ -136,9 +136,9 @@ theorem addMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x :
     dsimp only at hy1 hy2
     erw [hy1, hy2]
     simpa only [val_mk', add_mk, ← Subtype.val_eq_coe, add_comm, mul_comm sa sb]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.addMem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.add_mem'
 
-theorem negMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : unop U, at x.1)
+theorem neg_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) : (isLocallyFraction π’œ).pred (-a) := fun x =>
   by
   rcases ha x with ⟨V, m, i, j, ⟨r, r_mem⟩, ⟨s, s_mem⟩, w⟩
@@ -146,9 +146,9 @@ theorem negMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : u
   refine' ⟨V, m, i, j, ⟨-r, Submodule.neg_mem _ r_mem⟩, ⟨s, s_mem⟩, fun y => ⟨nin y, _⟩⟩
   simp only [ext_iff_val, val_mk', ← Subtype.val_eq_coe] at hy
   simp only [Pi.neg_apply, ext_iff_val, neg_val, hy, val_mk', ← Subtype.val_eq_coe, neg_mk]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.negMem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.neg_mem'
 
-theorem mulMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
+theorem mul_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) (hb : (isLocallyFraction π’œ).pred b) :
     (isLocallyFraction π’œ).pred (a * b) := fun x =>
   by
@@ -167,7 +167,7 @@ theorem mulMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x :
     rw [ext_iff_val] at hy1 hy2⊒
     erw [mul_val, hy1, hy2]
     simpa only [val_mk', mk_mul, ← Subtype.val_eq_coe]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.mul_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mulMem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.mul_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mul_mem'
 
 end SectionSubring
 
@@ -182,11 +182,11 @@ variable {π’œ}
 def sectionsSubring (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) : Subring (βˆ€ x : unop U, at x.1)
     where
   carrier := { f | (isLocallyFraction π’œ).pred f }
-  zero_mem' := zeroMem' U
-  one_mem' := oneMem' U
-  add_mem' := addMem' U
-  neg_mem' := negMem' U
-  mul_mem' := mulMem' U
+  zero_mem' := zero_mem' U
+  one_mem' := one_mem' U
+  add_mem' := add_mem' U
+  neg_mem' := neg_mem' U
+  mul_mem' := mul_mem' U
 #align algebraic_geometry.projective_spectrum.structure_sheaf.sections_subring AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.sectionsSubring
 
 end
Diff
@@ -55,7 +55,7 @@ noncomputable section
 
 namespace AlgebraicGeometry
 
-open DirectSum BigOperators Pointwise
+open scoped DirectSum BigOperators Pointwise
 
 open DirectSum SetLike Localization TopCat TopologicalSpace CategoryTheory Opposite
 
Diff
@@ -128,10 +128,8 @@ theorem addMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x :
           (mul_mem sa_mem rb_mem)⟩,
       ⟨sa * sb, mul_mem sa_mem sb_mem⟩, fun y => ⟨fun h => _, _⟩⟩
   Β· cases' (y : ProjectiveSpectrum.top π’œ).IsPrime.mem_or_mem h with h h
-    · obtain ⟨nin, -⟩ := wa ⟨y, (opens.inf_le_left Va Vb y).2⟩
-      exact nin h
-    · obtain ⟨nin, -⟩ := wb ⟨y, (opens.inf_le_right Va Vb y).2⟩
-      exact nin h
+    · obtain ⟨nin, -⟩ := wa ⟨y, (opens.inf_le_left Va Vb y).2⟩; exact nin h
+    · obtain ⟨nin, -⟩ := wb ⟨y, (opens.inf_le_right Va Vb y).2⟩; exact nin h
   Β· simp only [add_mul, map_add, Pi.add_apply, RingHom.map_mul, ext_iff_val, add_val]
     obtain ⟨nin1, hy1⟩ := wa (opens.inf_le_left Va Vb y)
     obtain ⟨nin2, hy2⟩ := wb (opens.inf_le_right Va Vb y)
@@ -161,10 +159,8 @@ theorem mulMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x :
       ⟨ra * rb, SetLike.mul_mem_graded ra_mem rb_mem⟩,
       ⟨sa * sb, SetLike.mul_mem_graded sa_mem sb_mem⟩, fun y => ⟨fun h => _, _⟩⟩
   Β· cases' (y : ProjectiveSpectrum.top π’œ).IsPrime.mem_or_mem h with h h
-    · choose nin hy using wa ⟨y, (opens.inf_le_left Va Vb y).2⟩
-      exact nin h
-    · choose nin hy using wb ⟨y, (opens.inf_le_right Va Vb y).2⟩
-      exact nin h
+    · choose nin hy using wa ⟨y, (opens.inf_le_left Va Vb y).2⟩; exact nin h
+    · choose nin hy using wb ⟨y, (opens.inf_le_right Va Vb y).2⟩; exact nin h
   Β· simp only [Pi.mul_apply, RingHom.map_mul]
     choose nin1 hy1 using wa (opens.inf_le_left Va Vb y)
     choose nin2 hy2 using wb (opens.inf_le_right Va Vb y)
@@ -306,16 +302,12 @@ theorem stalkToFiberRingHom_germ' (U : Opens (ProjectiveSpectrum.top π’œ))
 @[simp]
 theorem stalkToFiberRingHom_germ (U : Opens (ProjectiveSpectrum.top π’œ)) (x : U)
     (s : (Proj.structureSheaf π’œ).1.obj (op U)) :
-    stalkToFiberRingHom π’œ x ((Proj.structureSheaf π’œ).Presheaf.germ x s) = s.1 x :=
-  by
-  cases x
+    stalkToFiberRingHom π’œ x ((Proj.structureSheaf π’œ).Presheaf.germ x s) = s.1 x := by cases x;
   exact stalk_to_fiber_ring_hom_germ' π’œ U _ _ _
 #align algebraic_geometry.stalk_to_fiber_ring_hom_germ AlgebraicGeometry.stalkToFiberRingHom_germ
 
 theorem HomogeneousLocalization.mem_basicOpen (x : ProjectiveSpectrum.top π’œ) (f : at x) :
-    x ∈ ProjectiveSpectrum.basicOpen π’œ f.den :=
-  by
-  rw [ProjectiveSpectrum.mem_basicOpen]
+    x ∈ ProjectiveSpectrum.basicOpen π’œ f.den := by rw [ProjectiveSpectrum.mem_basicOpen];
   exact f.denom_mem
 #align algebraic_geometry.homogeneous_localization.mem_basic_open AlgebraicGeometry.HomogeneousLocalization.mem_basicOpen
 
Diff
@@ -327,9 +327,9 @@ basic open set `D(f.denom)`-/
 def sectionInBasicOpen (x : ProjectiveSpectrum.top π’œ) :
     βˆ€ f : at x, (Proj.structureSheaf π’œ).1.obj (op (ProjectiveSpectrum.basicOpen π’œ f.den)) :=
   fun f =>
-  ⟨fun y => Quotient.mk'' ⟨f.deg, ⟨f.num, f.num_mem_deg⟩, ⟨f.den, f.denom_mem_deg⟩, y.2⟩, fun y =>
+  ⟨fun y => Quotient.mk'' ⟨f.deg, ⟨f.num, f.num_mem_deg⟩, ⟨f.den, f.den_mem_deg⟩, y.2⟩, fun y =>
     ⟨ProjectiveSpectrum.basicOpen π’œ f.den, y.2,
-      βŸ¨πŸ™ _, ⟨f.deg, ⟨⟨f.num, f.num_mem_deg⟩, ⟨f.den, f.denom_mem_deg⟩, fun z => ⟨z.2, rfl⟩⟩⟩⟩⟩⟩
+      βŸ¨πŸ™ _, ⟨f.deg, ⟨⟨f.num, f.num_mem_deg⟩, ⟨f.den, f.den_mem_deg⟩, fun z => ⟨z.2, rfl⟩⟩⟩⟩⟩⟩
 #align algebraic_geometry.section_in_basic_open AlgebraicGeometry.sectionInBasicOpen
 
 /-- Given any point `x` and `f` in the homogeneous localization at `x`, there is an element in the
Diff
@@ -105,17 +105,17 @@ variable {π’œ}
 
 open Submodule SetLike.GradedMonoid HomogeneousLocalization
 
-theorem zero_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
+theorem zeroMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
     (isLocallyFraction π’œ).pred (0 : βˆ€ x : unop U, at x.1) := fun x =>
   ⟨unop U, x.2, πŸ™ (unop U), ⟨0, ⟨0, zero_mem _⟩, ⟨1, one_mem⟩, fun y => ⟨_, rfl⟩⟩⟩
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.zero_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.zero_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.zero_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.zeroMem'
 
-theorem one_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
+theorem oneMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) :
     (isLocallyFraction π’œ).pred (1 : βˆ€ x : unop U, at x.1) := fun x =>
   ⟨unop U, x.2, πŸ™ (unop U), ⟨0, ⟨1, one_mem⟩, ⟨1, one_mem⟩, fun y => ⟨_, rfl⟩⟩⟩
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.one_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.one_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.one_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.oneMem'
 
-theorem add_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
+theorem addMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) (hb : (isLocallyFraction π’œ).pred b) :
     (isLocallyFraction π’œ).pred (a + b) := fun x =>
   by
@@ -138,9 +138,9 @@ theorem add_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x
     dsimp only at hy1 hy2
     erw [hy1, hy2]
     simpa only [val_mk', add_mk, ← Subtype.val_eq_coe, add_comm, mul_comm sa sb]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.add_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.add_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.addMem'
 
-theorem neg_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : unop U, at x.1)
+theorem negMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) : (isLocallyFraction π’œ).pred (-a) := fun x =>
   by
   rcases ha x with ⟨V, m, i, j, ⟨r, r_mem⟩, ⟨s, s_mem⟩, w⟩
@@ -148,9 +148,9 @@ theorem neg_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a : βˆ€ x :
   refine' ⟨V, m, i, j, ⟨-r, Submodule.neg_mem _ r_mem⟩, ⟨s, s_mem⟩, fun y => ⟨nin y, _⟩⟩
   simp only [ext_iff_val, val_mk', ← Subtype.val_eq_coe] at hy
   simp only [Pi.neg_apply, ext_iff_val, neg_val, hy, val_mk', ← Subtype.val_eq_coe, neg_mk]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.neg_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.neg_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.negMem'
 
-theorem mul_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
+theorem mulMem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x : unop U, at x.1)
     (ha : (isLocallyFraction π’œ).pred a) (hb : (isLocallyFraction π’œ).pred b) :
     (isLocallyFraction π’œ).pred (a * b) := fun x =>
   by
@@ -171,7 +171,7 @@ theorem mul_mem' (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) (a b : βˆ€ x
     rw [ext_iff_val] at hy1 hy2⊒
     erw [mul_val, hy1, hy2]
     simpa only [val_mk', mk_mul, ← Subtype.val_eq_coe]
-#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.mul_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mul_mem'
+#align algebraic_geometry.projective_spectrum.structure_sheaf.section_subring.mul_mem' AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.SectionSubring.mulMem'
 
 end SectionSubring
 
@@ -186,11 +186,11 @@ variable {π’œ}
 def sectionsSubring (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) : Subring (βˆ€ x : unop U, at x.1)
     where
   carrier := { f | (isLocallyFraction π’œ).pred f }
-  zero_mem' := zero_mem' U
-  one_mem' := one_mem' U
-  add_mem' := add_mem' U
-  neg_mem' := neg_mem' U
-  mul_mem' := mul_mem' U
+  zero_mem' := zeroMem' U
+  one_mem' := oneMem' U
+  add_mem' := addMem' U
+  neg_mem' := negMem' U
+  mul_mem' := mulMem' U
 #align algebraic_geometry.projective_spectrum.structure_sheaf.sections_subring AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.sectionsSubring
 
 end
Diff
@@ -282,7 +282,7 @@ formed by gluing the `open_to_localization` maps. -/
 def stalkToFiberRingHom (x : ProjectiveSpectrum.top π’œ) :
     (Proj.structureSheaf π’œ).Presheaf.stalk x ⟢ CommRingCat.of (at x) :=
   Limits.colimit.desc ((OpenNhds.inclusion x).op β‹™ (Proj.structureSheaf π’œ).1)
-    { x := _
+    { pt := _
       ΞΉ :=
         {
           app := fun U =>

Changes in mathlib4

mathlib3
mathlib4
style: replace '.-/' by '. -/' (#11938)

Purely automatic replacement. If this is in any way controversial; I'm happy to just close this PR.

Diff
@@ -88,7 +88,7 @@ def isFractionPrelocal : PrelocalPredicate fun x : ProjectiveSpectrum.top π’œ =
 
 /-- We will define the structure sheaf as the subsheaf of all dependent functions in
 `Ξ  x : U, HomogeneousLocalization π’œ x` consisting of those functions which can locally be expressed
-as a ratio of `A` of same grading.-/
+as a ratio of `A` of same grading. -/
 def isLocallyFraction : LocalPredicate fun x : ProjectiveSpectrum.top π’œ => at x :=
   (isFractionPrelocal π’œ).sheafify
 #align algebraic_geometry.projective_spectrum.structure_sheaf.is_locally_fraction AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.isLocallyFraction
@@ -171,7 +171,7 @@ open SectionSubring
 variable {π’œ}
 
 /-- The functions satisfying `isLocallyFraction` form a subring of all dependent functions
-`Ξ  x : U, HomogeneousLocalization π’œ x`.-/
+`Ξ  x : U, HomogeneousLocalization π’œ x`. -/
 def sectionsSubring (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) : Subring (βˆ€ x : U.unop, at x.1)
     where
   carrier := {f | (isLocallyFraction π’œ).pred f}
@@ -185,7 +185,7 @@ def sectionsSubring (U : (Opens (ProjectiveSpectrum.top π’œ))α΅’α΅–) : Subring
 end
 
 /-- The structure sheaf (valued in `Type`, not yet `CommRing`) is the subsheaf consisting of
-functions satisfying `isLocallyFraction`.-/
+functions satisfying `isLocallyFraction`. -/
 def structureSheafInType : Sheaf (Type _) (ProjectiveSpectrum.top π’œ) :=
   subsheafToTypes (isLocallyFraction π’œ)
 #align algebraic_geometry.projective_spectrum.structure_sheaf.structure_sheaf_in_Type AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structureSheafInType
@@ -196,7 +196,7 @@ instance commRingStructureSheafInTypeObj (U : (Opens (ProjectiveSpectrum.top 
 #align algebraic_geometry.projective_spectrum.structure_sheaf.comm_ring_structure_sheaf_in_Type_obj AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.commRingStructureSheafInTypeObj
 
 /-- The structure presheaf, valued in `CommRing`, constructed by dressing up the `Type` valued
-structure presheaf.-/
+structure presheaf. -/
 @[simps]
 def structurePresheafInCommRing : Presheaf CommRingCat (ProjectiveSpectrum.top π’œ) where
   obj U := CommRingCat.of ((structureSheafInType π’œ).1.obj U)
@@ -214,7 +214,7 @@ attribute [nolint simpNF]
   AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structurePresheafInCommRing_map_apply
 
 /-- Some glue, verifying that that structure presheaf valued in `CommRing` agrees with the `Type`
-valued structure presheaf.-/
+valued structure presheaf. -/
 def structurePresheafCompForget :
     structurePresheafInCommRing π’œ β‹™ forget CommRingCat β‰… (structureSheafInType π’œ).1 :=
   NatIso.ofComponents (fun U => Iso.refl _) (by aesop_cat)
@@ -226,7 +226,7 @@ namespace ProjectiveSpectrum
 
 open TopCat.Presheaf ProjectiveSpectrum.StructureSheaf Opens
 
-/-- The structure sheaf on `Proj` π’œ, valued in `CommRing`.-/
+/-- The structure sheaf on `Proj` π’œ, valued in `CommRing`. -/
 def Proj.structureSheaf : Sheaf CommRingCat (ProjectiveSpectrum.top π’œ) :=
   ⟨structurePresheafInCommRing π’œ,
     (-- We check the sheaf condition under `forget CommRing`.
@@ -332,7 +332,7 @@ def homogeneousLocalizationToStalk (x : ProjectiveSpectrum.top π’œ) :
 #align algebraic_geometry.homogeneous_localization_to_stalk AlgebraicGeometry.homogeneousLocalizationToStalk
 
 /-- Using `homogeneousLocalizationToStalk`, we construct a ring isomorphism between stalk at `x`
-and homogeneous localization at `x` for any point `x` in `Proj`.-/
+and homogeneous localization at `x` for any point `x` in `Proj`. -/
 def Proj.stalkIso' (x : ProjectiveSpectrum.top π’œ) :
     (Proj.structureSheaf π’œ).presheaf.stalk x ≃+* CommRingCat.of (at x) :=
   RingEquiv.ofBijective (stalkToFiberRingHom _ x)
chore(*): remove empty lines between variable statements (#11418)

Empty lines were removed by executing the following Python script twice

import os
import re


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

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

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

      # Write the modified content back to the file
      with open(file_path, 'w') as file:
        file.write(modified_content)
Diff
@@ -57,9 +57,7 @@ open scoped DirectSum BigOperators Pointwise
 open DirectSum SetLike Localization TopCat TopologicalSpace CategoryTheory Opposite
 
 variable {R A : Type*}
-
 variable [CommRing R] [CommRing A] [Algebra R A]
-
 variable (π’œ : β„• β†’ Submodule R A) [GradedAlgebra π’œ]
 
 local notation3 "at " x =>
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -281,7 +281,7 @@ def stalkToFiberRingHom (x : ProjectiveSpectrum.top π’œ) :
       ΞΉ :=
         { app := fun U =>
             openToLocalization π’œ ((OpenNhds.inclusion _).obj U.unop) x U.unop.2
-          -- porting note: this proof was automatic in mathlib3
+          -- Porting note: this proof was automatic in mathlib3
           naturality := fun _ _ _ => rfl } }
 #align algebraic_geometry.stalk_to_fiber_ring_hom AlgebraicGeometry.stalkToFiberRingHom
 
Revert "chore: revert #7703 (#7710)"

This reverts commit f3695eb2.

Diff
@@ -211,6 +211,10 @@ def structurePresheafInCommRing : Presheaf CommRingCat (ProjectiveSpectrum.top 
 set_option linter.uppercaseLean3 false in
 #align algebraic_geometry.projective_spectrum.structure_sheaf.structure_presheaf_in_CommRing AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structurePresheafInCommRing
 
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF]
+  AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structurePresheafInCommRing_map_apply
+
 /-- Some glue, verifying that that structure presheaf valued in `CommRing` agrees with the `Type`
 valued structure presheaf.-/
 def structurePresheafCompForget :
chore: revert #7703 (#7710)

This reverts commit 26eb2b0a.

Diff
@@ -211,10 +211,6 @@ def structurePresheafInCommRing : Presheaf CommRingCat (ProjectiveSpectrum.top 
 set_option linter.uppercaseLean3 false in
 #align algebraic_geometry.projective_spectrum.structure_sheaf.structure_presheaf_in_CommRing AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structurePresheafInCommRing
 
--- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
-attribute [nolint simpNF]
-  AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structurePresheafInCommRing_map_apply
-
 /-- Some glue, verifying that that structure presheaf valued in `CommRing` agrees with the `Type`
 valued structure presheaf.-/
 def structurePresheafCompForget :
chore: bump toolchain to v4.2.0-rc2 (#7703)

This includes all the changes from #7606.

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

Diff
@@ -211,6 +211,10 @@ def structurePresheafInCommRing : Presheaf CommRingCat (ProjectiveSpectrum.top 
 set_option linter.uppercaseLean3 false in
 #align algebraic_geometry.projective_spectrum.structure_sheaf.structure_presheaf_in_CommRing AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structurePresheafInCommRing
 
+-- These lemmas have always been bad (#7657), but leanprover/lean4#2644 made `simp` start noticing
+attribute [nolint simpNF]
+  AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf.structurePresheafInCommRing_map_apply
+
 /-- Some glue, verifying that that structure presheaf valued in `CommRing` agrees with the `Type`
 valued structure presheaf.-/
 def structurePresheafCompForget :
chore: move (locally) ringed spaces out of AlgebraicGeometry (#7330)

Create new folder Geometry.RingedSpace for (locally) ringed spaces and move about half of the contents of AlgebraicGeometry there. Files renamed:

AlgebraicGeometry.OpenImmersion.Scheme β†’ AlgebraicGeometry.OpenImmersion
AlgebraicGeometry.RingedSpace β†’ Geometry.RingedSpace.Basic
AlgebraicGeometry.LocallyRingedSpace β†’ Geometry.RingedSpace.LocallyRingedSpace
AlgebraicGeometry.LocallyRingedSpace.HasColimits β†’ Geometry.RingedSpace.LocallyRingedSpace.HasColimits
AlgebraicGeometry.OpenImmersion.Basic β†’ Geometry.RingedSpace.OpenImmersion
AlgebraicGeometry.PresheafedSpace β†’ Geometry.RingedSpace.PresheafedSpace
AlgebraicGeometry.PresheafedSpace.Gluing β†’ Geometry.RingedSpace.PresheafedSpace.Gluing
AlgebraicGeometry.PresheafedSpace.HasColimits β†’ Geometry.RingedSpace.PresheafedSpace.HasColimits
AlgebraicGeometry.SheafedSpace β†’ Geometry.RingedSpace.SheafedSpace
AlgebraicGeometry.Stalks β†’ Geometry.RingedSpace.Stalks

See Zulip.

Diff
@@ -6,7 +6,7 @@ Authors: Jujian Zhang
 import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Topology
 import Mathlib.Topology.Sheaves.LocalPredicate
 import Mathlib.RingTheory.GradedAlgebra.HomogeneousLocalization
-import Mathlib.AlgebraicGeometry.LocallyRingedSpace
+import Mathlib.Geometry.RingedSpace.LocallyRingedSpace
 
 #align_import algebraic_geometry.projective_spectrum.structure_sheaf from "leanprover-community/mathlib"@"486cb2f3bda4a67557c6285f5bd0c3348c1eea81"
 
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
@@ -56,7 +56,7 @@ open scoped DirectSum BigOperators Pointwise
 
 open DirectSum SetLike Localization TopCat TopologicalSpace CategoryTheory Opposite
 
-variable {R A : Type _}
+variable {R A : Type*}
 
 variable [CommRing R] [CommRing A] [Algebra R A]
 
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,17 +2,14 @@
 Copyright (c) 2022 Jujian Zhang. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Jujian Zhang
-
-! This file was ported from Lean 3 source module algebraic_geometry.projective_spectrum.structure_sheaf
-! leanprover-community/mathlib commit 486cb2f3bda4a67557c6285f5bd0c3348c1eea81
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.AlgebraicGeometry.ProjectiveSpectrum.Topology
 import Mathlib.Topology.Sheaves.LocalPredicate
 import Mathlib.RingTheory.GradedAlgebra.HomogeneousLocalization
 import Mathlib.AlgebraicGeometry.LocallyRingedSpace
 
+#align_import algebraic_geometry.projective_spectrum.structure_sheaf from "leanprover-community/mathlib"@"486cb2f3bda4a67557c6285f5bd0c3348c1eea81"
+
 /-!
 # The structure sheaf on `projective_spectrum π’œ`.
 
fix: at notation for ProjectiveSpectrum.StructureSheaf (#5758)

Switches to notation3 and eliminates dot notation so it can generate a pretty printer.

Diff
@@ -65,8 +65,9 @@ variable [CommRing R] [CommRing A] [Algebra R A]
 
 variable (π’œ : β„• β†’ Submodule R A) [GradedAlgebra π’œ]
 
-local macro "at " x:term : term => `(HomogeneousLocalization.AtPrime π’œ
-  ($x : ProjectiveSpectrum.top π’œ).asHomogeneousIdeal.toIdeal)
+local notation3 "at " x =>
+  HomogeneousLocalization.AtPrime π’œ
+    (HomogeneousIdeal.toIdeal (ProjectiveSpectrum.asHomogeneousIdeal x))
 
 namespace ProjectiveSpectrum.StructureSheaf
 
feat: port AlgebraicGeometry.ProjectiveSpectrum.StructureSheaf (#5224)

Co-authored-by: Matthew Ballard <matt@mrb.email> Co-authored-by: Matthew Robert Ballard <100034030+mattrobball@users.noreply.github.com>

Dependencies 11 + 853

854 files ported (98.7%)
353155 lines ported (98.5%)
Show graph

The unported dependencies are