topology.sheaves.limitsMathlib.Topology.Sheaves.Limits

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2020 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison
 -/
-import Mathbin.Topology.Sheaves.Sheaf
-import Mathbin.CategoryTheory.Sites.Limits
-import Mathbin.CategoryTheory.Limits.FunctorCategory
+import Topology.Sheaves.Sheaf
+import CategoryTheory.Sites.Limits
+import CategoryTheory.Limits.FunctorCategory
 
 #align_import topology.sheaves.limits from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2020 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 topology.sheaves.limits
-! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Topology.Sheaves.Sheaf
 import Mathbin.CategoryTheory.Sites.Limits
 import Mathbin.CategoryTheory.Limits.FunctorCategory
 
+#align_import topology.sheaves.limits from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
+
 /-!
 # Presheaves in `C` have limits and colimits when `C` does.
 
Diff
@@ -44,6 +44,7 @@ instance [HasLimits C] (X : TopCat) : CreatesLimits (Sheaf.forget C X) :=
 instance [HasLimits C] (X : TopCat) : HasLimitsOfSize.{v} (Sheaf.{v} C X) :=
   hasLimits_of_hasLimits_createsLimits (Sheaf.forget C X)
 
+#print TopCat.isSheaf_of_isLimit /-
 theorem isSheaf_of_isLimit [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C X)
     (H : ∀ j, (F.obj j).IsSheaf) {c : Cone F} (hc : IsLimit c) : c.pt.IsSheaf :=
   by
@@ -56,11 +57,14 @@ theorem isSheaf_of_isLimit [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C
       ((is_limit_of_preserves (sheaf.forget C X) (limit.is_limit F')).conePointsIsoOfNatIso hc e)
       (limit F').2
 #align Top.is_sheaf_of_is_limit TopCat.isSheaf_of_isLimit
+-/
 
+#print TopCat.limit_isSheaf /-
 theorem limit_isSheaf [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C X)
     (H : ∀ j, (F.obj j).IsSheaf) : (limit F).IsSheaf :=
   isSheaf_of_isLimit F H (limit.isLimit F)
 #align Top.limit_is_sheaf TopCat.limit_isSheaf
+-/
 
 end TopCat
 
Diff
@@ -42,7 +42,7 @@ instance [HasLimits C] (X : TopCat) : CreatesLimits (Sheaf.forget C X) :=
   Sheaf.CategoryTheory.SheafToPresheaf.CategoryTheory.createsLimits.{u, v, v}
 
 instance [HasLimits C] (X : TopCat) : HasLimitsOfSize.{v} (Sheaf.{v} C X) :=
-  has_limits_of_has_limits_creates_limits (Sheaf.forget C X)
+  hasLimits_of_hasLimits_createsLimits (Sheaf.forget C X)
 
 theorem isSheaf_of_isLimit [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C X)
     (H : ∀ j, (F.obj j).IsSheaf) {c : Cone F} (hc : IsLimit c) : c.pt.IsSheaf :=
Diff
@@ -44,12 +44,6 @@ instance [HasLimits C] (X : TopCat) : CreatesLimits (Sheaf.forget C X) :=
 instance [HasLimits C] (X : TopCat) : HasLimitsOfSize.{v} (Sheaf.{v} C X) :=
   has_limits_of_has_limits_creates_limits (Sheaf.forget C X)
 
-/- warning: Top.is_sheaf_of_is_limit -> TopCat.isSheaf_of_isLimit is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] {X : TopCat.{u1}} (F : CategoryTheory.Functor.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X)), (forall (j : J), TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F j)) -> (forall {c : CategoryTheory.Limits.Cone.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F}, (CategoryTheory.Limits.IsLimit.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F c) -> (TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F c)))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] {X : TopCat.{u1}} (F : CategoryTheory.Functor.{u1, u1, u1, max u1 u2} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X)), (forall (j : J), TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (Prefunctor.obj.{succ u1, succ u1, u1, max u2 u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F) j)) -> (forall {c : CategoryTheory.Limits.Cone.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F}, (CategoryTheory.Limits.IsLimit.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F c) -> (TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F c)))
-Case conversion may be inaccurate. Consider using '#align Top.is_sheaf_of_is_limit TopCat.isSheaf_of_isLimitₓ'. -/
 theorem isSheaf_of_isLimit [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C X)
     (H : ∀ j, (F.obj j).IsSheaf) {c : Cone F} (hc : IsLimit c) : c.pt.IsSheaf :=
   by
