algebraic_geometry.sheafed_space
⟷
Mathlib.Geometry.RingedSpace.SheafedSpace
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.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -99,7 +99,7 @@ instance : Category (SheafedSpace C) :=
/-- Forgetting the sheaf condition is a functor from `SheafedSpace C` to `PresheafedSpace C`. -/
def forgetToPresheafedSpace : SheafedSpace.{v} C ⥤ PresheafedSpace.{v} C :=
inducedFunctor _
-deriving Full, Faithful
+deriving CategoryTheory.Functor.Full, CategoryTheory.Functor.Faithful
#align algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import AlgebraicGeometry.PresheafedSpace.HasColimits
+import Geometry.RingedSpace.PresheafedSpace.HasColimits
import Topology.Sheaves.Functors
#align_import algebraic_geometry.sheafed_space from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import Mathbin.AlgebraicGeometry.PresheafedSpace.HasColimits
-import Mathbin.Topology.Sheaves.Functors
+import AlgebraicGeometry.PresheafedSpace.HasColimits
+import Topology.Sheaves.Functors
#align_import algebraic_geometry.sheafed_space from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebraic_geometry.sheafed_space
-! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.AlgebraicGeometry.PresheafedSpace.HasColimits
import Mathbin.Topology.Sheaves.Functors
+#align_import algebraic_geometry.sheafed_space from "leanprover-community/mathlib"@"0b7c740e25651db0ba63648fbae9f9d6f941e31b"
+
/-!
# Sheafed spaces
mathlib commit https://github.com/leanprover-community/mathlib/commit/2a0ce625dbb0ffbc7d1316597de0b25c1ec75303
@@ -45,12 +45,10 @@ attribute [local tidy] tactic.op_induction'
namespace AlgebraicGeometry
-#print AlgebraicGeometry.SheafedSpace /-
/-- A `SheafedSpace C` is a topological space equipped with a sheaf of `C`s. -/
structure SheafedSpace extends PresheafedSpace.{v} C where
IsSheaf : presheaf.IsSheaf
-#align algebraic_geometry.SheafedSpace AlgebraicGeometry.SheafedSpace
--/
+#align algebraic_geometry.SheafedSpace AlgebraicGeometry.SheafedSpaceₓ
variable {C}
@@ -71,7 +69,7 @@ def sheaf (X : SheafedSpace C) : Sheaf C (X : TopCat.{v}) :=
@[simp]
theorem as_coe (X : SheafedSpace.{v} C) : X.carrier = (X : TopCat.{v}) :=
rfl
-#align algebraic_geometry.SheafedSpace.as_coe AlgebraicGeometry.SheafedSpace.as_coe
+#align algebraic_geometry.SheafedSpace.as_coe AlgebraicGeometry.SheafedSpaceₓ.as_coe
#print AlgebraicGeometry.SheafedSpace.mk_coe /-
@[simp]
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -56,8 +56,10 @@ variable {C}
namespace SheafedSpace
+#print AlgebraicGeometry.SheafedSpace.coeCarrier /-
instance coeCarrier : Coe (SheafedSpace C) TopCat where coe X := X.carrier
#align algebraic_geometry.SheafedSpace.coe_carrier AlgebraicGeometry.SheafedSpace.coeCarrier
+-/
#print AlgebraicGeometry.SheafedSpace.sheaf /-
/-- Extract the `sheaf C (X : Top)` from a `SheafedSpace C`. -/
@@ -98,16 +100,20 @@ instance : Category (SheafedSpace C) :=
show Category (InducedCategory (PresheafedSpace.{v} C) SheafedSpace.toPresheafedSpace) by
infer_instance
+#print AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace /-
/-- Forgetting the sheaf condition is a functor from `SheafedSpace C` to `PresheafedSpace C`. -/
def forgetToPresheafedSpace : SheafedSpace.{v} C ⥤ PresheafedSpace.{v} C :=
inducedFunctor _
deriving Full, Faithful
#align algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace
+-/
+#print AlgebraicGeometry.SheafedSpace.is_presheafedSpace_iso /-
instance is_presheafedSpace_iso {X Y : SheafedSpace.{v} C} (f : X ⟶ Y) [IsIso f] :
@IsIso (PresheafedSpace C) _ _ _ f :=
SheafedSpace.forgetToPresheafedSpace.map_isIso f
#align algebraic_geometry.SheafedSpace.is_PresheafedSpace_iso AlgebraicGeometry.SheafedSpace.is_presheafedSpace_iso
+-/
variable {C}
@@ -122,92 +128,122 @@ theorem id_base (X : SheafedSpace C) : (𝟙 X : X ⟶ X).base = 𝟙 (X : TopCa
#align algebraic_geometry.SheafedSpace.id_base AlgebraicGeometry.SheafedSpace.id_base
-/
+#print AlgebraicGeometry.SheafedSpace.id_c /-
theorem id_c (X : SheafedSpace C) :
(𝟙 X : X ⟶ X).c = eqToHom (Presheaf.Pushforward.id_eq X.Presheaf).symm :=
rfl
#align algebraic_geometry.SheafedSpace.id_c AlgebraicGeometry.SheafedSpace.id_c
+-/
+#print AlgebraicGeometry.SheafedSpace.id_c_app /-
@[simp]
theorem id_c_app (X : SheafedSpace C) (U) :
(𝟙 X : X ⟶ X).c.app U = eqToHom (by induction U using Opposite.rec'; cases U; rfl) := by
induction U using Opposite.rec'; cases U; simp only [id_c]; dsimp; simp
#align algebraic_geometry.SheafedSpace.id_c_app AlgebraicGeometry.SheafedSpace.id_c_app
+-/
+#print AlgebraicGeometry.SheafedSpace.comp_base /-
@[simp]
theorem comp_base {X Y Z : SheafedSpace C} (f : X ⟶ Y) (g : Y ⟶ Z) :
(f ≫ g).base = f.base ≫ g.base :=
rfl
#align algebraic_geometry.SheafedSpace.comp_base AlgebraicGeometry.SheafedSpace.comp_base
+-/
+#print AlgebraicGeometry.SheafedSpace.comp_c_app /-
@[simp]
theorem comp_c_app {X Y Z : SheafedSpace C} (α : X ⟶ Y) (β : Y ⟶ Z) (U) :
(α ≫ β).c.app U = β.c.app U ≫ α.c.app (op ((Opens.map β.base).obj (unop U))) :=
rfl
#align algebraic_geometry.SheafedSpace.comp_c_app AlgebraicGeometry.SheafedSpace.comp_c_app
+-/
+#print AlgebraicGeometry.SheafedSpace.comp_c_app' /-
theorem comp_c_app' {X Y Z : SheafedSpace C} (α : X ⟶ Y) (β : Y ⟶ Z) (U) :
(α ≫ β).c.app (op U) = β.c.app (op U) ≫ α.c.app (op ((Opens.map β.base).obj U)) :=
rfl
#align algebraic_geometry.SheafedSpace.comp_c_app' AlgebraicGeometry.SheafedSpace.comp_c_app'
+-/
+#print AlgebraicGeometry.SheafedSpace.congr_app /-
theorem congr_app {X Y : SheafedSpace C} {α β : X ⟶ Y} (h : α = β) (U) :
α.c.app U = β.c.app U ≫ X.Presheaf.map (eqToHom (by subst h)) :=
PresheafedSpace.congr_app h U
#align algebraic_geometry.SheafedSpace.congr_app AlgebraicGeometry.SheafedSpace.congr_app
+-/
variable (C)
+#print AlgebraicGeometry.SheafedSpace.forget /-
/-- The forgetful functor from `SheafedSpace` to `Top`. -/
def forget : SheafedSpace C ⥤ TopCat
where
obj X := (X : TopCat.{v})
map X Y f := f.base
#align algebraic_geometry.SheafedSpace.forget AlgebraicGeometry.SheafedSpace.forget
+-/
end
open TopCat.Presheaf
+#print AlgebraicGeometry.SheafedSpace.restrict /-
/-- The restriction of a sheafed space along an open embedding into the space.
-/
def restrict {U : TopCat} (X : SheafedSpace C) {f : U ⟶ (X : TopCat.{v})} (h : OpenEmbedding f) :
SheafedSpace C :=
{ X.toPresheafedSpace.restrict h with IsSheaf := isSheaf_of_openEmbedding h X.IsSheaf }
#align algebraic_geometry.SheafedSpace.restrict AlgebraicGeometry.SheafedSpace.restrict
+-/
+#print AlgebraicGeometry.SheafedSpace.restrictTopIso /-
/-- The restriction of a sheafed space `X` to the top subspace is isomorphic to `X` itself.
-/
def restrictTopIso (X : SheafedSpace C) : X.restrict (Opens.openEmbedding ⊤) ≅ X :=
forgetToPresheafedSpace.preimageIso X.toPresheafedSpace.restrictTopIso
#align algebraic_geometry.SheafedSpace.restrict_top_iso AlgebraicGeometry.SheafedSpace.restrictTopIso
+-/
+#print AlgebraicGeometry.SheafedSpace.Γ /-
/-- The global sections, notated Gamma.
-/
def Γ : (SheafedSpace C)ᵒᵖ ⥤ C :=
forgetToPresheafedSpace.op ⋙ PresheafedSpace.Γ
#align algebraic_geometry.SheafedSpace.Γ AlgebraicGeometry.SheafedSpace.Γ
+-/
+#print AlgebraicGeometry.SheafedSpace.Γ_def /-
theorem Γ_def : (Γ : _ ⥤ C) = forgetToPresheafedSpace.op ⋙ PresheafedSpace.Γ :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_def AlgebraicGeometry.SheafedSpace.Γ_def
+-/
+#print AlgebraicGeometry.SheafedSpace.Γ_obj /-
@[simp]
theorem Γ_obj (X : (SheafedSpace C)ᵒᵖ) : Γ.obj X = (unop X).Presheaf.obj (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_obj AlgebraicGeometry.SheafedSpace.Γ_obj
+-/
+#print AlgebraicGeometry.SheafedSpace.Γ_obj_op /-
theorem Γ_obj_op (X : SheafedSpace C) : Γ.obj (op X) = X.Presheaf.obj (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_obj_op AlgebraicGeometry.SheafedSpace.Γ_obj_op
+-/
+#print AlgebraicGeometry.SheafedSpace.Γ_map /-
@[simp]
theorem Γ_map {X Y : (SheafedSpace C)ᵒᵖ} (f : X ⟶ Y) : Γ.map f = f.unop.c.app (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_map AlgebraicGeometry.SheafedSpace.Γ_map
+-/
+#print AlgebraicGeometry.SheafedSpace.Γ_map_op /-
theorem Γ_map_op {X Y : SheafedSpace C} (f : X ⟶ Y) : Γ.map f.op = f.c.app (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_map_op AlgebraicGeometry.SheafedSpace.Γ_map_op
+-/
noncomputable instance [HasLimits C] :
CreatesColimits (forgetToPresheafedSpace : SheafedSpace C ⥤ _) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -219,7 +219,7 @@ noncomputable instance [HasLimits C] :
(colimit.iso_colimit_cocone ⟨_, PresheafedSpace.colimit_cocone_is_colimit _⟩).symm⟩⟩
instance [HasLimits C] : HasColimits (SheafedSpace C) :=
- has_colimits_of_has_colimits_creates_colimits forgetToPresheafedSpace
+ hasColimits_of_hasColimits_createsColimits forgetToPresheafedSpace
noncomputable instance [HasLimits C] : PreservesColimits (forget C) :=
Limits.compPreservesColimits forgetToPresheafedSpace (PresheafedSpace.forget C)
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -100,7 +100,8 @@ instance : Category (SheafedSpace C) :=
/-- Forgetting the sheaf condition is a functor from `SheafedSpace C` to `PresheafedSpace C`. -/
def forgetToPresheafedSpace : SheafedSpace.{v} C ⥤ PresheafedSpace.{v} C :=
- inducedFunctor _ deriving Full, Faithful
+ inducedFunctor _
+deriving Full, Faithful
#align algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace
instance is_presheafedSpace_iso {X Y : SheafedSpace.{v} C} (f : X ⟶ Y) [IsIso f] :
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -66,12 +66,10 @@ def sheaf (X : SheafedSpace C) : Sheaf C (X : TopCat.{v}) :=
#align algebraic_geometry.SheafedSpace.sheaf AlgebraicGeometry.SheafedSpace.sheaf
-/
-/- warning: algebraic_geometry.SheafedSpace.as_coe clashes with [anonymous] -> [anonymous]
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.as_coe [anonymous]ₓ'. -/
@[simp]
-theorem [anonymous] (X : SheafedSpace.{v} C) : X.carrier = (X : TopCat.{v}) :=
+theorem as_coe (X : SheafedSpace.{v} C) : X.carrier = (X : TopCat.{v}) :=
rfl
-#align algebraic_geometry.SheafedSpace.as_coe [anonymous]
+#align algebraic_geometry.SheafedSpace.as_coe AlgebraicGeometry.SheafedSpace.as_coe
#print AlgebraicGeometry.SheafedSpace.mk_coe /-
@[simp]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -56,12 +56,6 @@ variable {C}
namespace SheafedSpace
-/- warning: algebraic_geometry.SheafedSpace.coe_carrier -> AlgebraicGeometry.SheafedSpace.coeCarrier is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], Coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1}
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CoeOut.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1}
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.coe_carrier AlgebraicGeometry.SheafedSpace.coeCarrierₓ'. -/
instance coeCarrier : Coe (SheafedSpace C) TopCat where coe X := X.carrier
#align algebraic_geometry.SheafedSpace.coe_carrier AlgebraicGeometry.SheafedSpace.coeCarrier
@@ -73,11 +67,6 @@ def sheaf (X : SheafedSpace C) : Sheaf C (X : TopCat.{v}) :=
-/
/- warning: algebraic_geometry.SheafedSpace.as_coe clashes with [anonymous] -> [anonymous]
-warning: algebraic_geometry.SheafedSpace.as_coe -> [anonymous] is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] (X : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1), Eq.{succ (succ u1)} TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.carrier.{u1, u1, u2} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X)) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.SheafedSpace.coeCarrier.{u1, u2} C _inst_1)))) X)
-but is expected to have type
- forall {C : Type.{u1}} {_inst_1 : Type.{u2}}, (Nat -> C -> _inst_1) -> Nat -> (List.{u1} C) -> (List.{u2} _inst_1)
Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.as_coe [anonymous]ₓ'. -/
@[simp]
theorem [anonymous] (X : SheafedSpace.{v} C) : X.carrier = (X : TopCat.{v}) :=
@@ -111,23 +100,11 @@ instance : Category (SheafedSpace C) :=
show Category (InducedCategory (PresheafedSpace.{v} C) SheafedSpace.toPresheafedSpace) by
infer_instance
-/- warning: algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace -> AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u1, u2} C _inst_1)
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max (succ u1) u2, max (succ u1) u2} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u2, u1, u1} C _inst_1)
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpaceₓ'. -/
/-- Forgetting the sheaf condition is a functor from `SheafedSpace C` to `PresheafedSpace C`. -/
def forgetToPresheafedSpace : SheafedSpace.{v} C ⥤ PresheafedSpace.{v} C :=
inducedFunctor _ deriving Full, Faithful
#align algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace
-/- warning: algebraic_geometry.SheafedSpace.is_PresheafedSpace_iso -> AlgebraicGeometry.SheafedSpace.is_presheafedSpace_iso is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Y : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1))) X Y) [_inst_2 : CategoryTheory.IsIso.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1) X Y f], CategoryTheory.IsIso.{u1, max u2 (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) f
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Y : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1))) X Y) [_inst_2 : CategoryTheory.IsIso.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1) X Y f], CategoryTheory.IsIso.{u1, max (succ u1) u2} (AlgebraicGeometry.PresheafedSpace.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) f
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.is_PresheafedSpace_iso AlgebraicGeometry.SheafedSpace.is_presheafedSpace_isoₓ'. -/
instance is_presheafedSpace_iso {X Y : SheafedSpace.{v} C} (f : X ⟶ Y) [IsIso f] :
@IsIso (PresheafedSpace C) _ _ _ f :=
SheafedSpace.forgetToPresheafedSpace.map_isIso f
@@ -146,55 +123,34 @@ theorem id_base (X : SheafedSpace C) : (𝟙 X : X ⟶ X).base = 𝟙 (X : TopCa
#align algebraic_geometry.SheafedSpace.id_base AlgebraicGeometry.SheafedSpace.id_base
-/
-/- warning: algebraic_geometry.SheafedSpace.id_c -> AlgebraicGeometry.SheafedSpace.id_c is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.id_c AlgebraicGeometry.SheafedSpace.id_cₓ'. -/
theorem id_c (X : SheafedSpace C) :
(𝟙 X : X ⟶ X).c = eqToHom (Presheaf.Pushforward.id_eq X.Presheaf).symm :=
rfl
#align algebraic_geometry.SheafedSpace.id_c AlgebraicGeometry.SheafedSpace.id_c
-/- warning: algebraic_geometry.SheafedSpace.id_c_app -> AlgebraicGeometry.SheafedSpace.id_c_app is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.id_c_app AlgebraicGeometry.SheafedSpace.id_c_appₓ'. -/
@[simp]
theorem id_c_app (X : SheafedSpace C) (U) :
(𝟙 X : X ⟶ X).c.app U = eqToHom (by induction U using Opposite.rec'; cases U; rfl) := by
induction U using Opposite.rec'; cases U; simp only [id_c]; dsimp; simp
#align algebraic_geometry.SheafedSpace.id_c_app AlgebraicGeometry.SheafedSpace.id_c_app
-/- warning: algebraic_geometry.SheafedSpace.comp_base -> AlgebraicGeometry.SheafedSpace.comp_base is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Y : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Z : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1))) X Y) (g : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1))) Y Z), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.coeCarrier.{u1, u1, u2} C _inst_1)))) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X)) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.coeCarrier.{u1, u1, u2} C _inst_1)))) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z))) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u1, u1, u2} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1)) X Y Z f g)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.coeCarrier.{u1, u1, u2} C _inst_1)))) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X)) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.coeCarrier.{u1, u1, u2} C _inst_1)))) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y)) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.coeCarrier.{u1, u1, u2} C _inst_1)))) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z)) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u1, u1, u2} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) f) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u1, u1, u2} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z) g))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Y : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Z : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1))) X Y) (g : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1))) Y Z), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) (AlgebraicGeometry.PresheafedSpace.carrier.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X)) (AlgebraicGeometry.PresheafedSpace.carrier.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z))) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1)) X Y Z f g)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) (AlgebraicGeometry.PresheafedSpace.carrier.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X)) (AlgebraicGeometry.PresheafedSpace.carrier.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y)) (AlgebraicGeometry.PresheafedSpace.carrier.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z)) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) f) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z) g))
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.comp_base AlgebraicGeometry.SheafedSpace.comp_baseₓ'. -/
@[simp]
theorem comp_base {X Y Z : SheafedSpace C} (f : X ⟶ Y) (g : Y ⟶ Z) :
(f ≫ g).base = f.base ≫ g.base :=
rfl
#align algebraic_geometry.SheafedSpace.comp_base AlgebraicGeometry.SheafedSpace.comp_base
-/- warning: algebraic_geometry.SheafedSpace.comp_c_app -> AlgebraicGeometry.SheafedSpace.comp_c_app is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.comp_c_app AlgebraicGeometry.SheafedSpace.comp_c_appₓ'. -/
@[simp]
theorem comp_c_app {X Y Z : SheafedSpace C} (α : X ⟶ Y) (β : Y ⟶ Z) (U) :
(α ≫ β).c.app U = β.c.app U ≫ α.c.app (op ((Opens.map β.base).obj (unop U))) :=
rfl
#align algebraic_geometry.SheafedSpace.comp_c_app AlgebraicGeometry.SheafedSpace.comp_c_app
-/- warning: algebraic_geometry.SheafedSpace.comp_c_app' -> AlgebraicGeometry.SheafedSpace.comp_c_app' is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.comp_c_app' AlgebraicGeometry.SheafedSpace.comp_c_app'ₓ'. -/
theorem comp_c_app' {X Y Z : SheafedSpace C} (α : X ⟶ Y) (β : Y ⟶ Z) (U) :
(α ≫ β).c.app (op U) = β.c.app (op U) ≫ α.c.app (op ((Opens.map β.base).obj U)) :=
rfl
#align algebraic_geometry.SheafedSpace.comp_c_app' AlgebraicGeometry.SheafedSpace.comp_c_app'
-/- warning: algebraic_geometry.SheafedSpace.congr_app -> AlgebraicGeometry.SheafedSpace.congr_app is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.congr_app AlgebraicGeometry.SheafedSpace.congr_appₓ'. -/
theorem congr_app {X Y : SheafedSpace C} {α β : X ⟶ Y} (h : α = β) (U) :
α.c.app U = β.c.app U ≫ X.Presheaf.map (eqToHom (by subst h)) :=
PresheafedSpace.congr_app h U
@@ -202,12 +158,6 @@ theorem congr_app {X Y : SheafedSpace C} {α β : X ⟶ Y} (h : α = β) (U) :
variable (C)
-/- warning: algebraic_geometry.SheafedSpace.forget -> AlgebraicGeometry.SheafedSpace.forget is a dubious translation:
-lean 3 declaration is
- forall (C : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max u2 (succ u1), succ u1} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1) TopCat.{u1} TopCat.largeCategory.{u1}
-but is expected to have type
- forall (C : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max u2 (succ u1), succ u1} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1) TopCat.{u1} instTopCatLargeCategory.{u1}
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.forget AlgebraicGeometry.SheafedSpace.forgetₓ'. -/
/-- The forgetful functor from `SheafedSpace` to `Top`. -/
def forget : SheafedSpace C ⥤ TopCat
where
@@ -219,9 +169,6 @@ end
open TopCat.Presheaf
-/- warning: algebraic_geometry.SheafedSpace.restrict -> AlgebraicGeometry.SheafedSpace.restrict is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.restrict AlgebraicGeometry.SheafedSpace.restrictₓ'. -/
/-- The restriction of a sheafed space along an open embedding into the space.
-/
def restrict {U : TopCat} (X : SheafedSpace C) {f : U ⟶ (X : TopCat.{v})} (h : OpenEmbedding f) :
@@ -229,63 +176,36 @@ def restrict {U : TopCat} (X : SheafedSpace C) {f : U ⟶ (X : TopCat.{v})} (h :
{ X.toPresheafedSpace.restrict h with IsSheaf := isSheaf_of_openEmbedding h X.IsSheaf }
#align algebraic_geometry.SheafedSpace.restrict AlgebraicGeometry.SheafedSpace.restrict
-/- warning: algebraic_geometry.SheafedSpace.restrict_top_iso -> AlgebraicGeometry.SheafedSpace.restrictTopIso is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.restrict_top_iso AlgebraicGeometry.SheafedSpace.restrictTopIsoₓ'. -/
/-- The restriction of a sheafed space `X` to the top subspace is isomorphic to `X` itself.
-/
def restrictTopIso (X : SheafedSpace C) : X.restrict (Opens.openEmbedding ⊤) ≅ X :=
forgetToPresheafedSpace.preimageIso X.toPresheafedSpace.restrictTopIso
#align algebraic_geometry.SheafedSpace.restrict_top_iso AlgebraicGeometry.SheafedSpace.restrictTopIso
-/- warning: algebraic_geometry.SheafedSpace.Γ -> AlgebraicGeometry.SheafedSpace.Γ is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max u2 (succ u1), u2} (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1)) C _inst_1
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max u2 (succ u1), u2} (Opposite.{max (succ u2) (succ (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1)) C _inst_1
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ AlgebraicGeometry.SheafedSpace.Γₓ'. -/
/-- The global sections, notated Gamma.
-/
def Γ : (SheafedSpace C)ᵒᵖ ⥤ C :=
forgetToPresheafedSpace.op ⋙ PresheafedSpace.Γ
#align algebraic_geometry.SheafedSpace.Γ AlgebraicGeometry.SheafedSpace.Γ
-/- warning: algebraic_geometry.SheafedSpace.Γ_def -> AlgebraicGeometry.SheafedSpace.Γ_def is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], Eq.{succ (max u1 u2 (succ u1))} (CategoryTheory.Functor.{u1, u1, max u2 (succ u1), u2} (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1)) C _inst_1) (AlgebraicGeometry.SheafedSpace.Γ.{u1, u2} C _inst_1) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 (succ u1), max u2 (succ u1), u2} (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1)) (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u1, u2} C _inst_1)) C _inst_1 (CategoryTheory.Functor.op.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace.{u1, u2} C _inst_1)) (AlgebraicGeometry.PresheafedSpace.Γ.{u1, u2} C _inst_1))
-but is expected to have type
- forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], Eq.{max (succ u2) (succ (succ u1))} (CategoryTheory.Functor.{u1, u1, max u2 (succ u1), u2} (Opposite.{max (succ u2) (succ (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1)) C _inst_1) (AlgebraicGeometry.SheafedSpace.Γ.{u1, u2} C _inst_1) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 (succ u1), max u2 (succ u1), u2} (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1)) (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.PresheafedSpace.{u2, u1, u1} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u2, u1, u1} C _inst_1)) C _inst_1 (CategoryTheory.Functor.op.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace.{u1, u2} C _inst_1)) (AlgebraicGeometry.PresheafedSpace.Γ.{u2, u1, u1} C _inst_1))
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ_def AlgebraicGeometry.SheafedSpace.Γ_defₓ'. -/
theorem Γ_def : (Γ : _ ⥤ C) = forgetToPresheafedSpace.op ⋙ PresheafedSpace.Γ :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_def AlgebraicGeometry.SheafedSpace.Γ_def
-/- warning: algebraic_geometry.SheafedSpace.Γ_obj -> AlgebraicGeometry.SheafedSpace.Γ_obj is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ_obj AlgebraicGeometry.SheafedSpace.Γ_objₓ'. -/
@[simp]
theorem Γ_obj (X : (SheafedSpace C)ᵒᵖ) : Γ.obj X = (unop X).Presheaf.obj (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_obj AlgebraicGeometry.SheafedSpace.Γ_obj
-/- warning: algebraic_geometry.SheafedSpace.Γ_obj_op -> AlgebraicGeometry.SheafedSpace.Γ_obj_op is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ_obj_op AlgebraicGeometry.SheafedSpace.Γ_obj_opₓ'. -/
theorem Γ_obj_op (X : SheafedSpace C) : Γ.obj (op X) = X.Presheaf.obj (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_obj_op AlgebraicGeometry.SheafedSpace.Γ_obj_op
-/- warning: algebraic_geometry.SheafedSpace.Γ_map -> AlgebraicGeometry.SheafedSpace.Γ_map is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ_map AlgebraicGeometry.SheafedSpace.Γ_mapₓ'. -/
@[simp]
theorem Γ_map {X Y : (SheafedSpace C)ᵒᵖ} (f : X ⟶ Y) : Γ.map f = f.unop.c.app (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_map AlgebraicGeometry.SheafedSpace.Γ_map
-/- warning: algebraic_geometry.SheafedSpace.Γ_map_op -> AlgebraicGeometry.SheafedSpace.Γ_map_op is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ_map_op AlgebraicGeometry.SheafedSpace.Γ_map_opₓ'. -/
theorem Γ_map_op {X Y : SheafedSpace C} (f : X ⟶ Y) : Γ.map f.op = f.c.app (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_map_op AlgebraicGeometry.SheafedSpace.Γ_map_op
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -159,18 +159,8 @@ theorem id_c (X : SheafedSpace C) :
Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.id_c_app AlgebraicGeometry.SheafedSpace.id_c_appₓ'. -/
@[simp]
theorem id_c_app (X : SheafedSpace C) (U) :
- (𝟙 X : X ⟶ X).c.app U =
- eqToHom
- (by
- induction U using Opposite.rec'
- cases U
- rfl) :=
- by
- induction U using Opposite.rec'
- cases U
- simp only [id_c]
- dsimp
- simp
+ (𝟙 X : X ⟶ X).c.app U = eqToHom (by induction U using Opposite.rec'; cases U; rfl) := by
+ induction U using Opposite.rec'; cases U; simp only [id_c]; dsimp; simp
#align algebraic_geometry.SheafedSpace.id_c_app AlgebraicGeometry.SheafedSpace.id_c_app
/- warning: algebraic_geometry.SheafedSpace.comp_base -> AlgebraicGeometry.SheafedSpace.comp_base is a dubious translation:
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
! This file was ported from Lean 3 source module algebraic_geometry.sheafed_space
-! leanprover-community/mathlib commit f384f5d1a4e39f36817b8d22afff7b52af8121d1
+! leanprover-community/mathlib commit 0b7c740e25651db0ba63648fbae9f9d6f941e31b
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -14,6 +14,9 @@ import Mathbin.Topology.Sheaves.Functors
/-!
# Sheafed spaces
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
Introduces the category of topological spaces equipped with a sheaf (taking values in an
arbitrary target category `C`.)
@@ -42,28 +45,46 @@ attribute [local tidy] tactic.op_induction'
namespace AlgebraicGeometry
+#print AlgebraicGeometry.SheafedSpace /-
/-- A `SheafedSpace C` is a topological space equipped with a sheaf of `C`s. -/
structure SheafedSpace extends PresheafedSpace.{v} C where
IsSheaf : presheaf.IsSheaf
#align algebraic_geometry.SheafedSpace AlgebraicGeometry.SheafedSpace
+-/
variable {C}
namespace SheafedSpace
+/- warning: algebraic_geometry.SheafedSpace.coe_carrier -> AlgebraicGeometry.SheafedSpace.coeCarrier is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], Coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1}
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CoeOut.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1}
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.coe_carrier AlgebraicGeometry.SheafedSpace.coeCarrierₓ'. -/
instance coeCarrier : Coe (SheafedSpace C) TopCat where coe X := X.carrier
#align algebraic_geometry.SheafedSpace.coe_carrier AlgebraicGeometry.SheafedSpace.coeCarrier
+#print AlgebraicGeometry.SheafedSpace.sheaf /-
/-- Extract the `sheaf C (X : Top)` from a `SheafedSpace C`. -/
def sheaf (X : SheafedSpace C) : Sheaf C (X : TopCat.{v}) :=
⟨X.Presheaf, X.IsSheaf⟩
#align algebraic_geometry.SheafedSpace.sheaf AlgebraicGeometry.SheafedSpace.sheaf
+-/
+/- warning: algebraic_geometry.SheafedSpace.as_coe clashes with [anonymous] -> [anonymous]
+warning: algebraic_geometry.SheafedSpace.as_coe -> [anonymous] is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] (X : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1), Eq.{succ (succ u1)} TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.carrier.{u1, u1, u2} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X)) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.SheafedSpace.coeCarrier.{u1, u2} C _inst_1)))) X)
+but is expected to have type
+ forall {C : Type.{u1}} {_inst_1 : Type.{u2}}, (Nat -> C -> _inst_1) -> Nat -> (List.{u1} C) -> (List.{u2} _inst_1)
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.as_coe [anonymous]ₓ'. -/
@[simp]
-theorem as_coe (X : SheafedSpace.{v} C) : X.carrier = (X : TopCat.{v}) :=
+theorem [anonymous] (X : SheafedSpace.{v} C) : X.carrier = (X : TopCat.{v}) :=
rfl
-#align algebraic_geometry.SheafedSpace.as_coe AlgebraicGeometry.SheafedSpace.as_coe
+#align algebraic_geometry.SheafedSpace.as_coe [anonymous]
+#print AlgebraicGeometry.SheafedSpace.mk_coe /-
@[simp]
theorem mk_coe (carrier) (presheaf) (h) :
(({ carrier
@@ -71,14 +92,17 @@ theorem mk_coe (carrier) (presheaf) (h) :
IsSheaf := h } : SheafedSpace.{v} C) : TopCat.{v}) = carrier :=
rfl
#align algebraic_geometry.SheafedSpace.mk_coe AlgebraicGeometry.SheafedSpace.mk_coe
+-/
instance (X : SheafedSpace.{v} C) : TopologicalSpace X :=
X.carrier.str
+#print AlgebraicGeometry.SheafedSpace.unit /-
/-- The trivial `unit` valued sheaf on any topological space. -/
def unit (X : TopCat) : SheafedSpace (discrete Unit) :=
{ @PresheafedSpace.const (discrete Unit) _ X ⟨⟨⟩⟩ with IsSheaf := Presheaf.isSheaf_unit _ }
#align algebraic_geometry.SheafedSpace.unit AlgebraicGeometry.SheafedSpace.unit
+-/
instance : Inhabited (SheafedSpace (discrete Unit)) :=
⟨unit (TopCat.of PEmpty)⟩
@@ -87,11 +111,23 @@ instance : Category (SheafedSpace C) :=
show Category (InducedCategory (PresheafedSpace.{v} C) SheafedSpace.toPresheafedSpace) by
infer_instance
+/- warning: algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace -> AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u1, u2} C _inst_1)
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max (succ u1) u2, max (succ u1) u2} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u2, u1, u1} C _inst_1)
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpaceₓ'. -/
/-- Forgetting the sheaf condition is a functor from `SheafedSpace C` to `PresheafedSpace C`. -/
def forgetToPresheafedSpace : SheafedSpace.{v} C ⥤ PresheafedSpace.{v} C :=
inducedFunctor _ deriving Full, Faithful
#align algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace
+/- warning: algebraic_geometry.SheafedSpace.is_PresheafedSpace_iso -> AlgebraicGeometry.SheafedSpace.is_presheafedSpace_iso is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Y : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1))) X Y) [_inst_2 : CategoryTheory.IsIso.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1) X Y f], CategoryTheory.IsIso.{u1, max u2 (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) f
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Y : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1))) X Y) [_inst_2 : CategoryTheory.IsIso.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1) X Y f], CategoryTheory.IsIso.{u1, max (succ u1) u2} (AlgebraicGeometry.PresheafedSpace.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) f
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.is_PresheafedSpace_iso AlgebraicGeometry.SheafedSpace.is_presheafedSpace_isoₓ'. -/
instance is_presheafedSpace_iso {X Y : SheafedSpace.{v} C} (f : X ⟶ Y) [IsIso f] :
@IsIso (PresheafedSpace C) _ _ _ f :=
SheafedSpace.forgetToPresheafedSpace.map_isIso f
@@ -103,16 +139,24 @@ section
attribute [local simp] id comp
+#print AlgebraicGeometry.SheafedSpace.id_base /-
@[simp]
theorem id_base (X : SheafedSpace C) : (𝟙 X : X ⟶ X).base = 𝟙 (X : TopCat.{v}) :=
rfl
#align algebraic_geometry.SheafedSpace.id_base AlgebraicGeometry.SheafedSpace.id_base
+-/
+/- warning: algebraic_geometry.SheafedSpace.id_c -> AlgebraicGeometry.SheafedSpace.id_c is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.id_c AlgebraicGeometry.SheafedSpace.id_cₓ'. -/
theorem id_c (X : SheafedSpace C) :
(𝟙 X : X ⟶ X).c = eqToHom (Presheaf.Pushforward.id_eq X.Presheaf).symm :=
rfl
#align algebraic_geometry.SheafedSpace.id_c AlgebraicGeometry.SheafedSpace.id_c
+/- warning: algebraic_geometry.SheafedSpace.id_c_app -> AlgebraicGeometry.SheafedSpace.id_c_app is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.id_c_app AlgebraicGeometry.SheafedSpace.id_c_appₓ'. -/
@[simp]
theorem id_c_app (X : SheafedSpace C) (U) :
(𝟙 X : X ⟶ X).c.app U =
@@ -129,23 +173,38 @@ theorem id_c_app (X : SheafedSpace C) (U) :
simp
#align algebraic_geometry.SheafedSpace.id_c_app AlgebraicGeometry.SheafedSpace.id_c_app
+/- warning: algebraic_geometry.SheafedSpace.comp_base -> AlgebraicGeometry.SheafedSpace.comp_base is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Y : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Z : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1))) X Y) (g : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1))) Y Z), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1})) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.coeCarrier.{u1, u1, u2} C _inst_1)))) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X)) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.coeCarrier.{u1, u1, u2} C _inst_1)))) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z))) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u1, u1, u2} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1)) X Y Z f g)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} TopCat.largeCategory.{u1}) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.coeCarrier.{u1, u1, u2} C _inst_1)))) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X)) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.coeCarrier.{u1, u1, u2} C _inst_1)))) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y)) ((fun (a : Sort.{max (succ u2) (succ (succ u1))}) (b : Type.{succ u1}) [self : HasLiftT.{max (succ u2) (succ (succ u1)), succ (succ u1)} a b] => self.0) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (HasLiftT.mk.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (CoeTCₓ.coe.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (coeBase.{max (succ u2) (succ (succ u1)), succ (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) TopCat.{u1} (AlgebraicGeometry.PresheafedSpace.coeCarrier.{u1, u1, u2} C _inst_1)))) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z)) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u1, u1, u2} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) f) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u1, u1, u2} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z) g))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {X : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Y : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} {Z : AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1} (f : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1))) X Y) (g : Quiver.Hom.{succ u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1))) Y Z), Eq.{succ u1} (Quiver.Hom.{succ u1, succ u1} TopCat.{u1} (CategoryTheory.CategoryStruct.toQuiver.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1})) (AlgebraicGeometry.PresheafedSpace.carrier.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X)) (AlgebraicGeometry.PresheafedSpace.carrier.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z))) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z) (CategoryTheory.CategoryStruct.comp.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1)) X Y Z f g)) (CategoryTheory.CategoryStruct.comp.{u1, succ u1} TopCat.{u1} (CategoryTheory.Category.toCategoryStruct.{u1, succ u1} TopCat.{u1} instTopCatLargeCategory.{u1}) (AlgebraicGeometry.PresheafedSpace.carrier.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X)) (AlgebraicGeometry.PresheafedSpace.carrier.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y)) (AlgebraicGeometry.PresheafedSpace.carrier.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z)) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 X) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) f) (AlgebraicGeometry.PresheafedSpace.Hom.base.{u2, u1, u1} C _inst_1 (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Y) (AlgebraicGeometry.SheafedSpace.toPresheafedSpace.{u1, u2} C _inst_1 Z) g))
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.comp_base AlgebraicGeometry.SheafedSpace.comp_baseₓ'. -/
@[simp]
theorem comp_base {X Y Z : SheafedSpace C} (f : X ⟶ Y) (g : Y ⟶ Z) :
(f ≫ g).base = f.base ≫ g.base :=
rfl
#align algebraic_geometry.SheafedSpace.comp_base AlgebraicGeometry.SheafedSpace.comp_base
+/- warning: algebraic_geometry.SheafedSpace.comp_c_app -> AlgebraicGeometry.SheafedSpace.comp_c_app is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.comp_c_app AlgebraicGeometry.SheafedSpace.comp_c_appₓ'. -/
@[simp]
theorem comp_c_app {X Y Z : SheafedSpace C} (α : X ⟶ Y) (β : Y ⟶ Z) (U) :
(α ≫ β).c.app U = β.c.app U ≫ α.c.app (op ((Opens.map β.base).obj (unop U))) :=
rfl
#align algebraic_geometry.SheafedSpace.comp_c_app AlgebraicGeometry.SheafedSpace.comp_c_app
+/- warning: algebraic_geometry.SheafedSpace.comp_c_app' -> AlgebraicGeometry.SheafedSpace.comp_c_app' is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.comp_c_app' AlgebraicGeometry.SheafedSpace.comp_c_app'ₓ'. -/
theorem comp_c_app' {X Y Z : SheafedSpace C} (α : X ⟶ Y) (β : Y ⟶ Z) (U) :
(α ≫ β).c.app (op U) = β.c.app (op U) ≫ α.c.app (op ((Opens.map β.base).obj U)) :=
rfl
#align algebraic_geometry.SheafedSpace.comp_c_app' AlgebraicGeometry.SheafedSpace.comp_c_app'
+/- warning: algebraic_geometry.SheafedSpace.congr_app -> AlgebraicGeometry.SheafedSpace.congr_app is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.congr_app AlgebraicGeometry.SheafedSpace.congr_appₓ'. -/
theorem congr_app {X Y : SheafedSpace C} {α β : X ⟶ Y} (h : α = β) (U) :
α.c.app U = β.c.app U ≫ X.Presheaf.map (eqToHom (by subst h)) :=
PresheafedSpace.congr_app h U
@@ -153,6 +212,12 @@ theorem congr_app {X Y : SheafedSpace C} {α β : X ⟶ Y} (h : α = β) (U) :
variable (C)
+/- warning: algebraic_geometry.SheafedSpace.forget -> AlgebraicGeometry.SheafedSpace.forget is a dubious translation:
+lean 3 declaration is
+ forall (C : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max u2 (succ u1), succ u1} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1) TopCat.{u1} TopCat.largeCategory.{u1}
+but is expected to have type
+ forall (C : Type.{u2}) [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max u2 (succ u1), succ u1} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1) TopCat.{u1} instTopCatLargeCategory.{u1}
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.forget AlgebraicGeometry.SheafedSpace.forgetₓ'. -/
/-- The forgetful functor from `SheafedSpace` to `Top`. -/
def forget : SheafedSpace C ⥤ TopCat
where
@@ -164,6 +229,9 @@ end
open TopCat.Presheaf
+/- warning: algebraic_geometry.SheafedSpace.restrict -> AlgebraicGeometry.SheafedSpace.restrict is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.restrict AlgebraicGeometry.SheafedSpace.restrictₓ'. -/
/-- The restriction of a sheafed space along an open embedding into the space.
-/
def restrict {U : TopCat} (X : SheafedSpace C) {f : U ⟶ (X : TopCat.{v})} (h : OpenEmbedding f) :
@@ -171,36 +239,63 @@ def restrict {U : TopCat} (X : SheafedSpace C) {f : U ⟶ (X : TopCat.{v})} (h :
{ X.toPresheafedSpace.restrict h with IsSheaf := isSheaf_of_openEmbedding h X.IsSheaf }
#align algebraic_geometry.SheafedSpace.restrict AlgebraicGeometry.SheafedSpace.restrict
+/- warning: algebraic_geometry.SheafedSpace.restrict_top_iso -> AlgebraicGeometry.SheafedSpace.restrictTopIso is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.restrict_top_iso AlgebraicGeometry.SheafedSpace.restrictTopIsoₓ'. -/
/-- The restriction of a sheafed space `X` to the top subspace is isomorphic to `X` itself.
-/
def restrictTopIso (X : SheafedSpace C) : X.restrict (Opens.openEmbedding ⊤) ≅ X :=
forgetToPresheafedSpace.preimageIso X.toPresheafedSpace.restrictTopIso
#align algebraic_geometry.SheafedSpace.restrict_top_iso AlgebraicGeometry.SheafedSpace.restrictTopIso
+/- warning: algebraic_geometry.SheafedSpace.Γ -> AlgebraicGeometry.SheafedSpace.Γ is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max u2 (succ u1), u2} (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1)) C _inst_1
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Functor.{u1, u1, max u2 (succ u1), u2} (Opposite.{max (succ u2) (succ (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1)) C _inst_1
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ AlgebraicGeometry.SheafedSpace.Γₓ'. -/
/-- The global sections, notated Gamma.
-/
def Γ : (SheafedSpace C)ᵒᵖ ⥤ C :=
forgetToPresheafedSpace.op ⋙ PresheafedSpace.Γ
#align algebraic_geometry.SheafedSpace.Γ AlgebraicGeometry.SheafedSpace.Γ
+/- warning: algebraic_geometry.SheafedSpace.Γ_def -> AlgebraicGeometry.SheafedSpace.Γ_def is a dubious translation:
+lean 3 declaration is
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], Eq.{succ (max u1 u2 (succ u1))} (CategoryTheory.Functor.{u1, u1, max u2 (succ u1), u2} (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1)) C _inst_1) (AlgebraicGeometry.SheafedSpace.Γ.{u1, u2} C _inst_1) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 (succ u1), max u2 (succ u1), u2} (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1)) (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u1, u2} C _inst_1)) C _inst_1 (CategoryTheory.Functor.op.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.CategoryTheory.category.{u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.{u1, u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace.{u1, u2} C _inst_1)) (AlgebraicGeometry.PresheafedSpace.Γ.{u1, u2} C _inst_1))
+but is expected to have type
+ forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], Eq.{max (succ u2) (succ (succ u1))} (CategoryTheory.Functor.{u1, u1, max u2 (succ u1), u2} (Opposite.{max (succ u2) (succ (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1)) C _inst_1) (AlgebraicGeometry.SheafedSpace.Γ.{u1, u2} C _inst_1) (CategoryTheory.Functor.comp.{u1, u1, u1, max u2 (succ u1), max u2 (succ u1), u2} (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1)) (Opposite.{succ (max u2 (succ u1))} (AlgebraicGeometry.PresheafedSpace.{u2, u1, u1} C _inst_1)) (CategoryTheory.Category.opposite.{u1, max u2 (succ u1)} (AlgebraicGeometry.PresheafedSpace.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u2, u1, u1} C _inst_1)) C _inst_1 (CategoryTheory.Functor.op.{u1, u1, max u2 (succ u1), max u2 (succ u1)} (AlgebraicGeometry.SheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.SheafedSpace.instCategorySheafedSpace.{u1, u2} C _inst_1) (AlgebraicGeometry.PresheafedSpace.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.PresheafedSpace.categoryOfPresheafedSpaces.{u2, u1, u1} C _inst_1) (AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace.{u1, u2} C _inst_1)) (AlgebraicGeometry.PresheafedSpace.Γ.{u2, u1, u1} C _inst_1))
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ_def AlgebraicGeometry.SheafedSpace.Γ_defₓ'. -/
theorem Γ_def : (Γ : _ ⥤ C) = forgetToPresheafedSpace.op ⋙ PresheafedSpace.Γ :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_def AlgebraicGeometry.SheafedSpace.Γ_def
+/- warning: algebraic_geometry.SheafedSpace.Γ_obj -> AlgebraicGeometry.SheafedSpace.Γ_obj is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ_obj AlgebraicGeometry.SheafedSpace.Γ_objₓ'. -/
@[simp]
theorem Γ_obj (X : (SheafedSpace C)ᵒᵖ) : Γ.obj X = (unop X).Presheaf.obj (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_obj AlgebraicGeometry.SheafedSpace.Γ_obj
+/- warning: algebraic_geometry.SheafedSpace.Γ_obj_op -> AlgebraicGeometry.SheafedSpace.Γ_obj_op is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ_obj_op AlgebraicGeometry.SheafedSpace.Γ_obj_opₓ'. -/
theorem Γ_obj_op (X : SheafedSpace C) : Γ.obj (op X) = X.Presheaf.obj (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_obj_op AlgebraicGeometry.SheafedSpace.Γ_obj_op
+/- warning: algebraic_geometry.SheafedSpace.Γ_map -> AlgebraicGeometry.SheafedSpace.Γ_map is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ_map AlgebraicGeometry.SheafedSpace.Γ_mapₓ'. -/
@[simp]
theorem Γ_map {X Y : (SheafedSpace C)ᵒᵖ} (f : X ⟶ Y) : Γ.map f = f.unop.c.app (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_map AlgebraicGeometry.SheafedSpace.Γ_map
+/- warning: algebraic_geometry.SheafedSpace.Γ_map_op -> AlgebraicGeometry.SheafedSpace.Γ_map_op is a dubious translation:
+<too large>
+Case conversion may be inaccurate. Consider using '#align algebraic_geometry.SheafedSpace.Γ_map_op AlgebraicGeometry.SheafedSpace.Γ_map_opₓ'. -/
theorem Γ_map_op {X Y : SheafedSpace C} (f : X ⟶ Y) : Γ.map f.op = f.c.app (op ⊤) :=
rfl
#align algebraic_geometry.SheafedSpace.Γ_map_op AlgebraicGeometry.SheafedSpace.Γ_map_op
mathlib commit https://github.com/leanprover-community/mathlib/commit/49b7f94aab3a3bdca1f9f34c5d818afb253b3993
@@ -118,11 +118,11 @@ theorem id_c_app (X : SheafedSpace C) (U) :
(𝟙 X : X ⟶ X).c.app U =
eqToHom
(by
- induction U using Opposite.rec
+ induction U using Opposite.rec'
cases U
rfl) :=
by
- induction U using Opposite.rec
+ induction U using Opposite.rec'
cases U
simp only [id_c]
dsimp
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -210,7 +210,7 @@ noncomputable instance [HasLimits C] :
⟨fun J hJ =>
⟨fun K =>
creates_colimit_of_fully_faithful_of_iso
- ⟨(PresheafedSpace.colimit_cocone (K ⋙ forget_to_PresheafedSpace)).x,
+ ⟨(PresheafedSpace.colimit_cocone (K ⋙ forget_to_PresheafedSpace)).pt,
limit_is_sheaf _ fun j => sheaf.pushforward_sheaf_of_sheaf _ (K.obj (unop j)).2⟩
(colimit.iso_colimit_cocone ⟨_, PresheafedSpace.colimit_cocone_is_colimit _⟩).symm⟩⟩
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -215,7 +215,7 @@ noncomputable instance [HasLimits C] :
(colimit.iso_colimit_cocone ⟨_, PresheafedSpace.colimit_cocone_is_colimit _⟩).symm⟩⟩
instance [HasLimits C] : HasColimits (SheafedSpace C) :=
- hasColimitsOfHasColimitsCreatesColimits forgetToPresheafedSpace
+ has_colimits_of_has_colimits_creates_colimits forgetToPresheafedSpace
noncomputable instance [HasLimits C] : PreservesColimits (forget C) :=
Limits.compPreservesColimits forgetToPresheafedSpace (PresheafedSpace.forget C)
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
Functor.Full
a Prop (#12449)
Before this PR, Functor.Full
contained the data of the preimage of maps by a full functor F
. This PR makes Functor.Full
a proposition. This is to prevent any diamond to appear.
The lemma Functor.image_preimage
is also renamed Functor.map_preimage
.
Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@@ -97,6 +97,14 @@ theorem ext {X Y : SheafedSpace C} (α β : X ⟶ Y) (w : α.base = β.base)
(h : α.c ≫ whiskerRight (eqToHom (by rw [w])) _ = β.c) : α = β :=
PresheafedSpace.ext α β w h
+/-- Constructor for isomorphisms in the category `SheafedSpace C`. -/
+@[simps]
+def isoMk {X Y : SheafedSpace C} (e : X.toPresheafedSpace ≅ Y.toPresheafedSpace) : X ≅ Y where
+ hom := e.hom
+ inv := e.inv
+ hom_inv_id := e.hom_inv_id
+ inv_hom_id := e.inv_hom_id
+
/-- Forgetting the sheaf condition is a functor from `SheafedSpace C` to `PresheafedSpace C`. -/
@[simps! obj map]
def forgetToPresheafedSpace : SheafedSpace C ⥤ PresheafedSpace C :=
@@ -106,7 +114,7 @@ set_option linter.uppercaseLean3 false in
-- Porting note: can't derive `Full` functor automatically
instance forgetToPresheafedSpace_full : (forgetToPresheafedSpace (C := C)).Full where
- preimage f := f
+ map_surjective f := ⟨f, rfl⟩
-- Porting note: can't derive `Faithful` functor automatically
instance forgetToPresheafedSpace_faithful : (forgetToPresheafedSpace (C := C)).Faithful where
@@ -189,8 +197,9 @@ set_option linter.uppercaseLean3 false in
/-- The restriction of a sheafed space `X` to the top subspace is isomorphic to `X` itself.
-/
+@[simps! hom inv]
def restrictTopIso (X : SheafedSpace C) : X.restrict (Opens.openEmbedding ⊤) ≅ X :=
- forgetToPresheafedSpace.preimageIso X.toPresheafedSpace.restrictTopIso
+ isoMk (X.toPresheafedSpace.restrictTopIso)
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.restrict_top_iso AlgebraicGeometry.SheafedSpace.restrictTopIso
These notions on functors are now Functor.Full
, Functor.Faithful
, Functor.EssSurj
, Functor.IsEquivalence
, Functor.ReflectsIsomorphisms
. Deprecated aliases are introduced for the previous names.
@@ -105,11 +105,11 @@ set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace
-- Porting note: can't derive `Full` functor automatically
-instance forgetToPresheafedSpace_full : Full <| forgetToPresheafedSpace (C := C) where
+instance forgetToPresheafedSpace_full : (forgetToPresheafedSpace (C := C)).Full where
preimage f := f
-- Porting note: can't derive `Faithful` functor automatically
-instance forgetToPresheafedSpace_faithful : Faithful <| forgetToPresheafedSpace (C := C) where
+instance forgetToPresheafedSpace_faithful : (forgetToPresheafedSpace (C := C)).Faithful where
instance is_presheafedSpace_iso {X Y : SheafedSpace C} (f : X ⟶ Y) [IsIso f] :
@IsIso (PresheafedSpace C) _ _ _ f :=
@@ -26,7 +26,7 @@ variable (C : Type*) [Category C]
-- Porting note: removed
-- local attribute [tidy] tactic.op_induction'
-- as it isn't needed here. If it is useful elsewhere
--- attribute [local aesop safe cases (rule_sets [CategoryTheory])] Opposite
+-- attribute [local aesop safe cases (rule_sets := [CategoryTheory])] Opposite
-- should suffice, but may need
-- https://github.com/JLimperg/aesop/issues/59
In this pull request, I have systematically eliminated the leading whitespace preceding the colon (:
) within all unlabelled or unclassified porting notes. This adjustment facilitates a more efficient review process for the remaining notes by ensuring no entries are overlooked due to formatting inconsistencies.
@@ -43,7 +43,7 @@ variable {C}
namespace SheafedSpace
--- Porting note : use `CoeOut` for the coercion happens left to right
+-- Porting note: use `CoeOut` for the coercion happens left to right
instance coeCarrier : CoeOut (SheafedSpace C) TopCat where coe X := X.carrier
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.coe_carrier AlgebraicGeometry.SheafedSpace.coeCarrier
@@ -57,14 +57,14 @@ def sheaf (X : SheafedSpace C) : Sheaf C (X : TopCat) :=
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.sheaf AlgebraicGeometry.SheafedSpace.sheaf
--- Porting note : this is a syntactic tautology, so removed
+-- Porting note: this is a syntactic tautology, so removed
-- @[simp]
-- theorem as_coe (X : SheafedSpace C) : X.carrier = (X : TopCat) :=
-- rfl
-- set_option linter.uppercaseLean3 false in
#noalign algebraic_geometry.SheafedSpace.as_coe
--- Porting note : this gives a `simpVarHead` error (`LEFT-HAND SIDE HAS VARIABLE AS HEAD SYMBOL.`).
+-- Porting note: this gives a `simpVarHead` error (`LEFT-HAND SIDE HAS VARIABLE AS HEAD SYMBOL.`).
-- so removed @[simp]
theorem mk_coe (carrier) (presheaf) (h) :
(({ carrier
@@ -104,11 +104,11 @@ def forgetToPresheafedSpace : SheafedSpace C ⥤ PresheafedSpace C :=
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace
--- Porting note : can't derive `Full` functor automatically
+-- Porting note: can't derive `Full` functor automatically
instance forgetToPresheafedSpace_full : Full <| forgetToPresheafedSpace (C := C) where
preimage f := f
--- Porting note : can't derive `Faithful` functor automatically
+-- Porting note: can't derive `Faithful` functor automatically
instance forgetToPresheafedSpace_faithful : Faithful <| forgetToPresheafedSpace (C := C) where
instance is_presheafedSpace_iso {X Y : SheafedSpace C} (f : X ⟶ Y) [IsIso f] :
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.
@@ -3,7 +3,7 @@ Copyright (c) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import Mathlib.AlgebraicGeometry.PresheafedSpace.HasColimits
+import Mathlib.Geometry.RingedSpace.PresheafedSpace.HasColimits
import Mathlib.Topology.Sheaves.Functors
#align_import algebraic_geometry.sheafed_space from "leanprover-community/mathlib"@"f384f5d1a4e39f36817b8d22afff7b52af8121d1"
@@ -67,9 +67,9 @@ set_option linter.uppercaseLean3 false in
-- Porting note : this gives a `simpVarHead` error (`LEFT-HAND SIDE HAS VARIABLE AS HEAD SYMBOL.`).
-- so removed @[simp]
theorem mk_coe (carrier) (presheaf) (h) :
- (({ carrier
- presheaf
- IsSheaf := h } : SheafedSpace C) : TopCat) = carrier :=
+ (({ carrier
+ presheaf
+ IsSheaf := h } : SheafedSpace C) : TopCat) = carrier :=
rfl
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.mk_coe AlgebraicGeometry.SheafedSpace.mk_coe
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -21,7 +21,7 @@ presheaves.
open CategoryTheory TopCat TopologicalSpace Opposite CategoryTheory.Limits CategoryTheory.Category
CategoryTheory.Functor
-variable (C : Type _) [Category C]
+variable (C : Type*) [Category C]
-- Porting note: removed
-- local attribute [tidy] tactic.op_induction'
@@ -48,7 +48,7 @@ instance coeCarrier : CoeOut (SheafedSpace C) TopCat where coe X := X.carrier
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.coe_carrier AlgebraicGeometry.SheafedSpace.coeCarrier
-instance coeSort : CoeSort (SheafedSpace C) (Type _) where
+instance coeSort : CoeSort (SheafedSpace C) (Type*) where
coe := fun X => X.1
/-- Extract the `sheaf C (X : Top)` from a `SheafedSpace C`. -/
@@ -2,15 +2,12 @@
Copyright (c) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module algebraic_geometry.sheafed_space
-! leanprover-community/mathlib commit f384f5d1a4e39f36817b8d22afff7b52af8121d1
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.AlgebraicGeometry.PresheafedSpace.HasColimits
import Mathlib.Topology.Sheaves.Functors
+#align_import algebraic_geometry.sheafed_space from "leanprover-community/mathlib"@"f384f5d1a4e39f36817b8d22afff7b52af8121d1"
+
/-!
# Sheafed spaces
@@ -101,6 +101,7 @@ theorem ext {X Y : SheafedSpace C} (α β : X ⟶ Y) (w : α.base = β.base)
PresheafedSpace.ext α β w h
/-- Forgetting the sheaf condition is a functor from `SheafedSpace C` to `PresheafedSpace C`. -/
+@[simps! obj map]
def forgetToPresheafedSpace : SheafedSpace C ⥤ PresheafedSpace C :=
inducedFunctor _
set_option linter.uppercaseLean3 false in
@@ -51,6 +51,9 @@ instance coeCarrier : CoeOut (SheafedSpace C) TopCat where coe X := X.carrier
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.coe_carrier AlgebraicGeometry.SheafedSpace.coeCarrier
+instance coeSort : CoeSort (SheafedSpace C) (Type _) where
+ coe := fun X => X.1
+
/-- Extract the `sheaf C (X : Top)` from a `SheafedSpace C`. -/
def sheaf (X : SheafedSpace C) : Sheaf C (X : TopCat) :=
⟨X.presheaf, X.IsSheaf⟩
@@ -90,6 +90,13 @@ instance : Category (SheafedSpace C) :=
show Category (InducedCategory (PresheafedSpace C) SheafedSpace.toPresheafedSpace) by
infer_instance
+-- Porting note: adding an ext lemma.
+-- See https://github.com/leanprover-community/mathlib4/issues/5229
+@[ext]
+theorem ext {X Y : SheafedSpace C} (α β : X ⟶ Y) (w : α.base = β.base)
+ (h : α.c ≫ whiskerRight (eqToHom (by rw [w])) _ = β.c) : α = β :=
+ PresheafedSpace.ext α β w h
+
/-- Forgetting the sheaf condition is a functor from `SheafedSpace C` to `PresheafedSpace C`. -/
def forgetToPresheafedSpace : SheafedSpace C ⥤ PresheafedSpace C :=
inducedFunctor _
AlgebraicGeometry/SheafedSpace
and AlgebraicGeometry/RingedSpace
(#5047)
@@ -21,13 +21,10 @@ We further describe how to apply functors and natural transformations to the val
presheaves.
-/
-
-universe v u
-
open CategoryTheory TopCat TopologicalSpace Opposite CategoryTheory.Limits CategoryTheory.Category
CategoryTheory.Functor
-variable (C : Type u) [Category.{v} C]
+variable (C : Type _) [Category C]
-- Porting note: removed
-- local attribute [tidy] tactic.op_induction'
@@ -39,7 +36,7 @@ variable (C : Type u) [Category.{v} C]
namespace AlgebraicGeometry
/-- A `SheafedSpace C` is a topological space equipped with a sheaf of `C`s. -/
-structure SheafedSpace extends PresheafedSpace.{_, _, v} C where
+structure SheafedSpace extends PresheafedSpace C where
/-- A sheafed space is presheafed space which happens to be sheaf. -/
IsSheaf : presheaf.IsSheaf
set_option linter.uppercaseLean3 false in
@@ -55,14 +52,14 @@ set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.coe_carrier AlgebraicGeometry.SheafedSpace.coeCarrier
/-- Extract the `sheaf C (X : Top)` from a `SheafedSpace C`. -/
-def sheaf (X : SheafedSpace C) : Sheaf C (X : TopCat.{v}) :=
+def sheaf (X : SheafedSpace C) : Sheaf C (X : TopCat) :=
⟨X.presheaf, X.IsSheaf⟩
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.sheaf AlgebraicGeometry.SheafedSpace.sheaf
-- Porting note : this is a syntactic tautology, so removed
-- @[simp]
--- theorem as_coe (X : SheafedSpace.{v} C) : X.carrier = (X : TopCat.{v}) :=
+-- theorem as_coe (X : SheafedSpace C) : X.carrier = (X : TopCat) :=
-- rfl
-- set_option linter.uppercaseLean3 false in
#noalign algebraic_geometry.SheafedSpace.as_coe
@@ -72,12 +69,12 @@ set_option linter.uppercaseLean3 false in
theorem mk_coe (carrier) (presheaf) (h) :
(({ carrier
presheaf
- IsSheaf := h } : SheafedSpace.{v} C) : TopCat.{v}) = carrier :=
+ IsSheaf := h } : SheafedSpace C) : TopCat) = carrier :=
rfl
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.mk_coe AlgebraicGeometry.SheafedSpace.mk_coe
-instance (X : SheafedSpace.{v} C) : TopologicalSpace X :=
+instance (X : SheafedSpace C) : TopologicalSpace X :=
X.carrier.str
/-- The trivial `unit` valued sheaf on any topological space. -/
@@ -90,11 +87,11 @@ instance : Inhabited (SheafedSpace (Discrete Unit)) :=
⟨unit (TopCat.of PEmpty)⟩
instance : Category (SheafedSpace C) :=
- show Category (InducedCategory (PresheafedSpace.{_, _, v} C) SheafedSpace.toPresheafedSpace) by
+ show Category (InducedCategory (PresheafedSpace C) SheafedSpace.toPresheafedSpace) by
infer_instance
/-- Forgetting the sheaf condition is a functor from `SheafedSpace C` to `PresheafedSpace C`. -/
-def forgetToPresheafedSpace : SheafedSpace.{v} C ⥤ PresheafedSpace.{_, _, v} C :=
+def forgetToPresheafedSpace : SheafedSpace C ⥤ PresheafedSpace C :=
inducedFunctor _
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.forget_to_PresheafedSpace AlgebraicGeometry.SheafedSpace.forgetToPresheafedSpace
@@ -106,7 +103,7 @@ instance forgetToPresheafedSpace_full : Full <| forgetToPresheafedSpace (C := C)
-- Porting note : can't derive `Faithful` functor automatically
instance forgetToPresheafedSpace_faithful : Faithful <| forgetToPresheafedSpace (C := C) where
-instance is_presheafedSpace_iso {X Y : SheafedSpace.{v} C} (f : X ⟶ Y) [IsIso f] :
+instance is_presheafedSpace_iso {X Y : SheafedSpace C} (f : X ⟶ Y) [IsIso f] :
@IsIso (PresheafedSpace C) _ _ _ f :=
SheafedSpace.forgetToPresheafedSpace.map_isIso f
set_option linter.uppercaseLean3 false in
@@ -117,7 +114,7 @@ section
attribute [local simp] id comp
@[simp]
-theorem id_base (X : SheafedSpace C) : (𝟙 X : X ⟶ X).base = 𝟙 (X : TopCat.{v}) :=
+theorem id_base (X : SheafedSpace C) : (𝟙 X : X ⟶ X).base = 𝟙 (X : TopCat) :=
rfl
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.id_base AlgebraicGeometry.SheafedSpace.id_base
@@ -165,7 +162,7 @@ variable (C)
/-- The forgetful functor from `SheafedSpace` to `Top`. -/
def forget : SheafedSpace C ⥤ TopCat where
- obj X := (X : TopCat.{v})
+ obj X := (X : TopCat)
map {X Y} f := f.base
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.forget AlgebraicGeometry.SheafedSpace.forget
@@ -176,7 +173,7 @@ open TopCat.Presheaf
/-- The restriction of a sheafed space along an open embedding into the space.
-/
-def restrict {U : TopCat} (X : SheafedSpace C) {f : U ⟶ (X : TopCat.{v})} (h : OpenEmbedding f) :
+def restrict {U : TopCat} (X : SheafedSpace C) {f : U ⟶ (X : TopCat)} (h : OpenEmbedding f) :
SheafedSpace C :=
{ X.toPresheafedSpace.restrict h with IsSheaf := isSheaf_of_openEmbedding h X.IsSheaf }
set_option linter.uppercaseLean3 false in
Closes #4551.
Essentially op_induction
is not necessary, now that Opposite.rec'
is labelled with @[eliminator]
. It would be nice if we could use this from inside aesop
, see https://github.com/JLimperg/aesop/issues/59.
Co-authored-by: Scott Morrison <scott.morrison@anu.edu.au>
@@ -33,7 +33,8 @@ variable (C : Type u) [Category.{v} C]
-- local attribute [tidy] tactic.op_induction'
-- as it isn't needed here. If it is useful elsewhere
-- attribute [local aesop safe cases (rule_sets [CategoryTheory])] Opposite
--- should suffice.
+-- should suffice, but may need
+-- https://github.com/JLimperg/aesop/issues/59
namespace AlgebraicGeometry
@@ -29,7 +29,11 @@ open CategoryTheory TopCat TopologicalSpace Opposite CategoryTheory.Limits Categ
variable (C : Type u) [Category.{v} C]
--- attribute [local tidy] tactic.op_induction'
+-- Porting note: removed
+-- local attribute [tidy] tactic.op_induction'
+-- as it isn't needed here. If it is useful elsewhere
+-- attribute [local aesop safe cases (rule_sets [CategoryTheory])] Opposite
+-- should suffice.
namespace AlgebraicGeometry
@@ -100,7 +104,6 @@ instance forgetToPresheafedSpace_full : Full <| forgetToPresheafedSpace (C := C)
-- Porting note : can't derive `Faithful` functor automatically
instance forgetToPresheafedSpace_faithful : Faithful <| forgetToPresheafedSpace (C := C) where
- map_injective h := h
instance is_presheafedSpace_iso {X Y : SheafedSpace.{v} C} (f : X ⟶ Y) [IsIso f] :
@IsIso (PresheafedSpace C) _ _ _ f :=
@@ -126,12 +129,8 @@ set_option linter.uppercaseLean3 false in
@[simp]
theorem id_c_app (X : SheafedSpace C) (U) :
- (𝟙 X : X ⟶ X).c.app U =
- eqToHom (by induction U using Opposite.rec' with | h U => ?_; cases U; rfl) := by
- induction U using Opposite.rec' with | h U => ?_
- cases U
- simp only [id_c]
- rw [eqToHom_app]
+ (𝟙 X : X ⟶ X).c.app U = eqToHom (by aesop_cat) := by
+ aesop_cat
set_option linter.uppercaseLean3 false in
#align algebraic_geometry.SheafedSpace.id_c_app AlgebraicGeometry.SheafedSpace.id_c_app
@@ -233,7 +232,7 @@ noncomputable instance [HasLimits C] :
(colimit.isoColimitCocone ⟨_, PresheafedSpace.colimitCoconeIsColimit _⟩).symm⟩⟩
instance [HasLimits C] : HasColimits (SheafedSpace C) :=
- has_colimits_of_has_colimits_creates_colimits forgetToPresheafedSpace
+ hasColimits_of_hasColimits_createsColimits forgetToPresheafedSpace
noncomputable instance [HasLimits C] : PreservesColimits (forget C) :=
Limits.compPreservesColimits forgetToPresheafedSpace (PresheafedSpace.forget C)
@@ -24,17 +24,8 @@ presheaves.
universe v u
-open CategoryTheory
-
-open TopCat
-
-open TopologicalSpace
-
-open Opposite
-
-open CategoryTheory.Limits
-
-open CategoryTheory.Category CategoryTheory.Functor
+open CategoryTheory TopCat TopologicalSpace Opposite CategoryTheory.Limits CategoryTheory.Category
+ CategoryTheory.Functor
variable (C : Type u) [Category.{v} C]
@@ -69,7 +60,7 @@ set_option linter.uppercaseLean3 false in
-- theorem as_coe (X : SheafedSpace.{v} C) : X.carrier = (X : TopCat.{v}) :=
-- rfl
-- set_option linter.uppercaseLean3 false in
--- #align algebraic_geometry.SheafedSpace.as_coe AlgebraicGeometry.SheafedSpace.as_coe
+#noalign algebraic_geometry.SheafedSpace.as_coe
-- Porting note : this gives a `simpVarHead` error (`LEFT-HAND SIDE HAS VARIABLE AS HEAD SYMBOL.`).
-- so removed @[simp]
The unported dependencies are