category_theory.limits.lattice
⟷
Mathlib.CategoryTheory.Limits.Lattice
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,12 +3,12 @@ Copyright (c) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, Justus Springer
-/
-import Mathbin.Order.CompleteLattice
-import Mathbin.Data.Fintype.Lattice
-import Mathbin.CategoryTheory.Limits.Shapes.Pullbacks
-import Mathbin.CategoryTheory.Category.Preorder
-import Mathbin.CategoryTheory.Limits.Shapes.Products
-import Mathbin.CategoryTheory.Limits.Shapes.FiniteLimits
+import Order.CompleteLattice
+import Data.Fintype.Lattice
+import CategoryTheory.Limits.Shapes.Pullbacks
+import CategoryTheory.Category.Preorder
+import CategoryTheory.Limits.Shapes.Products
+import CategoryTheory.Limits.Shapes.FiniteLimits
#align_import category_theory.limits.lattice from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,11 +2,6 @@
Copyright (c) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, Justus Springer
-
-! This file was ported from Lean 3 source module category_theory.limits.lattice
-! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Order.CompleteLattice
import Mathbin.Data.Fintype.Lattice
@@ -15,6 +10,8 @@ import Mathbin.CategoryTheory.Category.Preorder
import Mathbin.CategoryTheory.Limits.Shapes.Products
import Mathbin.CategoryTheory.Limits.Shapes.FiniteLimits
+#align_import category_theory.limits.lattice from "leanprover-community/mathlib"@"69c6a5a12d8a2b159f20933e60115a4f2de62b58"
+
/-!
# Limits in lattice categories are given by infimums and supremums.
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -78,6 +78,7 @@ instance (priority := 100) hasFiniteColimits_of_semilatticeSup_orderBot [Semilat
#align category_theory.limits.complete_lattice.has_finite_colimits_of_semilattice_sup_order_bot CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot
-/
+#print CategoryTheory.Limits.CompleteLattice.finite_limit_eq_finset_univ_inf /-
/-- The limit of a functor from a finite diagram into a `semilattice_inf` with `order_top` is the
infimum of the objects in the image.
-/
@@ -85,7 +86,9 @@ theorem finite_limit_eq_finset_univ_inf [SemilatticeInf α] [OrderTop α] (F : J
limit F = Finset.univ.inf F.obj :=
(IsLimit.conePointUniqueUpToIso (limit.isLimit F) (finiteLimitCone F).IsLimit).to_eq
#align category_theory.limits.complete_lattice.finite_limit_eq_finset_univ_inf CategoryTheory.Limits.CompleteLattice.finite_limit_eq_finset_univ_inf
+-/
+#print CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_sup /-
/-- The colimit of a functor from a finite diagram into a `semilattice_sup` with `order_bot`
is the supremum of the objects in the image.
-/
@@ -93,6 +96,7 @@ theorem finite_colimit_eq_finset_univ_sup [SemilatticeSup α] [OrderBot α] (F :
colimit F = Finset.univ.sup F.obj :=
(IsColimit.coconePointUniqueUpToIso (colimit.isColimit F) (finiteColimitCocone F).IsColimit).to_eq
#align category_theory.limits.complete_lattice.finite_colimit_eq_finset_univ_sup CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_sup
+-/
#print CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_inf /-
/--
@@ -135,6 +139,7 @@ instance (priority := 100) [SemilatticeInf α] [OrderTop α] : HasBinaryProducts
letI := hasFiniteLimits_of_hasFiniteLimits_of_size.{u} α; infer_instance
apply has_binary_products_of_has_limit_pair
+#print CategoryTheory.Limits.CompleteLattice.prod_eq_inf /-
/-- The binary product in the category of a `semilattice_inf` with `order_top` is the same as the
infimum.
-/
@@ -149,6 +154,7 @@ theorem prod_eq_inf [SemilatticeInf α] [OrderTop α] (x y : α) : Limits.prod x
x ⊓ y :=
by rw [inf_top_eq]
#align category_theory.limits.complete_lattice.prod_eq_inf CategoryTheory.Limits.CompleteLattice.prod_eq_inf
+-/
-- see Note [lower instance priority]
instance (priority := 100) [SemilatticeSup α] [OrderBot α] : HasBinaryCoproducts α :=
@@ -157,6 +163,7 @@ instance (priority := 100) [SemilatticeSup α] [OrderBot α] : HasBinaryCoproduc
letI := hasFiniteColimits_of_hasFiniteColimits_of_size.{u} α; infer_instance
apply has_binary_coproducts_of_has_colimit_pair
+#print CategoryTheory.Limits.CompleteLattice.coprod_eq_sup /-
/-- The binary coproduct in the category of a `semilattice_sup` with `order_bot` is the same as the
supremum.
-/
@@ -171,7 +178,9 @@ theorem coprod_eq_sup [SemilatticeSup α] [OrderBot α] (x y : α) : Limits.copr
x ⊔ y :=
by rw [sup_bot_eq]
#align category_theory.limits.complete_lattice.coprod_eq_sup CategoryTheory.Limits.CompleteLattice.coprod_eq_sup
+-/
+#print CategoryTheory.Limits.CompleteLattice.pullback_eq_inf /-
/-- The pullback in the category of a `semilattice_inf` with `order_top` is the same as the infimum
over the objects.
-/
@@ -185,7 +194,9 @@ theorem pullback_eq_inf [SemilatticeInf α] [OrderTop α] {x y z : α} (f : x
_ = z ⊓ (x ⊓ y) := by rw [inf_top_eq]
_ = x ⊓ y := inf_eq_right.mpr (inf_le_of_left_le f.le)
#align category_theory.limits.complete_lattice.pullback_eq_inf CategoryTheory.Limits.CompleteLattice.pullback_eq_inf
+-/
+#print CategoryTheory.Limits.CompleteLattice.pushout_eq_sup /-
/-- The pushout in the category of a `semilattice_sup` with `order_bot` is the same as the supremum
over the objects.
-/
@@ -199,6 +210,7 @@ theorem pushout_eq_sup [SemilatticeSup α] [OrderBot α] (x y z : α) (f : z ⟶
_ = z ⊔ (x ⊔ y) := by rw [sup_bot_eq]
_ = x ⊔ y := sup_eq_right.mpr (le_sup_of_le_left f.le)
#align category_theory.limits.complete_lattice.pushout_eq_sup CategoryTheory.Limits.CompleteLattice.pushout_eq_sup
+-/
end Semilattice
@@ -252,17 +264,21 @@ instance (priority := 100) hasColimits_of_completeLattice : HasColimits α
#align category_theory.limits.complete_lattice.has_colimits_of_complete_lattice CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice
-/
+#print CategoryTheory.Limits.CompleteLattice.limit_eq_iInf /-
/-- The limit of a functor into a complete lattice is the infimum of the objects in the image.
-/
theorem limit_eq_iInf (F : J ⥤ α) : limit F = iInf F.obj :=
(IsLimit.conePointUniqueUpToIso (limit.isLimit F) (limitCone F).IsLimit).to_eq
#align category_theory.limits.complete_lattice.limit_eq_infi CategoryTheory.Limits.CompleteLattice.limit_eq_iInf
+-/
+#print CategoryTheory.Limits.CompleteLattice.colimit_eq_iSup /-
/-- The colimit of a functor into a complete lattice is the supremum of the objects in the image.
-/
theorem colimit_eq_iSup (F : J ⥤ α) : colimit F = iSup F.obj :=
(IsColimit.coconePointUniqueUpToIso (colimit.isColimit F) (colimitCocone F).IsColimit).to_eq
#align category_theory.limits.complete_lattice.colimit_eq_supr CategoryTheory.Limits.CompleteLattice.colimit_eq_iSup
+-/
end CategoryTheory.Limits.CompleteLattice
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -148,7 +148,6 @@ theorem prod_eq_inf [SemilatticeInf α] [OrderTop α] (x y : α) : Limits.prod x
_ =
x ⊓ y :=
by rw [inf_top_eq]
-
#align category_theory.limits.complete_lattice.prod_eq_inf CategoryTheory.Limits.CompleteLattice.prod_eq_inf
-- see Note [lower instance priority]
@@ -171,7 +170,6 @@ theorem coprod_eq_sup [SemilatticeSup α] [OrderBot α] (x y : α) : Limits.copr
_ =
x ⊔ y :=
by rw [sup_bot_eq]
-
#align category_theory.limits.complete_lattice.coprod_eq_sup CategoryTheory.Limits.CompleteLattice.coprod_eq_sup
/-- The pullback in the category of a `semilattice_inf` with `order_top` is the same as the infimum
@@ -186,7 +184,6 @@ theorem pullback_eq_inf [SemilatticeInf α] [OrderTop α] {x y z : α} (f : x
_ = z ⊓ (x ⊓ (y ⊓ ⊤)) := rfl
_ = z ⊓ (x ⊓ y) := by rw [inf_top_eq]
_ = x ⊓ y := inf_eq_right.mpr (inf_le_of_left_le f.le)
-
#align category_theory.limits.complete_lattice.pullback_eq_inf CategoryTheory.Limits.CompleteLattice.pullback_eq_inf
/-- The pushout in the category of a `semilattice_sup` with `order_bot` is the same as the supremum
@@ -201,7 +198,6 @@ theorem pushout_eq_sup [SemilatticeSup α] [OrderBot α] (x y z : α) (f : z ⟶
_ = z ⊔ (x ⊔ (y ⊔ ⊥)) := rfl
_ = z ⊔ (x ⊔ y) := by rw [sup_bot_eq]
_ = x ⊔ y := sup_eq_right.mpr (le_sup_of_le_left f.le)
-
#align category_theory.limits.complete_lattice.pushout_eq_sup CategoryTheory.Limits.CompleteLattice.pushout_eq_sup
end Semilattice
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -37,6 +37,7 @@ variable {α : Type u}
variable {J : Type w} [SmallCategory J] [FinCategory J]
+#print CategoryTheory.Limits.CompleteLattice.finiteLimitCone /-
/-- The limit cone over any functor from a finite diagram into a `semilattice_inf` with `order_top`.
-/
def finiteLimitCone [SemilatticeInf α] [OrderTop α] (F : J ⥤ α) : LimitCone F
@@ -46,7 +47,9 @@ def finiteLimitCone [SemilatticeInf α] [OrderTop α] (F : J ⥤ α) : LimitCone
π := { app := fun j => homOfLE (Finset.inf_le (Fintype.complete _)) } }
IsLimit := { lift := fun s => homOfLE (Finset.le_inf fun j _ => (s.π.app j).down.down) }
#align category_theory.limits.complete_lattice.finite_limit_cone CategoryTheory.Limits.CompleteLattice.finiteLimitCone
+-/
+#print CategoryTheory.Limits.CompleteLattice.finiteColimitCocone /-
/--
The colimit cocone over any functor from a finite diagram into a `semilattice_sup` with `order_bot`.
-/
@@ -57,18 +60,23 @@ def finiteColimitCocone [SemilatticeSup α] [OrderBot α] (F : J ⥤ α) : Colim
ι := { app := fun i => homOfLE (Finset.le_sup (Fintype.complete _)) } }
IsColimit := { desc := fun s => homOfLE (Finset.sup_le fun j _ => (s.ι.app j).down.down) }
#align category_theory.limits.complete_lattice.finite_colimit_cocone CategoryTheory.Limits.CompleteLattice.finiteColimitCocone
+-/
+#print CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop /-
-- see Note [lower instance priority]
instance (priority := 100) hasFiniteLimits_of_semilatticeInf_orderTop [SemilatticeInf α]
[OrderTop α] : HasFiniteLimits α :=
⟨fun J 𝒥₁ 𝒥₂ => { HasLimit := fun F => has_limit.mk (finite_limit_cone F) }⟩
#align category_theory.limits.complete_lattice.has_finite_limits_of_semilattice_inf_order_top CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop
+-/
+#print CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot /-
-- see Note [lower instance priority]
instance (priority := 100) hasFiniteColimits_of_semilatticeSup_orderBot [SemilatticeSup α]
[OrderBot α] : HasFiniteColimits α :=
⟨fun J 𝒥₁ 𝒥₂ => { HasColimit := fun F => has_colimit.mk (finite_colimit_cocone F) }⟩
#align category_theory.limits.complete_lattice.has_finite_colimits_of_semilattice_sup_order_bot CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot
+-/
/-- The limit of a functor from a finite diagram into a `semilattice_inf` with `order_top` is the
infimum of the objects in the image.
@@ -86,6 +94,7 @@ theorem finite_colimit_eq_finset_univ_sup [SemilatticeSup α] [OrderBot α] (F :
(IsColimit.coconePointUniqueUpToIso (colimit.isColimit F) (finiteColimitCocone F).IsColimit).to_eq
#align category_theory.limits.complete_lattice.finite_colimit_eq_finset_univ_sup CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_sup
+#print CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_inf /-
/--
A finite product in the category of a `semilattice_inf` with `order_top` is the same as the infimum.
-/
@@ -100,7 +109,9 @@ theorem finite_product_eq_finset_inf [SemilatticeInf α] [OrderTop α] {ι : Typ
simp only [← Finset.inf_map, Finset.univ_map_equiv_to_embedding]
rfl
#align category_theory.limits.complete_lattice.finite_product_eq_finset_inf CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_inf
+-/
+#print CategoryTheory.Limits.CompleteLattice.finite_coproduct_eq_finset_sup /-
/-- A finite coproduct in the category of a `semilattice_sup` with `order_bot` is the same as the
supremum.
-/
@@ -115,6 +126,7 @@ theorem finite_coproduct_eq_finset_sup [SemilatticeSup α] [OrderBot α] {ι : T
simp only [← Finset.sup_map, Finset.univ_map_equiv_to_embedding]
rfl
#align category_theory.limits.complete_lattice.finite_coproduct_eq_finset_sup CategoryTheory.Limits.CompleteLattice.finite_coproduct_eq_finset_sup
+-/
-- see Note [lower instance priority]
instance (priority := 100) [SemilatticeInf α] [OrderTop α] : HasBinaryProducts α :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -37,12 +37,6 @@ variable {α : Type u}
variable {J : Type w} [SmallCategory J] [FinCategory J]
-/- warning: category_theory.limits.complete_lattice.finite_limit_cone -> CategoryTheory.Limits.CompleteLattice.finiteLimitCone is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeInf.{u2} α] [_inst_4 : OrderTop.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))), CategoryTheory.Limits.LimitCone.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F
-but is expected to have type
- forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeInf.{u2} α] [_inst_4 : OrderTop.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))), CategoryTheory.Limits.LimitCone.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_limit_cone CategoryTheory.Limits.CompleteLattice.finiteLimitConeₓ'. -/
/-- The limit cone over any functor from a finite diagram into a `semilattice_inf` with `order_top`.
-/
def finiteLimitCone [SemilatticeInf α] [OrderTop α] (F : J ⥤ α) : LimitCone F
@@ -53,12 +47,6 @@ def finiteLimitCone [SemilatticeInf α] [OrderTop α] (F : J ⥤ α) : LimitCone
IsLimit := { lift := fun s => homOfLE (Finset.le_inf fun j _ => (s.π.app j).down.down) }
#align category_theory.limits.complete_lattice.finite_limit_cone CategoryTheory.Limits.CompleteLattice.finiteLimitCone
-/- warning: category_theory.limits.complete_lattice.finite_colimit_cocone -> CategoryTheory.Limits.CompleteLattice.finiteColimitCocone is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeSup.{u2} α] [_inst_4 : OrderBot.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))), CategoryTheory.Limits.ColimitCocone.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F
-but is expected to have type
- forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeSup.{u2} α] [_inst_4 : OrderBot.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))), CategoryTheory.Limits.ColimitCocone.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_colimit_cocone CategoryTheory.Limits.CompleteLattice.finiteColimitCoconeₓ'. -/
/--
The colimit cocone over any functor from a finite diagram into a `semilattice_sup` with `order_bot`.
-/
@@ -70,36 +58,18 @@ def finiteColimitCocone [SemilatticeSup α] [OrderBot α] (F : J ⥤ α) : Colim
IsColimit := { desc := fun s => homOfLE (Finset.sup_le fun j _ => (s.ι.app j).down.down) }
#align category_theory.limits.complete_lattice.finite_colimit_cocone CategoryTheory.Limits.CompleteLattice.finiteColimitCocone
-/- warning: category_theory.limits.complete_lattice.has_finite_limits_of_semilattice_inf_order_top -> CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))], CategoryTheory.Limits.HasFiniteLimits.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))], CategoryTheory.Limits.HasFiniteLimits.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.has_finite_limits_of_semilattice_inf_order_top CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTopₓ'. -/
-- see Note [lower instance priority]
instance (priority := 100) hasFiniteLimits_of_semilatticeInf_orderTop [SemilatticeInf α]
[OrderTop α] : HasFiniteLimits α :=
⟨fun J 𝒥₁ 𝒥₂ => { HasLimit := fun F => has_limit.mk (finite_limit_cone F) }⟩
#align category_theory.limits.complete_lattice.has_finite_limits_of_semilattice_inf_order_top CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop
-/- warning: category_theory.limits.complete_lattice.has_finite_colimits_of_semilattice_sup_order_bot -> CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))], CategoryTheory.Limits.HasFiniteColimits.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))], CategoryTheory.Limits.HasFiniteColimits.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.has_finite_colimits_of_semilattice_sup_order_bot CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBotₓ'. -/
-- see Note [lower instance priority]
instance (priority := 100) hasFiniteColimits_of_semilatticeSup_orderBot [SemilatticeSup α]
[OrderBot α] : HasFiniteColimits α :=
⟨fun J 𝒥₁ 𝒥₂ => { HasColimit := fun F => has_colimit.mk (finite_colimit_cocone F) }⟩
#align category_theory.limits.complete_lattice.has_finite_colimits_of_semilattice_sup_order_bot CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot
-/- warning: category_theory.limits.complete_lattice.finite_limit_eq_finset_univ_inf -> CategoryTheory.Limits.CompleteLattice.finite_limit_eq_finset_univ_inf is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeInf.{u2} α] [_inst_4 : OrderTop.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.limit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u2} α _inst_3 _inst_4)) F)) (Finset.inf.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F))
-but is expected to have type
- forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeInf.{u2} α] [_inst_4 : OrderTop.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.limit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u2} α _inst_3 _inst_4)) F)) (Finset.inf.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) α (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} α (CategoryTheory.Category.toCategoryStruct.{u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_limit_eq_finset_univ_inf CategoryTheory.Limits.CompleteLattice.finite_limit_eq_finset_univ_infₓ'. -/
/-- The limit of a functor from a finite diagram into a `semilattice_inf` with `order_top` is the
infimum of the objects in the image.
-/
@@ -108,12 +78,6 @@ theorem finite_limit_eq_finset_univ_inf [SemilatticeInf α] [OrderTop α] (F : J
(IsLimit.conePointUniqueUpToIso (limit.isLimit F) (finiteLimitCone F).IsLimit).to_eq
#align category_theory.limits.complete_lattice.finite_limit_eq_finset_univ_inf CategoryTheory.Limits.CompleteLattice.finite_limit_eq_finset_univ_inf
-/- warning: category_theory.limits.complete_lattice.finite_colimit_eq_finset_univ_sup -> CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_sup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeSup.{u2} α] [_inst_4 : OrderBot.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.colimit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u2} α _inst_3 _inst_4)) F)) (Finset.sup.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F))
-but is expected to have type
- forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeSup.{u2} α] [_inst_4 : OrderBot.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.colimit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u2} α _inst_3 _inst_4)) F)) (Finset.sup.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) α (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} α (CategoryTheory.Category.toCategoryStruct.{u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_colimit_eq_finset_univ_sup CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_supₓ'. -/
/-- The colimit of a functor from a finite diagram into a `semilattice_sup` with `order_bot`
is the supremum of the objects in the image.
-/
@@ -122,12 +86,6 @@ theorem finite_colimit_eq_finset_univ_sup [SemilatticeSup α] [OrderBot α] (F :
(IsColimit.coconePointUniqueUpToIso (colimit.isColimit F) (finiteColimitCocone F).IsColimit).to_eq
#align category_theory.limits.complete_lattice.finite_colimit_eq_finset_univ_sup CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_sup
-/- warning: category_theory.limits.complete_lattice.finite_product_eq_finset_inf -> CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_inf is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] {ι : Type.{u1}} [_inst_5 : Fintype.{u1} ι] (f : ι -> α), Eq.{succ u1} α (CategoryTheory.Limits.piObj.{u1, u1, u1} ι α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) f (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.finCategoryDiscreteOfFintype.{u1} ι _inst_5) (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u1} α _inst_3 _inst_4)) (CategoryTheory.Discrete.functor.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) ι f))) (Finset.inf.{u1, u1} α ι _inst_3 _inst_4 (Fintype.elems.{u1} ι _inst_5) f)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] {ι : Type.{u1}} [_inst_5 : Fintype.{u1} ι] (f : ι -> α), Eq.{succ u1} α (CategoryTheory.Limits.piObj.{u1, u1, u1} ι α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) f (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.finCategoryDiscreteOfFintype.{u1} ι _inst_5) (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u1} α _inst_3 _inst_4)) (CategoryTheory.Discrete.functor.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) ι f))) (Finset.inf.{u1, u1} α ι _inst_3 _inst_4 (Fintype.elems.{u1} ι _inst_5) f)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_product_eq_finset_inf CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_infₓ'. -/
/--
A finite product in the category of a `semilattice_inf` with `order_top` is the same as the infimum.
-/
@@ -143,12 +101,6 @@ theorem finite_product_eq_finset_inf [SemilatticeInf α] [OrderTop α] {ι : Typ
rfl
#align category_theory.limits.complete_lattice.finite_product_eq_finset_inf CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_inf
-/- warning: category_theory.limits.complete_lattice.finite_coproduct_eq_finset_sup -> CategoryTheory.Limits.CompleteLattice.finite_coproduct_eq_finset_sup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] {ι : Type.{u1}} [_inst_5 : Fintype.{u1} ι] (f : ι -> α), Eq.{succ u1} α (CategoryTheory.Limits.sigmaObj.{u1, u1, u1} ι α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) f (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.finCategoryDiscreteOfFintype.{u1} ι _inst_5) (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u1} α _inst_3 _inst_4)) (CategoryTheory.Discrete.functor.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) ι f))) (Finset.sup.{u1, u1} α ι _inst_3 _inst_4 (Fintype.elems.{u1} ι _inst_5) f)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] {ι : Type.{u1}} [_inst_5 : Fintype.{u1} ι] (f : ι -> α), Eq.{succ u1} α (CategoryTheory.Limits.sigmaObj.{u1, u1, u1} ι α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) f (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.finCategoryDiscreteOfFintype.{u1} ι _inst_5) (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u1} α _inst_3 _inst_4)) (CategoryTheory.Discrete.functor.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) ι f))) (Finset.sup.{u1, u1} α ι _inst_3 _inst_4 (Fintype.elems.{u1} ι _inst_5) f)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_coproduct_eq_finset_sup CategoryTheory.Limits.CompleteLattice.finite_coproduct_eq_finset_supₓ'. -/
/-- A finite coproduct in the category of a `semilattice_sup` with `order_bot` is the same as the
supremum.
-/
@@ -171,12 +123,6 @@ instance (priority := 100) [SemilatticeInf α] [OrderTop α] : HasBinaryProducts
letI := hasFiniteLimits_of_hasFiniteLimits_of_size.{u} α; infer_instance
apply has_binary_products_of_has_limit_pair
-/- warning: category_theory.limits.complete_lattice.prod_eq_inf -> CategoryTheory.Limits.CompleteLattice.prod_eq_inf is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.prod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.CategoryTheory.Limits.hasBinaryProducts.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y))) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α _inst_3) x y)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.prod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.instHasBinaryProductsSmallCategoryToPreorderToPartialOrder.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y))) (Inf.inf.{u1} α (SemilatticeInf.toInf.{u1} α _inst_3) x y)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.prod_eq_inf CategoryTheory.Limits.CompleteLattice.prod_eq_infₓ'. -/
/-- The binary product in the category of a `semilattice_inf` with `order_top` is the same as the
infimum.
-/
@@ -200,12 +146,6 @@ instance (priority := 100) [SemilatticeSup α] [OrderBot α] : HasBinaryCoproduc
letI := hasFiniteColimits_of_hasFiniteColimits_of_size.{u} α; infer_instance
apply has_binary_coproducts_of_has_colimit_pair
-/- warning: category_theory.limits.complete_lattice.coprod_eq_sup -> CategoryTheory.Limits.CompleteLattice.coprod_eq_sup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.coprod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.CategoryTheory.Limits.hasBinaryCoproducts.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y))) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α _inst_3) x y)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.coprod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.instHasBinaryCoproductsSmallCategoryToPreorderToPartialOrder.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y))) (Sup.sup.{u1} α (SemilatticeSup.toSup.{u1} α _inst_3) x y)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.coprod_eq_sup CategoryTheory.Limits.CompleteLattice.coprod_eq_supₓ'. -/
/-- The binary coproduct in the category of a `semilattice_sup` with `order_bot` is the same as the
supremum.
-/
@@ -222,12 +162,6 @@ theorem coprod_eq_sup [SemilatticeSup α] [OrderBot α] (x y : α) : Limits.copr
#align category_theory.limits.complete_lattice.coprod_eq_sup CategoryTheory.Limits.CompleteLattice.coprod_eq_sup
-/- warning: category_theory.limits.complete_lattice.pullback_eq_inf -> CategoryTheory.Limits.CompleteLattice.pullback_eq_inf is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] {x : α} {y : α} {z : α} (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) x z) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) y z), Eq.{succ u1} α (CategoryTheory.Limits.pullback.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePullback.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.cospan.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g))) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α _inst_3) x y)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] {x : α} {y : α} {z : α} (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) x z) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) y z), Eq.{succ u1} α (CategoryTheory.Limits.pullback.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePullback.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.cospan.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g))) (Inf.inf.{u1} α (SemilatticeInf.toInf.{u1} α _inst_3) x y)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.pullback_eq_inf CategoryTheory.Limits.CompleteLattice.pullback_eq_infₓ'. -/
/-- The pullback in the category of a `semilattice_inf` with `order_top` is the same as the infimum
over the objects.
-/
@@ -243,12 +177,6 @@ theorem pullback_eq_inf [SemilatticeInf α] [OrderTop α] {x y z : α} (f : x
#align category_theory.limits.complete_lattice.pullback_eq_inf CategoryTheory.Limits.CompleteLattice.pullback_eq_inf
-/- warning: category_theory.limits.complete_lattice.pushout_eq_sup -> CategoryTheory.Limits.CompleteLattice.pushout_eq_sup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α) (z : α) (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z x) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z y), Eq.{succ u1} α (CategoryTheory.Limits.pushout.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePushout.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.span.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g))) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α _inst_3) x y)
-but is expected to have type
- forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α) (z : α) (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z x) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z y), Eq.{succ u1} α (CategoryTheory.Limits.pushout.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePushout.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.span.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g))) (Sup.sup.{u1} α (SemilatticeSup.toSup.{u1} α _inst_3) x y)
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.pushout_eq_sup CategoryTheory.Limits.CompleteLattice.pushout_eq_supₓ'. -/
/-- The pushout in the category of a `semilattice_sup` with `order_bot` is the same as the supremum
over the objects.
-/
@@ -316,24 +244,12 @@ instance (priority := 100) hasColimits_of_completeLattice : HasColimits α
#align category_theory.limits.complete_lattice.has_colimits_of_complete_lattice CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice
-/
-/- warning: category_theory.limits.complete_lattice.limit_eq_infi -> CategoryTheory.Limits.CompleteLattice.limit_eq_iInf is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.limit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasLimits_of_completeLattice.{u1} α _inst_1)) F)) (iInf.{u1, succ u1} α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) J (CategoryTheory.Functor.obj.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.limit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasLimits_of_completeLattice.{u1} α _inst_1)) F)) (iInf.{u1, succ u1} α (CompleteLattice.toInfSet.{u1} α _inst_1) J (Prefunctor.obj.{succ u1, succ u1, u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.limit_eq_infi CategoryTheory.Limits.CompleteLattice.limit_eq_iInfₓ'. -/
/-- The limit of a functor into a complete lattice is the infimum of the objects in the image.
-/
theorem limit_eq_iInf (F : J ⥤ α) : limit F = iInf F.obj :=
(IsLimit.conePointUniqueUpToIso (limit.isLimit F) (limitCone F).IsLimit).to_eq
#align category_theory.limits.complete_lattice.limit_eq_infi CategoryTheory.Limits.CompleteLattice.limit_eq_iInf
-/- warning: category_theory.limits.complete_lattice.colimit_eq_supr -> CategoryTheory.Limits.CompleteLattice.colimit_eq_iSup is a dubious translation:
-lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.colimit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice.{u1} α _inst_1)) F)) (iSup.{u1, succ u1} α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) J (CategoryTheory.Functor.obj.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F))
-but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.colimit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice.{u1} α _inst_1)) F)) (iSup.{u1, succ u1} α (CompleteLattice.toSupSet.{u1} α _inst_1) J (Prefunctor.obj.{succ u1, succ u1, u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.colimit_eq_supr CategoryTheory.Limits.CompleteLattice.colimit_eq_iSupₓ'. -/
/-- The colimit of a functor into a complete lattice is the supremum of the objects in the image.
-/
theorem colimit_eq_iSup (F : J ⥤ α) : colimit F = iSup F.obj :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -167,10 +167,8 @@ theorem finite_coproduct_eq_finset_sup [SemilatticeSup α] [OrderBot α] {ι : T
-- see Note [lower instance priority]
instance (priority := 100) [SemilatticeInf α] [OrderTop α] : HasBinaryProducts α :=
by
- have : ∀ x y : α, has_limit (pair x y) :=
- by
- letI := hasFiniteLimits_of_hasFiniteLimits_of_size.{u} α
- infer_instance
+ have : ∀ x y : α, has_limit (pair x y) := by
+ letI := hasFiniteLimits_of_hasFiniteLimits_of_size.{u} α; infer_instance
apply has_binary_products_of_has_limit_pair
/- warning: category_theory.limits.complete_lattice.prod_eq_inf -> CategoryTheory.Limits.CompleteLattice.prod_eq_inf is a dubious translation:
@@ -198,10 +196,8 @@ theorem prod_eq_inf [SemilatticeInf α] [OrderTop α] (x y : α) : Limits.prod x
-- see Note [lower instance priority]
instance (priority := 100) [SemilatticeSup α] [OrderBot α] : HasBinaryCoproducts α :=
by
- have : ∀ x y : α, has_colimit (pair x y) :=
- by
- letI := hasFiniteColimits_of_hasFiniteColimits_of_size.{u} α
- infer_instance
+ have : ∀ x y : α, has_colimit (pair x y) := by
+ letI := hasFiniteColimits_of_hasFiniteColimits_of_size.{u} α; infer_instance
apply has_binary_coproducts_of_has_colimit_pair
/- warning: category_theory.limits.complete_lattice.coprod_eq_sup -> CategoryTheory.Limits.CompleteLattice.coprod_eq_sup is a dubious translation:
mathlib commit https://github.com/leanprover-community/mathlib/commit/0b9eaaa7686280fad8cce467f5c3c57ee6ce77f8
@@ -37,7 +37,12 @@ variable {α : Type u}
variable {J : Type w} [SmallCategory J] [FinCategory J]
-#print CategoryTheory.Limits.CompleteLattice.finiteLimitCone /-
+/- warning: category_theory.limits.complete_lattice.finite_limit_cone -> CategoryTheory.Limits.CompleteLattice.finiteLimitCone is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeInf.{u2} α] [_inst_4 : OrderTop.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))), CategoryTheory.Limits.LimitCone.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F
+but is expected to have type
+ forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeInf.{u2} α] [_inst_4 : OrderTop.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))), CategoryTheory.Limits.LimitCone.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_limit_cone CategoryTheory.Limits.CompleteLattice.finiteLimitConeₓ'. -/
/-- The limit cone over any functor from a finite diagram into a `semilattice_inf` with `order_top`.
-/
def finiteLimitCone [SemilatticeInf α] [OrderTop α] (F : J ⥤ α) : LimitCone F
@@ -47,9 +52,13 @@ def finiteLimitCone [SemilatticeInf α] [OrderTop α] (F : J ⥤ α) : LimitCone
π := { app := fun j => homOfLE (Finset.inf_le (Fintype.complete _)) } }
IsLimit := { lift := fun s => homOfLE (Finset.le_inf fun j _ => (s.π.app j).down.down) }
#align category_theory.limits.complete_lattice.finite_limit_cone CategoryTheory.Limits.CompleteLattice.finiteLimitCone
--/
-#print CategoryTheory.Limits.CompleteLattice.finiteColimitCocone /-
+/- warning: category_theory.limits.complete_lattice.finite_colimit_cocone -> CategoryTheory.Limits.CompleteLattice.finiteColimitCocone is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeSup.{u2} α] [_inst_4 : OrderBot.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))), CategoryTheory.Limits.ColimitCocone.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F
+but is expected to have type
+ forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeSup.{u2} α] [_inst_4 : OrderBot.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))), CategoryTheory.Limits.ColimitCocone.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_colimit_cocone CategoryTheory.Limits.CompleteLattice.finiteColimitCoconeₓ'. -/
/--
The colimit cocone over any functor from a finite diagram into a `semilattice_sup` with `order_bot`.
-/
@@ -60,27 +69,34 @@ def finiteColimitCocone [SemilatticeSup α] [OrderBot α] (F : J ⥤ α) : Colim
ι := { app := fun i => homOfLE (Finset.le_sup (Fintype.complete _)) } }
IsColimit := { desc := fun s => homOfLE (Finset.sup_le fun j _ => (s.ι.app j).down.down) }
#align category_theory.limits.complete_lattice.finite_colimit_cocone CategoryTheory.Limits.CompleteLattice.finiteColimitCocone
--/
-#print CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop /-
+/- warning: category_theory.limits.complete_lattice.has_finite_limits_of_semilattice_inf_order_top -> CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))], CategoryTheory.Limits.HasFiniteLimits.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))], CategoryTheory.Limits.HasFiniteLimits.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.has_finite_limits_of_semilattice_inf_order_top CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTopₓ'. -/
-- see Note [lower instance priority]
instance (priority := 100) hasFiniteLimits_of_semilatticeInf_orderTop [SemilatticeInf α]
[OrderTop α] : HasFiniteLimits α :=
⟨fun J 𝒥₁ 𝒥₂ => { HasLimit := fun F => has_limit.mk (finite_limit_cone F) }⟩
#align category_theory.limits.complete_lattice.has_finite_limits_of_semilattice_inf_order_top CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop
--/
-#print CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot /-
+/- warning: category_theory.limits.complete_lattice.has_finite_colimits_of_semilattice_sup_order_bot -> CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))], CategoryTheory.Limits.HasFiniteColimits.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))], CategoryTheory.Limits.HasFiniteColimits.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.has_finite_colimits_of_semilattice_sup_order_bot CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBotₓ'. -/
-- see Note [lower instance priority]
instance (priority := 100) hasFiniteColimits_of_semilatticeSup_orderBot [SemilatticeSup α]
[OrderBot α] : HasFiniteColimits α :=
⟨fun J 𝒥₁ 𝒥₂ => { HasColimit := fun F => has_colimit.mk (finite_colimit_cocone F) }⟩
#align category_theory.limits.complete_lattice.has_finite_colimits_of_semilattice_sup_order_bot CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot
--/
/- warning: category_theory.limits.complete_lattice.finite_limit_eq_finset_univ_inf -> CategoryTheory.Limits.CompleteLattice.finite_limit_eq_finset_univ_inf is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeInf.{u2} α] [_inst_4 : OrderTop.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.limit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u2} α _inst_3 _inst_4)) F)) (Finset.inf.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F))
+ forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeInf.{u2} α] [_inst_4 : OrderTop.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.limit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u2} α _inst_3 _inst_4)) F)) (Finset.inf.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F))
but is expected to have type
forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeInf.{u2} α] [_inst_4 : OrderTop.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.limit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u2} α _inst_3 _inst_4)) F)) (Finset.inf.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) α (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} α (CategoryTheory.Category.toCategoryStruct.{u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F)))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_limit_eq_finset_univ_inf CategoryTheory.Limits.CompleteLattice.finite_limit_eq_finset_univ_infₓ'. -/
@@ -94,7 +110,7 @@ theorem finite_limit_eq_finset_univ_inf [SemilatticeInf α] [OrderTop α] (F : J
/- warning: category_theory.limits.complete_lattice.finite_colimit_eq_finset_univ_sup -> CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_sup is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeSup.{u2} α] [_inst_4 : OrderBot.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.colimit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u2} α _inst_3 _inst_4)) F)) (Finset.sup.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F))
+ forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeSup.{u2} α] [_inst_4 : OrderBot.{u2} α (Preorder.toHasLe.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.colimit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u2} α _inst_3 _inst_4)) F)) (Finset.sup.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F))
but is expected to have type
forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeSup.{u2} α] [_inst_4 : OrderBot.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.colimit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u2} α _inst_3 _inst_4)) F)) (Finset.sup.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) α (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} α (CategoryTheory.Category.toCategoryStruct.{u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F)))
Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_colimit_eq_finset_univ_sup CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_supₓ'. -/
@@ -106,7 +122,12 @@ theorem finite_colimit_eq_finset_univ_sup [SemilatticeSup α] [OrderBot α] (F :
(IsColimit.coconePointUniqueUpToIso (colimit.isColimit F) (finiteColimitCocone F).IsColimit).to_eq
#align category_theory.limits.complete_lattice.finite_colimit_eq_finset_univ_sup CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_sup
-#print CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_inf /-
+/- warning: category_theory.limits.complete_lattice.finite_product_eq_finset_inf -> CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_inf is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] {ι : Type.{u1}} [_inst_5 : Fintype.{u1} ι] (f : ι -> α), Eq.{succ u1} α (CategoryTheory.Limits.piObj.{u1, u1, u1} ι α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) f (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.finCategoryDiscreteOfFintype.{u1} ι _inst_5) (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u1} α _inst_3 _inst_4)) (CategoryTheory.Discrete.functor.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) ι f))) (Finset.inf.{u1, u1} α ι _inst_3 _inst_4 (Fintype.elems.{u1} ι _inst_5) f)
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] {ι : Type.{u1}} [_inst_5 : Fintype.{u1} ι] (f : ι -> α), Eq.{succ u1} α (CategoryTheory.Limits.piObj.{u1, u1, u1} ι α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) f (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.finCategoryDiscreteOfFintype.{u1} ι _inst_5) (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u1} α _inst_3 _inst_4)) (CategoryTheory.Discrete.functor.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) ι f))) (Finset.inf.{u1, u1} α ι _inst_3 _inst_4 (Fintype.elems.{u1} ι _inst_5) f)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_product_eq_finset_inf CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_infₓ'. -/
/--
A finite product in the category of a `semilattice_inf` with `order_top` is the same as the infimum.
-/
@@ -121,9 +142,13 @@ theorem finite_product_eq_finset_inf [SemilatticeInf α] [OrderTop α] {ι : Typ
simp only [← Finset.inf_map, Finset.univ_map_equiv_to_embedding]
rfl
#align category_theory.limits.complete_lattice.finite_product_eq_finset_inf CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_inf
--/
-#print CategoryTheory.Limits.CompleteLattice.finite_coproduct_eq_finset_sup /-
+/- warning: category_theory.limits.complete_lattice.finite_coproduct_eq_finset_sup -> CategoryTheory.Limits.CompleteLattice.finite_coproduct_eq_finset_sup is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] {ι : Type.{u1}} [_inst_5 : Fintype.{u1} ι] (f : ι -> α), Eq.{succ u1} α (CategoryTheory.Limits.sigmaObj.{u1, u1, u1} ι α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) f (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.finCategoryDiscreteOfFintype.{u1} ι _inst_5) (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u1} α _inst_3 _inst_4)) (CategoryTheory.Discrete.functor.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) ι f))) (Finset.sup.{u1, u1} α ι _inst_3 _inst_4 (Fintype.elems.{u1} ι _inst_5) f)
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] {ι : Type.{u1}} [_inst_5 : Fintype.{u1} ι] (f : ι -> α), Eq.{succ u1} α (CategoryTheory.Limits.sigmaObj.{u1, u1, u1} ι α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) f (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{u1} ι) (CategoryTheory.discreteCategory.{u1} ι) (CategoryTheory.finCategoryDiscreteOfFintype.{u1} ι _inst_5) (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u1} α _inst_3 _inst_4)) (CategoryTheory.Discrete.functor.{u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) ι f))) (Finset.sup.{u1, u1} α ι _inst_3 _inst_4 (Fintype.elems.{u1} ι _inst_5) f)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_coproduct_eq_finset_sup CategoryTheory.Limits.CompleteLattice.finite_coproduct_eq_finset_supₓ'. -/
/-- A finite coproduct in the category of a `semilattice_sup` with `order_bot` is the same as the
supremum.
-/
@@ -138,7 +163,6 @@ theorem finite_coproduct_eq_finset_sup [SemilatticeSup α] [OrderBot α] {ι : T
simp only [← Finset.sup_map, Finset.univ_map_equiv_to_embedding]
rfl
#align category_theory.limits.complete_lattice.finite_coproduct_eq_finset_sup CategoryTheory.Limits.CompleteLattice.finite_coproduct_eq_finset_sup
--/
-- see Note [lower instance priority]
instance (priority := 100) [SemilatticeInf α] [OrderTop α] : HasBinaryProducts α :=
@@ -151,7 +175,7 @@ instance (priority := 100) [SemilatticeInf α] [OrderTop α] : HasBinaryProducts
/- warning: category_theory.limits.complete_lattice.prod_eq_inf -> CategoryTheory.Limits.CompleteLattice.prod_eq_inf is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.prod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.CategoryTheory.Limits.hasBinaryProducts.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y))) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α _inst_3) x y)
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.prod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.CategoryTheory.Limits.hasBinaryProducts.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y))) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α _inst_3) x y)
but is expected to have type
forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.prod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.instHasBinaryProductsSmallCategoryToPreorderToPartialOrder.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y))) (Inf.inf.{u1} α (SemilatticeInf.toInf.{u1} α _inst_3) x y)
Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.prod_eq_inf CategoryTheory.Limits.CompleteLattice.prod_eq_infₓ'. -/
@@ -182,7 +206,7 @@ instance (priority := 100) [SemilatticeSup α] [OrderBot α] : HasBinaryCoproduc
/- warning: category_theory.limits.complete_lattice.coprod_eq_sup -> CategoryTheory.Limits.CompleteLattice.coprod_eq_sup is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.coprod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.CategoryTheory.Limits.hasBinaryCoproducts.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y))) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α _inst_3) x y)
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.coprod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.CategoryTheory.Limits.hasBinaryCoproducts.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y))) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α _inst_3) x y)
but is expected to have type
forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.coprod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.instHasBinaryCoproductsSmallCategoryToPreorderToPartialOrder.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y))) (Sup.sup.{u1} α (SemilatticeSup.toSup.{u1} α _inst_3) x y)
Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.coprod_eq_sup CategoryTheory.Limits.CompleteLattice.coprod_eq_supₓ'. -/
@@ -204,7 +228,7 @@ theorem coprod_eq_sup [SemilatticeSup α] [OrderBot α] (x y : α) : Limits.copr
/- warning: category_theory.limits.complete_lattice.pullback_eq_inf -> CategoryTheory.Limits.CompleteLattice.pullback_eq_inf is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] {x : α} {y : α} {z : α} (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) x z) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) y z), Eq.{succ u1} α (CategoryTheory.Limits.pullback.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePullback.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.cospan.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g))) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α _inst_3) x y)
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] {x : α} {y : α} {z : α} (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) x z) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) y z), Eq.{succ u1} α (CategoryTheory.Limits.pullback.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePullback.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.cospan.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g))) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α _inst_3) x y)
but is expected to have type
forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] {x : α} {y : α} {z : α} (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) x z) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) y z), Eq.{succ u1} α (CategoryTheory.Limits.pullback.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePullback.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.cospan.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g))) (Inf.inf.{u1} α (SemilatticeInf.toInf.{u1} α _inst_3) x y)
Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.pullback_eq_inf CategoryTheory.Limits.CompleteLattice.pullback_eq_infₓ'. -/
@@ -225,7 +249,7 @@ theorem pullback_eq_inf [SemilatticeInf α] [OrderTop α] {x y z : α} (f : x
/- warning: category_theory.limits.complete_lattice.pushout_eq_sup -> CategoryTheory.Limits.CompleteLattice.pushout_eq_sup is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α) (z : α) (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z x) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z y), Eq.{succ u1} α (CategoryTheory.Limits.pushout.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePushout.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.span.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g))) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α _inst_3) x y)
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toHasLe.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α) (z : α) (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z x) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z y), Eq.{succ u1} α (CategoryTheory.Limits.pushout.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePushout.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.span.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g))) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α _inst_3) x y)
but is expected to have type
forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α) (z : α) (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z x) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z y), Eq.{succ u1} α (CategoryTheory.Limits.pushout.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePushout.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.span.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g))) (Sup.sup.{u1} α (SemilatticeSup.toSup.{u1} α _inst_3) x y)
Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.pushout_eq_sup CategoryTheory.Limits.CompleteLattice.pushout_eq_supₓ'. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -256,7 +256,7 @@ variable {J : Type u} [SmallCategory J]
def limitCone (F : J ⥤ α) : LimitCone F
where
Cone :=
- { pt := infᵢ F.obj
+ { pt := iInf F.obj
π := { app := fun j => homOfLE (CompleteLattice.inf_le _ _ (Set.mem_range_self _)) } }
IsLimit :=
{
@@ -271,7 +271,7 @@ def limitCone (F : J ⥤ α) : LimitCone F
def colimitCocone (F : J ⥤ α) : ColimitCocone F
where
Cocone :=
- { pt := supᵢ F.obj
+ { pt := iSup F.obj
ι := { app := fun j => homOfLE (CompleteLattice.le_sup _ _ (Set.mem_range_self _)) } }
IsColimit :=
{
@@ -296,29 +296,29 @@ instance (priority := 100) hasColimits_of_completeLattice : HasColimits α
#align category_theory.limits.complete_lattice.has_colimits_of_complete_lattice CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice
-/
-/- warning: category_theory.limits.complete_lattice.limit_eq_infi -> CategoryTheory.Limits.CompleteLattice.limit_eq_infᵢ is a dubious translation:
+/- warning: category_theory.limits.complete_lattice.limit_eq_infi -> CategoryTheory.Limits.CompleteLattice.limit_eq_iInf is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.limit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasLimits_of_completeLattice.{u1} α _inst_1)) F)) (infᵢ.{u1, succ u1} α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) J (CategoryTheory.Functor.obj.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F))
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.limit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasLimits_of_completeLattice.{u1} α _inst_1)) F)) (iInf.{u1, succ u1} α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) J (CategoryTheory.Functor.obj.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.limit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasLimits_of_completeLattice.{u1} α _inst_1)) F)) (infᵢ.{u1, succ u1} α (CompleteLattice.toInfSet.{u1} α _inst_1) J (Prefunctor.obj.{succ u1, succ u1, u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.limit_eq_infi CategoryTheory.Limits.CompleteLattice.limit_eq_infᵢₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.limit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasLimits_of_completeLattice.{u1} α _inst_1)) F)) (iInf.{u1, succ u1} α (CompleteLattice.toInfSet.{u1} α _inst_1) J (Prefunctor.obj.{succ u1, succ u1, u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.limit_eq_infi CategoryTheory.Limits.CompleteLattice.limit_eq_iInfₓ'. -/
/-- The limit of a functor into a complete lattice is the infimum of the objects in the image.
-/
-theorem limit_eq_infᵢ (F : J ⥤ α) : limit F = infᵢ F.obj :=
+theorem limit_eq_iInf (F : J ⥤ α) : limit F = iInf F.obj :=
(IsLimit.conePointUniqueUpToIso (limit.isLimit F) (limitCone F).IsLimit).to_eq
-#align category_theory.limits.complete_lattice.limit_eq_infi CategoryTheory.Limits.CompleteLattice.limit_eq_infᵢ
+#align category_theory.limits.complete_lattice.limit_eq_infi CategoryTheory.Limits.CompleteLattice.limit_eq_iInf
-/- warning: category_theory.limits.complete_lattice.colimit_eq_supr -> CategoryTheory.Limits.CompleteLattice.colimit_eq_supᵢ is a dubious translation:
+/- warning: category_theory.limits.complete_lattice.colimit_eq_supr -> CategoryTheory.Limits.CompleteLattice.colimit_eq_iSup is a dubious translation:
lean 3 declaration is
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.colimit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice.{u1} α _inst_1)) F)) (supᵢ.{u1, succ u1} α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) J (CategoryTheory.Functor.obj.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F))
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.colimit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice.{u1} α _inst_1)) F)) (iSup.{u1, succ u1} α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) J (CategoryTheory.Functor.obj.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F))
but is expected to have type
- forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.colimit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice.{u1} α _inst_1)) F)) (supᵢ.{u1, succ u1} α (CompleteLattice.toSupSet.{u1} α _inst_1) J (Prefunctor.obj.{succ u1, succ u1, u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F)))
-Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.colimit_eq_supr CategoryTheory.Limits.CompleteLattice.colimit_eq_supᵢₓ'. -/
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.colimit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice.{u1} α _inst_1)) F)) (iSup.{u1, succ u1} α (CompleteLattice.toSupSet.{u1} α _inst_1) J (Prefunctor.obj.{succ u1, succ u1, u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.colimit_eq_supr CategoryTheory.Limits.CompleteLattice.colimit_eq_iSupₓ'. -/
/-- The colimit of a functor into a complete lattice is the supremum of the objects in the image.
-/
-theorem colimit_eq_supᵢ (F : J ⥤ α) : colimit F = supᵢ F.obj :=
+theorem colimit_eq_iSup (F : J ⥤ α) : colimit F = iSup F.obj :=
(IsColimit.coconePointUniqueUpToIso (colimit.isColimit F) (colimitCocone F).IsColimit).to_eq
-#align category_theory.limits.complete_lattice.colimit_eq_supr CategoryTheory.Limits.CompleteLattice.colimit_eq_supᵢ
+#align category_theory.limits.complete_lattice.colimit_eq_supr CategoryTheory.Limits.CompleteLattice.colimit_eq_iSup
end CategoryTheory.Limits.CompleteLattice
mathlib commit https://github.com/leanprover-community/mathlib/commit/2196ab363eb097c008d4497125e0dde23fb36db2
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, Justus Springer
! This file was ported from Lean 3 source module category_theory.limits.lattice
-! leanprover-community/mathlib commit c3019c79074b0619edb4b27553a91b2e82242395
+! leanprover-community/mathlib commit 69c6a5a12d8a2b159f20933e60115a4f2de62b58
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -17,6 +17,9 @@ import Mathbin.CategoryTheory.Limits.Shapes.FiniteLimits
/-!
# Limits in lattice categories are given by infimums and supremums.
+
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/3180fab693e2cee3bff62675571264cb8778b212
@@ -34,6 +34,7 @@ variable {α : Type u}
variable {J : Type w} [SmallCategory J] [FinCategory J]
+#print CategoryTheory.Limits.CompleteLattice.finiteLimitCone /-
/-- The limit cone over any functor from a finite diagram into a `semilattice_inf` with `order_top`.
-/
def finiteLimitCone [SemilatticeInf α] [OrderTop α] (F : J ⥤ α) : LimitCone F
@@ -43,7 +44,9 @@ def finiteLimitCone [SemilatticeInf α] [OrderTop α] (F : J ⥤ α) : LimitCone
π := { app := fun j => homOfLE (Finset.inf_le (Fintype.complete _)) } }
IsLimit := { lift := fun s => homOfLE (Finset.le_inf fun j _ => (s.π.app j).down.down) }
#align category_theory.limits.complete_lattice.finite_limit_cone CategoryTheory.Limits.CompleteLattice.finiteLimitCone
+-/
+#print CategoryTheory.Limits.CompleteLattice.finiteColimitCocone /-
/--
The colimit cocone over any functor from a finite diagram into a `semilattice_sup` with `order_bot`.
-/
@@ -54,19 +57,30 @@ def finiteColimitCocone [SemilatticeSup α] [OrderBot α] (F : J ⥤ α) : Colim
ι := { app := fun i => homOfLE (Finset.le_sup (Fintype.complete _)) } }
IsColimit := { desc := fun s => homOfLE (Finset.sup_le fun j _ => (s.ι.app j).down.down) }
#align category_theory.limits.complete_lattice.finite_colimit_cocone CategoryTheory.Limits.CompleteLattice.finiteColimitCocone
+-/
+#print CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop /-
-- see Note [lower instance priority]
instance (priority := 100) hasFiniteLimits_of_semilatticeInf_orderTop [SemilatticeInf α]
[OrderTop α] : HasFiniteLimits α :=
⟨fun J 𝒥₁ 𝒥₂ => { HasLimit := fun F => has_limit.mk (finite_limit_cone F) }⟩
#align category_theory.limits.complete_lattice.has_finite_limits_of_semilattice_inf_order_top CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop
+-/
+#print CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot /-
-- see Note [lower instance priority]
instance (priority := 100) hasFiniteColimits_of_semilatticeSup_orderBot [SemilatticeSup α]
[OrderBot α] : HasFiniteColimits α :=
⟨fun J 𝒥₁ 𝒥₂ => { HasColimit := fun F => has_colimit.mk (finite_colimit_cocone F) }⟩
#align category_theory.limits.complete_lattice.has_finite_colimits_of_semilattice_sup_order_bot CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot
+-/
+/- warning: category_theory.limits.complete_lattice.finite_limit_eq_finset_univ_inf -> CategoryTheory.Limits.CompleteLattice.finite_limit_eq_finset_univ_inf is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeInf.{u2} α] [_inst_4 : OrderTop.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.limit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u2} α _inst_3 _inst_4)) F)) (Finset.inf.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F))
+but is expected to have type
+ forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeInf.{u2} α] [_inst_4 : OrderTop.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.limit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u2} α _inst_3 _inst_4)) F)) (Finset.inf.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) α (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} α (CategoryTheory.Category.toCategoryStruct.{u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeInf.toPartialOrder.{u2} α _inst_3))) F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_limit_eq_finset_univ_inf CategoryTheory.Limits.CompleteLattice.finite_limit_eq_finset_univ_infₓ'. -/
/-- The limit of a functor from a finite diagram into a `semilattice_inf` with `order_top` is the
infimum of the objects in the image.
-/
@@ -75,6 +89,12 @@ theorem finite_limit_eq_finset_univ_inf [SemilatticeInf α] [OrderTop α] (F : J
(IsLimit.conePointUniqueUpToIso (limit.isLimit F) (finiteLimitCone F).IsLimit).to_eq
#align category_theory.limits.complete_lattice.finite_limit_eq_finset_univ_inf CategoryTheory.Limits.CompleteLattice.finite_limit_eq_finset_univ_inf
+/- warning: category_theory.limits.complete_lattice.finite_colimit_eq_finset_univ_sup -> CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_sup is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeSup.{u2} α] [_inst_4 : OrderBot.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.colimit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u2} α _inst_3 _inst_4)) F)) (Finset.sup.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (CategoryTheory.Functor.obj.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F))
+but is expected to have type
+ forall {α : Type.{u2}} {J : Type.{u1}} [_inst_1 : CategoryTheory.SmallCategory.{u1} J] [_inst_2 : CategoryTheory.FinCategory.{u1} J _inst_1] [_inst_3 : SemilatticeSup.{u2} α] [_inst_4 : OrderBot.{u2} α (Preorder.toLE.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))] (F : CategoryTheory.Functor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3)))), Eq.{succ u2} α (CategoryTheory.Limits.colimit.{u1, u1, u2, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{u1, u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) J _inst_1 _inst_2 (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u2} α _inst_3 _inst_4)) F)) (Finset.sup.{u2, u1} α J _inst_3 _inst_4 (Finset.univ.{u1} J (CategoryTheory.FinCategory.fintypeObj.{u1} J _inst_1 _inst_2)) (Prefunctor.obj.{succ u1, succ u2, u1, u2} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_1)) α (CategoryTheory.CategoryStruct.toQuiver.{u2, u2} α (CategoryTheory.Category.toCategoryStruct.{u2, u2} α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))))) (CategoryTheory.Functor.toPrefunctor.{u1, u2, u1, u2} J _inst_1 α (Preorder.smallCategory.{u2} α (PartialOrder.toPreorder.{u2} α (SemilatticeSup.toPartialOrder.{u2} α _inst_3))) F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.finite_colimit_eq_finset_univ_sup CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_supₓ'. -/
/-- The colimit of a functor from a finite diagram into a `semilattice_sup` with `order_bot`
is the supremum of the objects in the image.
-/
@@ -83,6 +103,7 @@ theorem finite_colimit_eq_finset_univ_sup [SemilatticeSup α] [OrderBot α] (F :
(IsColimit.coconePointUniqueUpToIso (colimit.isColimit F) (finiteColimitCocone F).IsColimit).to_eq
#align category_theory.limits.complete_lattice.finite_colimit_eq_finset_univ_sup CategoryTheory.Limits.CompleteLattice.finite_colimit_eq_finset_univ_sup
+#print CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_inf /-
/--
A finite product in the category of a `semilattice_inf` with `order_top` is the same as the infimum.
-/
@@ -97,7 +118,9 @@ theorem finite_product_eq_finset_inf [SemilatticeInf α] [OrderTop α] {ι : Typ
simp only [← Finset.inf_map, Finset.univ_map_equiv_to_embedding]
rfl
#align category_theory.limits.complete_lattice.finite_product_eq_finset_inf CategoryTheory.Limits.CompleteLattice.finite_product_eq_finset_inf
+-/
+#print CategoryTheory.Limits.CompleteLattice.finite_coproduct_eq_finset_sup /-
/-- A finite coproduct in the category of a `semilattice_sup` with `order_bot` is the same as the
supremum.
-/
@@ -112,6 +135,7 @@ theorem finite_coproduct_eq_finset_sup [SemilatticeSup α] [OrderBot α] {ι : T
simp only [← Finset.sup_map, Finset.univ_map_equiv_to_embedding]
rfl
#align category_theory.limits.complete_lattice.finite_coproduct_eq_finset_sup CategoryTheory.Limits.CompleteLattice.finite_coproduct_eq_finset_sup
+-/
-- see Note [lower instance priority]
instance (priority := 100) [SemilatticeInf α] [OrderTop α] : HasBinaryProducts α :=
@@ -122,6 +146,12 @@ instance (priority := 100) [SemilatticeInf α] [OrderTop α] : HasBinaryProducts
infer_instance
apply has_binary_products_of_has_limit_pair
+/- warning: category_theory.limits.complete_lattice.prod_eq_inf -> CategoryTheory.Limits.CompleteLattice.prod_eq_inf is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.prod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.CategoryTheory.Limits.hasBinaryProducts.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y))) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α _inst_3) x y)
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.prod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.instHasBinaryProductsSmallCategoryToPreorderToPartialOrder.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y))) (Inf.inf.{u1} α (SemilatticeInf.toInf.{u1} α _inst_3) x y)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.prod_eq_inf CategoryTheory.Limits.CompleteLattice.prod_eq_infₓ'. -/
/-- The binary product in the category of a `semilattice_inf` with `order_top` is the same as the
infimum.
-/
@@ -147,6 +177,12 @@ instance (priority := 100) [SemilatticeSup α] [OrderBot α] : HasBinaryCoproduc
infer_instance
apply has_binary_coproducts_of_has_colimit_pair
+/- warning: category_theory.limits.complete_lattice.coprod_eq_sup -> CategoryTheory.Limits.CompleteLattice.coprod_eq_sup is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.coprod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.CategoryTheory.Limits.hasBinaryCoproducts.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y))) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α _inst_3) x y)
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α), Eq.{succ u1} α (CategoryTheory.Limits.coprod.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.CompleteLattice.instHasBinaryCoproductsSmallCategoryToPreorderToPartialOrder.{u1} α _inst_3 _inst_4) (CategoryTheory.Limits.pair.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) x y))) (Sup.sup.{u1} α (SemilatticeSup.toSup.{u1} α _inst_3) x y)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.coprod_eq_sup CategoryTheory.Limits.CompleteLattice.coprod_eq_supₓ'. -/
/-- The binary coproduct in the category of a `semilattice_sup` with `order_bot` is the same as the
supremum.
-/
@@ -163,6 +199,12 @@ theorem coprod_eq_sup [SemilatticeSup α] [OrderBot α] (x y : α) : Limits.copr
#align category_theory.limits.complete_lattice.coprod_eq_sup CategoryTheory.Limits.CompleteLattice.coprod_eq_sup
+/- warning: category_theory.limits.complete_lattice.pullback_eq_inf -> CategoryTheory.Limits.CompleteLattice.pullback_eq_inf is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] {x : α} {y : α} {z : α} (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) x z) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) y z), Eq.{succ u1} α (CategoryTheory.Limits.pullback.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePullback.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.cospan.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g))) (Inf.inf.{u1} α (SemilatticeInf.toHasInf.{u1} α _inst_3) x y)
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeInf.{u1} α] [_inst_4 : OrderTop.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3)))] {x : α} {y : α} {z : α} (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) x z) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))))) y z), Eq.{succ u1} α (CategoryTheory.Limits.pullback.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasLimitsOfShape_of_hasFiniteLimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingCospan (CategoryTheory.Limits.WidePullbackShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePullback.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.cospan.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeInf.toPartialOrder.{u1} α _inst_3))) x y z f g))) (Inf.inf.{u1} α (SemilatticeInf.toInf.{u1} α _inst_3) x y)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.pullback_eq_inf CategoryTheory.Limits.CompleteLattice.pullback_eq_infₓ'. -/
/-- The pullback in the category of a `semilattice_inf` with `order_top` is the same as the infimum
over the objects.
-/
@@ -178,6 +220,12 @@ theorem pullback_eq_inf [SemilatticeInf α] [OrderTop α] {x y z : α} (f : x
#align category_theory.limits.complete_lattice.pullback_eq_inf CategoryTheory.Limits.CompleteLattice.pullback_eq_inf
+/- warning: category_theory.limits.complete_lattice.pushout_eq_sup -> CategoryTheory.Limits.CompleteLattice.pushout_eq_sup is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α) (z : α) (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z x) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z y), Eq.{succ u1} α (CategoryTheory.Limits.pushout.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePushout.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.span.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g))) (Sup.sup.{u1} α (SemilatticeSup.toHasSup.{u1} α _inst_3) x y)
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_3 : SemilatticeSup.{u1} α] [_inst_4 : OrderBot.{u1} α (Preorder.toLE.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3)))] (x : α) (y : α) (z : α) (f : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z x) (g : Quiver.Hom.{succ u1, u1} α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))))) z y), Eq.{succ u1} α (CategoryTheory.Limits.pushout.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{0, 0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.hasColimitsOfShape_of_hasFiniteColimits.{0, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) CategoryTheory.Limits.WalkingSpan (CategoryTheory.Limits.WidePushoutShape.category.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.Limits.finCategoryWidePushout.{0} CategoryTheory.Limits.WalkingPair CategoryTheory.Limits.fintypeWalkingPair) (CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot.{u1} α _inst_3 _inst_4)) (CategoryTheory.Limits.span.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (SemilatticeSup.toPartialOrder.{u1} α _inst_3))) z x y f g))) (Sup.sup.{u1} α (SemilatticeSup.toSup.{u1} α _inst_3) x y)
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.pushout_eq_sup CategoryTheory.Limits.CompleteLattice.pushout_eq_supₓ'. -/
/-- The pushout in the category of a `semilattice_sup` with `order_bot` is the same as the supremum
over the objects.
-/
@@ -199,6 +247,7 @@ variable {α : Type u} [CompleteLattice α]
variable {J : Type u} [SmallCategory J]
+#print CategoryTheory.Limits.CompleteLattice.limitCone /-
/-- The limit cone over any functor into a complete lattice.
-/
def limitCone (F : J ⥤ α) : LimitCone F
@@ -211,7 +260,9 @@ def limitCone (F : J ⥤ α) : LimitCone F
lift := fun s =>
homOfLE (CompleteLattice.le_inf _ _ (by rintro _ ⟨j, rfl⟩; exact (s.π.app j).le)) }
#align category_theory.limits.complete_lattice.limit_cone CategoryTheory.Limits.CompleteLattice.limitCone
+-/
+#print CategoryTheory.Limits.CompleteLattice.colimitCocone /-
/-- The colimit cocone over any functor into a complete lattice.
-/
def colimitCocone (F : J ⥤ α) : ColimitCocone F
@@ -224,25 +275,42 @@ def colimitCocone (F : J ⥤ α) : ColimitCocone F
desc := fun s =>
homOfLE (CompleteLattice.sup_le _ _ (by rintro _ ⟨j, rfl⟩; exact (s.ι.app j).le)) }
#align category_theory.limits.complete_lattice.colimit_cocone CategoryTheory.Limits.CompleteLattice.colimitCocone
+-/
+#print CategoryTheory.Limits.CompleteLattice.hasLimits_of_completeLattice /-
-- It would be nice to only use the `Inf` half of the complete lattice, but
-- this seems not to have been described separately.
-- see Note [lower instance priority]
instance (priority := 100) hasLimits_of_completeLattice : HasLimits α
where HasLimitsOfShape J 𝒥 := { HasLimit := fun F => has_limit.mk (limit_cone F) }
#align category_theory.limits.complete_lattice.has_limits_of_complete_lattice CategoryTheory.Limits.CompleteLattice.hasLimits_of_completeLattice
+-/
+#print CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice /-
-- see Note [lower instance priority]
instance (priority := 100) hasColimits_of_completeLattice : HasColimits α
where HasColimitsOfShape J 𝒥 := { HasColimit := fun F => has_colimit.mk (colimit_cocone F) }
#align category_theory.limits.complete_lattice.has_colimits_of_complete_lattice CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice
+-/
+/- warning: category_theory.limits.complete_lattice.limit_eq_infi -> CategoryTheory.Limits.CompleteLattice.limit_eq_infᵢ is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.limit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasLimits_of_completeLattice.{u1} α _inst_1)) F)) (infᵢ.{u1, succ u1} α (CompleteSemilatticeInf.toHasInf.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)) J (CategoryTheory.Functor.obj.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F))
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.limit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasLimitOfHasLimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasLimitsOfShapeOfHasLimits.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasLimits_of_completeLattice.{u1} α _inst_1)) F)) (infᵢ.{u1, succ u1} α (CompleteLattice.toInfSet.{u1} α _inst_1) J (Prefunctor.obj.{succ u1, succ u1, u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.limit_eq_infi CategoryTheory.Limits.CompleteLattice.limit_eq_infᵢₓ'. -/
/-- The limit of a functor into a complete lattice is the infimum of the objects in the image.
-/
theorem limit_eq_infᵢ (F : J ⥤ α) : limit F = infᵢ F.obj :=
(IsLimit.conePointUniqueUpToIso (limit.isLimit F) (limitCone F).IsLimit).to_eq
#align category_theory.limits.complete_lattice.limit_eq_infi CategoryTheory.Limits.CompleteLattice.limit_eq_infᵢ
+/- warning: category_theory.limits.complete_lattice.colimit_eq_supr -> CategoryTheory.Limits.CompleteLattice.colimit_eq_supᵢ is a dubious translation:
+lean 3 declaration is
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.colimit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice.{u1} α _inst_1)) F)) (supᵢ.{u1, succ u1} α (CompleteSemilatticeSup.toHasSup.{u1} α (CompleteLattice.toCompleteSemilatticeSup.{u1} α _inst_1)) J (CategoryTheory.Functor.obj.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F))
+but is expected to have type
+ forall {α : Type.{u1}} [_inst_1 : CompleteLattice.{u1} α] {J : Type.{u1}} [_inst_2 : CategoryTheory.SmallCategory.{u1} J] (F : CategoryTheory.Functor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1))))), Eq.{succ u1} α (CategoryTheory.Limits.colimit.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F (CategoryTheory.Limits.hasColimitOfHasColimitsOfShape.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.hasColimitsOfShapeOfHasColimitsOfSize.{u1, u1, u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) J _inst_2 (CategoryTheory.Limits.CompleteLattice.hasColimits_of_completeLattice.{u1} α _inst_1)) F)) (supᵢ.{u1, succ u1} α (CompleteLattice.toSupSet.{u1} α _inst_1) J (Prefunctor.obj.{succ u1, succ u1, u1, u1} J (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} J (CategoryTheory.Category.toCategoryStruct.{u1, u1} J _inst_2)) α (CategoryTheory.CategoryStruct.toQuiver.{u1, u1} α (CategoryTheory.Category.toCategoryStruct.{u1, u1} α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))))) (CategoryTheory.Functor.toPrefunctor.{u1, u1, u1, u1} J _inst_2 α (Preorder.smallCategory.{u1} α (PartialOrder.toPreorder.{u1} α (CompleteSemilatticeInf.toPartialOrder.{u1} α (CompleteLattice.toCompleteSemilatticeInf.{u1} α _inst_1)))) F)))
+Case conversion may be inaccurate. Consider using '#align category_theory.limits.complete_lattice.colimit_eq_supr CategoryTheory.Limits.CompleteLattice.colimit_eq_supᵢₓ'. -/
/-- The colimit of a functor into a complete lattice is the supremum of the objects in the image.
-/
theorem colimit_eq_supᵢ (F : J ⥤ α) : colimit F = supᵢ F.obj :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/9da1b3534b65d9661eb8f42443598a92bbb49211
@@ -39,7 +39,7 @@ variable {J : Type w} [SmallCategory J] [FinCategory J]
def finiteLimitCone [SemilatticeInf α] [OrderTop α] (F : J ⥤ α) : LimitCone F
where
Cone :=
- { x := Finset.univ.inf F.obj
+ { pt := Finset.univ.inf F.obj
π := { app := fun j => homOfLE (Finset.inf_le (Fintype.complete _)) } }
IsLimit := { lift := fun s => homOfLE (Finset.le_inf fun j _ => (s.π.app j).down.down) }
#align category_theory.limits.complete_lattice.finite_limit_cone CategoryTheory.Limits.CompleteLattice.finiteLimitCone
@@ -50,7 +50,7 @@ The colimit cocone over any functor from a finite diagram into a `semilattice_su
def finiteColimitCocone [SemilatticeSup α] [OrderBot α] (F : J ⥤ α) : ColimitCocone F
where
Cocone :=
- { x := Finset.univ.sup F.obj
+ { pt := Finset.univ.sup F.obj
ι := { app := fun i => homOfLE (Finset.le_sup (Fintype.complete _)) } }
IsColimit := { desc := fun s => homOfLE (Finset.sup_le fun j _ => (s.ι.app j).down.down) }
#align category_theory.limits.complete_lattice.finite_colimit_cocone CategoryTheory.Limits.CompleteLattice.finiteColimitCocone
@@ -204,7 +204,7 @@ variable {J : Type u} [SmallCategory J]
def limitCone (F : J ⥤ α) : LimitCone F
where
Cone :=
- { x := infᵢ F.obj
+ { pt := infᵢ F.obj
π := { app := fun j => homOfLE (CompleteLattice.inf_le _ _ (Set.mem_range_self _)) } }
IsLimit :=
{
@@ -217,7 +217,7 @@ def limitCone (F : J ⥤ α) : LimitCone F
def colimitCocone (F : J ⥤ α) : ColimitCocone F
where
Cocone :=
- { x := supᵢ F.obj
+ { pt := supᵢ F.obj
ι := { app := fun j => homOfLE (CompleteLattice.le_sup _ _ (Set.mem_range_self _)) } }
IsColimit :=
{
mathlib commit https://github.com/leanprover-community/mathlib/commit/eb0cb4511aaef0da2462207b67358a0e1fe1e2ee
@@ -56,16 +56,16 @@ def finiteColimitCocone [SemilatticeSup α] [OrderBot α] (F : J ⥤ α) : Colim
#align category_theory.limits.complete_lattice.finite_colimit_cocone CategoryTheory.Limits.CompleteLattice.finiteColimitCocone
-- see Note [lower instance priority]
-instance (priority := 100) hasFiniteLimitsOfSemilatticeInfOrderTop [SemilatticeInf α] [OrderTop α] :
- HasFiniteLimits α :=
+instance (priority := 100) hasFiniteLimits_of_semilatticeInf_orderTop [SemilatticeInf α]
+ [OrderTop α] : HasFiniteLimits α :=
⟨fun J 𝒥₁ 𝒥₂ => { HasLimit := fun F => has_limit.mk (finite_limit_cone F) }⟩
-#align category_theory.limits.complete_lattice.has_finite_limits_of_semilattice_inf_order_top CategoryTheory.Limits.CompleteLattice.hasFiniteLimitsOfSemilatticeInfOrderTop
+#align category_theory.limits.complete_lattice.has_finite_limits_of_semilattice_inf_order_top CategoryTheory.Limits.CompleteLattice.hasFiniteLimits_of_semilatticeInf_orderTop
-- see Note [lower instance priority]
-instance (priority := 100) hasFiniteColimitsOfSemilatticeSupOrderBot [SemilatticeSup α]
+instance (priority := 100) hasFiniteColimits_of_semilatticeSup_orderBot [SemilatticeSup α]
[OrderBot α] : HasFiniteColimits α :=
⟨fun J 𝒥₁ 𝒥₂ => { HasColimit := fun F => has_colimit.mk (finite_colimit_cocone F) }⟩
-#align category_theory.limits.complete_lattice.has_finite_colimits_of_semilattice_sup_order_bot CategoryTheory.Limits.CompleteLattice.hasFiniteColimitsOfSemilatticeSupOrderBot
+#align category_theory.limits.complete_lattice.has_finite_colimits_of_semilattice_sup_order_bot CategoryTheory.Limits.CompleteLattice.hasFiniteColimits_of_semilatticeSup_orderBot
/-- The limit of a functor from a finite diagram into a `semilattice_inf` with `order_top` is the
infimum of the objects in the image.
@@ -118,7 +118,7 @@ instance (priority := 100) [SemilatticeInf α] [OrderTop α] : HasBinaryProducts
by
have : ∀ x y : α, has_limit (pair x y) :=
by
- letI := hasFiniteLimitsOfHasFiniteLimitsOfSize.{u} α
+ letI := hasFiniteLimits_of_hasFiniteLimits_of_size.{u} α
infer_instance
apply has_binary_products_of_has_limit_pair
@@ -143,7 +143,7 @@ instance (priority := 100) [SemilatticeSup α] [OrderBot α] : HasBinaryCoproduc
by
have : ∀ x y : α, has_colimit (pair x y) :=
by
- letI := hasFiniteColimitsOfHasFiniteColimitsOfSize.{u} α
+ letI := hasFiniteColimits_of_hasFiniteColimits_of_size.{u} α
infer_instance
apply has_binary_coproducts_of_has_colimit_pair
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -85,9 +85,9 @@ A finite product in the category of a `SemilatticeInf` with `OrderTop` is the sa
theorem finite_product_eq_finset_inf [SemilatticeInf α] [OrderTop α] {ι : Type u} [Fintype ι]
(f : ι → α) : ∏ f = Fintype.elems.inf f := by
trans
- exact
- (IsLimit.conePointUniqueUpToIso (limit.isLimit _)
- (finiteLimitCone (Discrete.functor f)).isLimit).to_eq
+ · exact
+ (IsLimit.conePointUniqueUpToIso (limit.isLimit _)
+ (finiteLimitCone (Discrete.functor f)).isLimit).to_eq
change Finset.univ.inf (f ∘ discreteEquiv.toEmbedding) = Fintype.elems.inf f
simp only [← Finset.inf_map, Finset.univ_map_equiv_to_embedding]
rfl
@@ -99,9 +99,9 @@ supremum.
theorem finite_coproduct_eq_finset_sup [SemilatticeSup α] [OrderBot α] {ι : Type u} [Fintype ι]
(f : ι → α) : ∐ f = Fintype.elems.sup f := by
trans
- exact
- (IsColimit.coconePointUniqueUpToIso (colimit.isColimit _)
- (finiteColimitCocone (Discrete.functor f)).isColimit).to_eq
+ · exact
+ (IsColimit.coconePointUniqueUpToIso (colimit.isColimit _)
+ (finiteColimitCocone (Discrete.functor f)).isColimit).to_eq
change Finset.univ.sup (f ∘ discreteEquiv.toEmbedding) = Fintype.elems.sup f
simp only [← Finset.sup_map, Finset.univ_map_equiv_to_embedding]
rfl
Empty lines were removed by executing the following Python script twice
import os
import re
# Loop through each file in the repository
for dir_path, dirs, files in os.walk('.'):
for filename in files:
if filename.endswith('.lean'):
file_path = os.path.join(dir_path, filename)
# Open the file and read its contents
with open(file_path, 'r') as file:
content = file.read()
# Use a regular expression to replace sequences of "variable" lines separated by empty lines
# with sequences without empty lines
modified_content = re.sub(r'(variable.*\n)\n(variable(?! .* in))', r'\1\2', content)
# Write the modified content back to the file
with open(file_path, 'w') as file:
file.write(modified_content)
@@ -28,7 +28,6 @@ namespace CategoryTheory.Limits.CompleteLattice
section Semilattice
variable {α : Type u}
-
variable {J : Type w} [SmallCategory J] [FinCategory J]
/-- The limit cone over any functor from a finite diagram into a `SemilatticeInf` with `OrderTop`.
@@ -179,7 +178,6 @@ theorem pushout_eq_sup [SemilatticeSup α] [OrderBot α] (x y z : α) (f : z ⟶
end Semilattice
variable {α : Type u} [CompleteLattice α]
-
variable {J : Type u} [SmallCategory J]
/-- The limit cone over any functor into a complete lattice.
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, Justus Springer
-/
import Mathlib.Order.CompleteLattice
-import Mathlib.Data.Fintype.Lattice
+import Mathlib.Data.Finset.Lattice
import Mathlib.CategoryTheory.Limits.Shapes.Pullbacks
import Mathlib.CategoryTheory.Category.Preorder
import Mathlib.CategoryTheory.Limits.Shapes.Products
@@ -2,11 +2,6 @@
Copyright (c) 2019 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison, Justus Springer
-
-! This file was ported from Lean 3 source module category_theory.limits.lattice
-! leanprover-community/mathlib commit c3019c79074b0619edb4b27553a91b2e82242395
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Order.CompleteLattice
import Mathlib.Data.Fintype.Lattice
@@ -15,6 +10,8 @@ import Mathlib.CategoryTheory.Category.Preorder
import Mathlib.CategoryTheory.Limits.Shapes.Products
import Mathlib.CategoryTheory.Limits.Shapes.FiniteLimits
+#align_import category_theory.limits.lattice from "leanprover-community/mathlib"@"c3019c79074b0619edb4b27553a91b2e82242395"
+
/-!
# Limits in lattice categories are given by infimums and supremums.
-/
@@ -87,7 +87,7 @@ theorem finite_colimit_eq_finset_univ_sup [SemilatticeSup α] [OrderBot α] (F :
A finite product in the category of a `SemilatticeInf` with `OrderTop` is the same as the infimum.
-/
theorem finite_product_eq_finset_inf [SemilatticeInf α] [OrderTop α] {ι : Type u} [Fintype ι]
- (f : ι → α) : (∏ f) = Fintype.elems.inf f := by
+ (f : ι → α) : ∏ f = Fintype.elems.inf f := by
trans
exact
(IsLimit.conePointUniqueUpToIso (limit.isLimit _)
@@ -101,7 +101,7 @@ theorem finite_product_eq_finset_inf [SemilatticeInf α] [OrderTop α] {ι : Typ
supremum.
-/
theorem finite_coproduct_eq_finset_sup [SemilatticeSup α] [OrderBot α] {ι : Type u} [Fintype ι]
- (f : ι → α) : (∐ f) = Fintype.elems.sup f := by
+ (f : ι → α) : ∐ f = Fintype.elems.sup f := by
trans
exact
(IsColimit.coconePointUniqueUpToIso (colimit.isColimit _)
sSup
/iSup
(#3938)
As discussed on Zulip
supₛ
→ sSup
infₛ
→ sInf
supᵢ
→ iSup
infᵢ
→ iInf
bsupₛ
→ bsSup
binfₛ
→ bsInf
bsupᵢ
→ biSup
binfᵢ
→ biInf
csupₛ
→ csSup
cinfₛ
→ csInf
csupᵢ
→ ciSup
cinfᵢ
→ ciInf
unionₛ
→ sUnion
interₛ
→ sInter
unionᵢ
→ iUnion
interᵢ
→ iInter
bunionₛ
→ bsUnion
binterₛ
→ bsInter
bunionᵢ
→ biUnion
binterᵢ
→ biInter
Co-authored-by: Parcly Taxel <reddeloostw@gmail.com>
@@ -189,22 +189,22 @@ variable {J : Type u} [SmallCategory J]
-/
def limitCone (F : J ⥤ α) : LimitCone F where
cone :=
- { pt := infᵢ F.obj
- π := { app := fun j => homOfLE (CompleteLattice.infₛ_le _ _ (Set.mem_range_self _)) } }
+ { pt := iInf F.obj
+ π := { app := fun j => homOfLE (CompleteLattice.sInf_le _ _ (Set.mem_range_self _)) } }
isLimit :=
{ lift := fun s =>
- homOfLE (CompleteLattice.le_infₛ _ _ (by rintro _ ⟨j, rfl⟩; exact (s.π.app j).le)) }
+ homOfLE (CompleteLattice.le_sInf _ _ (by rintro _ ⟨j, rfl⟩; exact (s.π.app j).le)) }
#align category_theory.limits.complete_lattice.limit_cone CategoryTheory.Limits.CompleteLattice.limitCone
/-- The colimit cocone over any functor into a complete lattice.
-/
def colimitCocone (F : J ⥤ α) : ColimitCocone F where
cocone :=
- { pt := supᵢ F.obj
- ι := { app := fun j => homOfLE (CompleteLattice.le_supₛ _ _ (Set.mem_range_self _)) } }
+ { pt := iSup F.obj
+ ι := { app := fun j => homOfLE (CompleteLattice.le_sSup _ _ (Set.mem_range_self _)) } }
isColimit :=
{ desc := fun s =>
- homOfLE (CompleteLattice.supₛ_le _ _ (by rintro _ ⟨j, rfl⟩; exact (s.ι.app j).le)) }
+ homOfLE (CompleteLattice.sSup_le _ _ (by rintro _ ⟨j, rfl⟩; exact (s.ι.app j).le)) }
#align category_theory.limits.complete_lattice.colimit_cocone CategoryTheory.Limits.CompleteLattice.colimitCocone
-- It would be nice to only use the `Inf` half of the complete lattice, but
@@ -221,14 +221,14 @@ instance (priority := 100) hasColimits_of_completeLattice : HasColimits α where
/-- The limit of a functor into a complete lattice is the infimum of the objects in the image.
-/
-theorem limit_eq_infᵢ (F : J ⥤ α) : limit F = infᵢ F.obj :=
+theorem limit_eq_iInf (F : J ⥤ α) : limit F = iInf F.obj :=
(IsLimit.conePointUniqueUpToIso (limit.isLimit F) (limitCone F).isLimit).to_eq
-#align category_theory.limits.complete_lattice.limit_eq_infi CategoryTheory.Limits.CompleteLattice.limit_eq_infᵢ
+#align category_theory.limits.complete_lattice.limit_eq_infi CategoryTheory.Limits.CompleteLattice.limit_eq_iInf
/-- The colimit of a functor into a complete lattice is the supremum of the objects in the image.
-/
-theorem colimit_eq_supᵢ (F : J ⥤ α) : colimit F = supᵢ F.obj :=
+theorem colimit_eq_iSup (F : J ⥤ α) : colimit F = iSup F.obj :=
(IsColimit.coconePointUniqueUpToIso (colimit.isColimit F) (colimitCocone F).isColimit).to_eq
-#align category_theory.limits.complete_lattice.colimit_eq_supr CategoryTheory.Limits.CompleteLattice.colimit_eq_supᵢ
+#align category_theory.limits.complete_lattice.colimit_eq_supr CategoryTheory.Limits.CompleteLattice.colimit_eq_iSup
end CategoryTheory.Limits.CompleteLattice
by
s! (#3825)
This PR puts, with one exception, every single remaining by
that lies all by itself on its own line to the previous line, thus matching the current behaviour of start-port.sh
. The exception is when the by
begins the second or later argument to a tuple or anonymous constructor; see https://github.com/leanprover-community/mathlib4/pull/3825#discussion_r1186702599.
Essentially this is s/\n *by$/ by/g
, but with manual editing to satisfy the linter's max-100-char-line requirement. The Python style linter is also modified to catch these "isolated by
s".
@@ -113,8 +113,7 @@ theorem finite_coproduct_eq_finset_sup [SemilatticeSup α] [OrderBot α] {ι : T
-- see Note [lower instance priority]
instance (priority := 100) [SemilatticeInf α] [OrderTop α] : HasBinaryProducts α := by
- have : ∀ x y : α, HasLimit (pair x y) :=
- by
+ have : ∀ x y : α, HasLimit (pair x y) := by
letI := hasFiniteLimits_of_hasFiniteLimits_of_size.{u} α
infer_instance
apply hasBinaryProducts_of_hasLimit_pair
@@ -134,8 +133,7 @@ theorem prod_eq_inf [SemilatticeInf α] [OrderTop α] (x y : α) : Limits.prod x
-- see Note [lower instance priority]
instance (priority := 100) [SemilatticeSup α] [OrderBot α] : HasBinaryCoproducts α := by
- have : ∀ x y : α, HasColimit (pair x y) :=
- by
+ have : ∀ x y : α, HasColimit (pair x y) := by
letI := hasFiniteColimits_of_hasFiniteColimits_of_size.{u} α
infer_instance
apply hasBinaryCoproducts_of_hasColimit_pair
This PR fixes two things:
align
statements for definitions and theorems and instances that are separated by two newlines from the relevant declaration (s/\n\n#align/\n#align
). This is often seen in the mathport output after ending calc
blocks.#align
statements. (This was needed for a script I wrote for #3630.)@@ -165,7 +165,6 @@ theorem pullback_eq_inf [SemilatticeInf α] [OrderTop α] {x y z : α} (f : x
_ = z ⊓ (x ⊓ (y ⊓ ⊤)) := rfl
_ = z ⊓ (x ⊓ y) := by rw [inf_top_eq]
_ = x ⊓ y := inf_eq_right.mpr (inf_le_of_left_le f.le)
-
#align category_theory.limits.complete_lattice.pullback_eq_inf CategoryTheory.Limits.CompleteLattice.pullback_eq_inf
/-- The pushout in the category of a `SemilatticeSup` with `OrderBot` is the same as the supremum
@@ -180,7 +179,6 @@ theorem pushout_eq_sup [SemilatticeSup α] [OrderBot α] (x y z : α) (f : z ⟶
_ = z ⊔ (x ⊔ (y ⊔ ⊥)) := rfl
_ = z ⊔ (x ⊔ y) := by rw [sup_bot_eq]
_ = x ⊔ y := sup_eq_right.mpr (le_sup_of_le_left f.le)
-
#align category_theory.limits.complete_lattice.pushout_eq_sup CategoryTheory.Limits.CompleteLattice.pushout_eq_sup
end Semilattice
@@ -140,7 +140,7 @@ instance (priority := 100) [SemilatticeSup α] [OrderBot α] : HasBinaryCoproduc
infer_instance
apply hasBinaryCoproducts_of_hasColimit_pair
-/-- The binary coproduct in the category of a `semilattice_sup` with `order_bot` is the same as the
+/-- The binary coproduct in the category of a `SemilatticeSup` with `OrderBot` is the same as the
supremum.
-/
@[simp]
@@ -149,11 +149,11 @@ theorem coprod_eq_sup [SemilatticeSup α] [OrderBot α] (x y : α) : Limits.copr
Limits.coprod x y = colimit (pair x y) := rfl
_ = Finset.univ.sup (pair x y).obj := by rw [finite_colimit_eq_finset_univ_sup (pair x y)]
_ = x ⊔ (y ⊔ ⊥) := rfl
- -- Note: finset.sup is realized as a fold, hence the definitional equality
+ -- Note: Finset.sup is realized as a fold, hence the definitional equality
_ = x ⊔ y := by rw [sup_bot_eq]
#align category_theory.limits.complete_lattice.coprod_eq_sup CategoryTheory.Limits.CompleteLattice.coprod_eq_sup
-/-- The pullback in the category of a `semilattice_inf` with `order_top` is the same as the infimum
+/-- The pullback in the category of a `SemilatticeInf` with `OrderTop` is the same as the infimum
over the objects.
-/
@[simp]
@@ -168,7 +168,7 @@ theorem pullback_eq_inf [SemilatticeInf α] [OrderTop α] {x y z : α} (f : x
#align category_theory.limits.complete_lattice.pullback_eq_inf CategoryTheory.Limits.CompleteLattice.pullback_eq_inf
-/-- The pushout in the category of a `semilattice_sup` with `order_bot` is the same as the supremum
+/-- The pushout in the category of a `SemilatticeSup` with `OrderBot` is the same as the supremum
over the objects.
-/
@[simp]
The unported dependencies are