@@ -63,12 +57,6 @@ theorem isSheaf_of_isLimit [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C
       (limit F').2
 #align Top.is_sheaf_of_is_limit TopCat.isSheaf_of_isLimit
 
-/- warning: Top.limit_is_sheaf -> TopCat.limit_isSheaf is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] {X : TopCat.{u1}} (F : CategoryTheory.Functor.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X)), (forall (j : J), TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F j)) -> (TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Limits.limit.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) J _inst_2 (TopCat.Presheaf.CategoryTheory.Limits.hasLimits.{u1, u2} C _inst_1 _inst_3 X)) F)))
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] {X : TopCat.{u1}} (F : CategoryTheory.Functor.{u1, u1, u1, max u1 u2} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X)), (forall (j : J), TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (Prefunctor.obj.{succ u1, succ u1, u1, max u2 u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F) j)) -> (TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Limits.limit.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) J _inst_2 (TopCat.instHasLimitsPresheafInstCategoryPresheaf.{u1, u2} C _inst_1 _inst_3 X)) F)))
-Case conversion may be inaccurate. Consider using '#align Top.limit_is_sheaf TopCat.limit_isSheafₓ'. -/
 theorem limit_isSheaf [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C X)
     (H : ∀ j, (F.obj j).IsSheaf) : (limit F).IsSheaf :=
   isSheaf_of_isLimit F H (limit.isLimit F)
Diff
@@ -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 topology.sheaves.limits
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.CategoryTheory.Limits.FunctorCategory
 
 /-!
 # Presheaves in `C` have limits and colimits when `C` does.
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
 -/
 
 
Diff
@@ -41,6 +41,12 @@ instance [HasLimits C] (X : TopCat) : CreatesLimits (Sheaf.forget C X) :=
 instance [HasLimits C] (X : TopCat) : HasLimitsOfSize.{v} (Sheaf.{v} C X) :=
   has_limits_of_has_limits_creates_limits (Sheaf.forget C X)
 
+/- warning: Top.is_sheaf_of_is_limit -> TopCat.isSheaf_of_isLimit is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] {X : TopCat.{u1}} (F : CategoryTheory.Functor.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X)), (forall (j : J), TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F j)) -> (forall {c : CategoryTheory.Limits.Cone.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F}, (CategoryTheory.Limits.IsLimit.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F c) -> (TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F c)))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] {X : TopCat.{u1}} (F : CategoryTheory.Functor.{u1, u1, u1, max u1 u2} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X)), (forall (j : J), TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (Prefunctor.obj.{succ u1, succ u1, u1, max u2 u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F) j)) -> (forall {c : CategoryTheory.Limits.Cone.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F}, (CategoryTheory.Limits.IsLimit.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F c) -> (TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Limits.Cone.pt.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F c)))
+Case conversion may be inaccurate. Consider using '#align Top.is_sheaf_of_is_limit TopCat.isSheaf_of_isLimitₓ'. -/
 theorem isSheaf_of_isLimit [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C X)
     (H : ∀ j, (F.obj j).IsSheaf) {c : Cone F} (hc : IsLimit c) : c.pt.IsSheaf :=
   by
@@ -54,6 +60,12 @@ theorem isSheaf_of_isLimit [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C
       (limit F').2
 #align Top.is_sheaf_of_is_limit TopCat.isSheaf_of_isLimit
 
+/- warning: Top.limit_is_sheaf -> TopCat.limit_isSheaf is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] {X : TopCat.{u1}} (F : CategoryTheory.Functor.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X)), (forall (j : J), TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Functor.obj.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F j)) -> (TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Limits.limit.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.Presheaf.category.{u1, u1, u2} C _inst_1 X) J _inst_2 (TopCat.Presheaf.CategoryTheory.Limits.hasLimits.{u1, u2} C _inst_1 _inst_3 X)) F)))
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] [_inst_3 : CategoryTheory.Limits.HasLimits.{u1, u2} C _inst_1] {X : TopCat.{u1}} (F : CategoryTheory.Functor.{u1, u1, u1, max u1 u2} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X)), (forall (j : J), TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (Prefunctor.obj.{succ u1, succ u1, u1, max u2 u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (CategoryTheory.CategoryStruct.toQuiver.{u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (CategoryTheory.Category.toCategoryStruct.{u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F) j)) -> (TopCat.Presheaf.IsSheaf.{u1, u1, u2} C _inst_1 X (CategoryTheory.Limits.limit.{u1, u1, u1, max u2 u1} J _inst_2 (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, max u2 u1} (TopCat.Presheaf.{u1, u1, u2} C _inst_1 X) (TopCat.instCategoryPresheaf.{u1, u1, u2} C _inst_1 X) J _inst_2 (TopCat.instHasLimitsPresheafInstCategoryPresheaf.{u1, u2} C _inst_1 _inst_3 X)) F)))
+Case conversion may be inaccurate. Consider using '#align Top.limit_is_sheaf TopCat.limit_isSheafₓ'. -/
 theorem limit_isSheaf [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C X)
     (H : ∀ j, (F.obj j).IsSheaf) : (limit F).IsSheaf :=
   isSheaf_of_isLimit F H (limit.isLimit F)
Diff
@@ -30,10 +30,10 @@ variable {C : Type u} [Category.{v} C] {J : Type v} [SmallCategory J]
 namespace TopCat
 
 instance [HasLimits C] (X : TopCat) : HasLimits (Presheaf C X) :=
-  Limits.functor_category_hasLimitsOfSize.{v, v}
+  Limits.functorCategoryHasLimitsOfSize.{v, v}
 
 instance [HasColimits C] (X : TopCat) : HasColimitsOfSize.{v} (Presheaf C X) :=
-  Limits.functor_category_hasColimitsOfSize
+  Limits.functorCategoryHasColimitsOfSize
 
 instance [HasLimits C] (X : TopCat) : CreatesLimits (Sheaf.forget C X) :=
   Sheaf.CategoryTheory.SheafToPresheaf.CategoryTheory.createsLimits.{u, v, v}
Diff
@@ -42,7 +42,7 @@ instance [HasLimits C] (X : TopCat) : HasLimitsOfSize.{v} (Sheaf.{v} C X) :=
   has_limits_of_has_limits_creates_limits (Sheaf.forget C X)
 
 theorem isSheaf_of_isLimit [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C X)
-    (H : ∀ j, (F.obj j).IsSheaf) {c : Cone F} (hc : IsLimit c) : c.x.IsSheaf :=
+    (H : ∀ j, (F.obj j).IsSheaf) {c : Cone F} (hc : IsLimit c) : c.pt.IsSheaf :=
   by
   let F' : J ⥤ sheaf C X :=
     { obj := fun j => ⟨F.obj j, H j⟩
Diff
@@ -30,16 +30,16 @@ variable {C : Type u} [Category.{v} C] {J : Type v} [SmallCategory J]
 namespace TopCat
 
 instance [HasLimits C] (X : TopCat) : HasLimits (Presheaf C X) :=
-  Limits.functorCategoryHasLimitsOfSize.{v, v}
+  Limits.functor_category_hasLimitsOfSize.{v, v}
 
 instance [HasColimits C] (X : TopCat) : HasColimitsOfSize.{v} (Presheaf C X) :=
-  Limits.functorCategoryHasColimitsOfSize
+  Limits.functor_category_hasColimitsOfSize
 
 instance [HasLimits C] (X : TopCat) : CreatesLimits (Sheaf.forget C X) :=
   Sheaf.CategoryTheory.SheafToPresheaf.CategoryTheory.createsLimits.{u, v, v}
 
 instance [HasLimits C] (X : TopCat) : HasLimitsOfSize.{v} (Sheaf.{v} C X) :=
-  hasLimitsOfHasLimitsCreatesLimits (Sheaf.forget C X)
+  has_limits_of_has_limits_creates_limits (Sheaf.forget C X)
 
 theorem isSheaf_of_isLimit [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C X)
     (H : ∀ j, (F.obj j).IsSheaf) {c : Cone F} (hc : IsLimit c) : c.x.IsSheaf :=

Changes in mathlib4

mathlib3
mathlib4
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2020 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 topology.sheaves.limits
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Topology.Sheaves.Sheaf
 import Mathlib.CategoryTheory.Sites.Limits
 import Mathlib.CategoryTheory.Limits.FunctorCategory
 
+#align_import topology.sheaves.limits from "leanprover-community/mathlib"@"70fd9563a21e7b963887c9360bd29b2393e6225a"
+
 /-!
 # Presheaves in `C` have limits and colimits when `C` does.
 -/
chore: review of automation in category theory (#4793)

Clean up of automation in the category theory library. Leaving out unnecessary proof steps, or fields done by aesop_cat, and making more use of available autoparameters.

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

Diff
@@ -46,7 +46,7 @@ theorem isSheaf_of_isLimit [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C
   let F' : J ⥤ Sheaf C X :=
     { obj := fun j => ⟨F.obj j, H j⟩
       map := fun f => ⟨F.map f⟩ }
-  let e : F' ⋙ Sheaf.forget C X ≅ F := NatIso.ofComponents (fun _ => Iso.refl _) (by aesop_cat)
+  let e : F' ⋙ Sheaf.forget C X ≅ F := NatIso.ofComponents fun _ => Iso.refl _
   exact Presheaf.isSheaf_of_iso
     ((isLimitOfPreserves (Sheaf.forget C X) (limit.isLimit F')).conePointsIsoOfNatIso hc e)
     (limit F').2
refactor: fixes to material on sheaves and stalks (#4571)

Mostly this is installing the Opposite.rec' induction principle as the default @[eliminator], but also many other fixes and removing unnecessary steps from proofs.

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

Diff
@@ -39,7 +39,7 @@ instance [HasLimits C] (X : TopCat) : CreatesLimits (Sheaf.forget C X) :=
   Sheaf.createsLimits.{u, v, v}
 
 instance [HasLimits C] (X : TopCat) : HasLimitsOfSize.{v} (Sheaf.{v} C X) :=
-  has_limits_of_has_limits_creates_limits (Sheaf.forget C X)
+  hasLimits_of_hasLimits_createsLimits (Sheaf.forget C X)
 
 theorem isSheaf_of_isLimit [HasLimits C] {X : TopCat} (F : J ⥤ Presheaf.{v} C X)
     (H : ∀ j, (F.obj j).IsSheaf) {c : Cone F} (hc : IsLimit c) : c.pt.IsSheaf := by
feat: port Topology.Sheaves.Limits (#4096)

Dependencies 8 + 441

442 files ported (98.2%)
177616 lines ported (97.3%)
Show graph

The unported dependencies are