category_theory.category.uliftMathlib.CategoryTheory.Category.ULift

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,9 +3,9 @@ Copyright (c) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
 -/
-import Mathbin.CategoryTheory.Category.Basic
-import Mathbin.CategoryTheory.Equivalence
-import Mathbin.CategoryTheory.EqToHom
+import CategoryTheory.Category.Basic
+import CategoryTheory.Equivalence
+import CategoryTheory.EqToHom
 
 #align_import category_theory.category.ulift from "leanprover-community/mathlib"@"23aa88e32dcc9d2a24cca7bc23268567ed4cd7d6"
 
Diff
@@ -2,16 +2,13 @@
 Copyright (c) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
-
-! This file was ported from Lean 3 source module category_theory.category.ulift
-! leanprover-community/mathlib commit 23aa88e32dcc9d2a24cca7bc23268567ed4cd7d6
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Category.Basic
 import Mathbin.CategoryTheory.Equivalence
 import Mathbin.CategoryTheory.EqToHom
 
+#align_import category_theory.category.ulift from "leanprover-community/mathlib"@"23aa88e32dcc9d2a24cca7bc23268567ed4cd7d6"
+
 /-!
 # Basic API for ulift
 
Diff
@@ -71,6 +71,7 @@ def ULift.downFunctor : ULift.{u₂} C ⥤ C
 #align category_theory.ulift.down_functor CategoryTheory.ULift.downFunctor
 -/
 
+#print CategoryTheory.ULift.equivalence /-
 /-- The categorical equivalence between `C` and `ulift C`. -/
 @[simps]
 def ULift.equivalence : C ≌ ULift.{u₂} C
@@ -91,6 +92,7 @@ def ULift.equivalence : C ≌ ULift.{u₂} C
       inv_hom_id' := by ext; change 𝟙 _ ≫ 𝟙 _ = 𝟙 _; simp }
   functor_unitIso_comp' X := by change 𝟙 X ≫ 𝟙 X = 𝟙 X; simp
 #align category_theory.ulift.equivalence CategoryTheory.ULift.equivalence
+-/
 
 section UliftHom
 
@@ -120,15 +122,19 @@ def ULiftHom.objUp {C} (A : C) : ULiftHom C :=
 #align category_theory.ulift_hom.obj_up CategoryTheory.ULiftHom.objUp
 -/
 
+#print CategoryTheory.objDown_objUp /-
 @[simp]
 theorem objDown_objUp {C} (A : C) : (ULiftHom.objUp A).objDown = A :=
   rfl
 #align category_theory.obj_down_obj_up CategoryTheory.objDown_objUp
+-/
 
+#print CategoryTheory.objUp_objDown /-
 @[simp]
 theorem objUp_objDown {C} (A : ULiftHom C) : ULiftHom.objUp A.objDown = A :=
   rfl
 #align category_theory.obj_up_obj_down CategoryTheory.objUp_objDown
+-/
 
 instance : Category.{max v₂ v₁} (ULiftHom.{v₂} C)
     where
@@ -154,6 +160,7 @@ def ULiftHom.down : ULiftHom C ⥤ C where
 #align category_theory.ulift_hom.down CategoryTheory.ULiftHom.down
 -/
 
+#print CategoryTheory.ULiftHom.equiv /-
 /-- The equivalence between `C` and `ulift_hom C`. -/
 def ULiftHom.equiv : C ≌ ULiftHom C
     where
@@ -162,6 +169,7 @@ def ULiftHom.equiv : C ≌ ULiftHom C
   unitIso := NatIso.ofComponents (fun A => eqToIso rfl) (by tidy)
   counitIso := NatIso.ofComponents (fun A => eqToIso rfl) (by tidy)
 #align category_theory.ulift_hom.equiv CategoryTheory.ULiftHom.equiv
+-/
 
 end UliftHom
 
@@ -206,6 +214,7 @@ def AsSmall.down : AsSmall C ⥤ C where
 #align category_theory.as_small.down CategoryTheory.AsSmall.down
 -/
 
+#print CategoryTheory.AsSmall.equiv /-
 /-- The equivalence between `C` and `as_small C`. -/
 @[simps]
 def AsSmall.equiv : C ≌ AsSmall C where
@@ -214,15 +223,18 @@ def AsSmall.equiv : C ≌ AsSmall C where
   unitIso := NatIso.ofComponents (fun X => eqToIso rfl) (by tidy)
   counitIso := NatIso.ofComponents (fun X => eqToIso <| by ext; rfl) (by tidy)
 #align category_theory.as_small.equiv CategoryTheory.AsSmall.equiv
+-/
 
 instance [Inhabited C] : Inhabited (AsSmall C) :=
   ⟨⟨Inhabited.default _⟩⟩
 
+#print CategoryTheory.ULiftHomULiftCategory.equiv /-
 /-- The equivalence between `C` and `ulift_hom (ulift C)`. -/
 def ULiftHomULiftCategory.equiv.{v', u', v, u} (C : Type u) [Category.{v} C] :
     C ≌ ULiftHom.{v'} (ULift.{u'} C) :=
   ULift.equivalence.trans ULiftHom.equiv
 #align category_theory.ulift_hom_ulift_category.equiv CategoryTheory.ULiftHomULiftCategory.equiv
+-/
 
 end CategoryTheory
 
Diff
@@ -71,12 +71,6 @@ def ULift.downFunctor : ULift.{u₂} C ⥤ C
 #align category_theory.ulift.down_functor CategoryTheory.ULift.downFunctor
 -/
 
-/- warning: category_theory.ulift.equivalence -> CategoryTheory.ULift.equivalence is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Equivalence.{u1, u1, u2, max u2 u3} C _inst_1 (ULift.{u3, u2} C) (CategoryTheory.uliftCategory.{u1, u2, u3} C _inst_1)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Equivalence.{u1, u1, u2, max u3 u2} C (ULift.{u3, u2} C) _inst_1 (CategoryTheory.uliftCategory.{u1, u2, u3} C _inst_1)
-Case conversion may be inaccurate. Consider using '#align category_theory.ulift.equivalence CategoryTheory.ULift.equivalenceₓ'. -/
 /-- The categorical equivalence between `C` and `ulift C`. -/
 @[simps]
 def ULift.equivalence : C ≌ ULift.{u₂} C
@@ -126,23 +120,11 @@ def ULiftHom.objUp {C} (A : C) : ULiftHom C :=
 #align category_theory.ulift_hom.obj_up CategoryTheory.ULiftHom.objUp
 -/
 
-/- warning: category_theory.obj_down_obj_up -> CategoryTheory.objDown_objUp is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} (A : C), Eq.{succ u1} C (CategoryTheory.ULiftHom.objDown.{u1, u2} C (CategoryTheory.ULiftHom.objUp.{u1, u2} C A)) A
-but is expected to have type
-  forall {C : Type.{u2}} (A : C), Eq.{succ u2} C (CategoryTheory.ULiftHom.objDown.{u2, u1} C (CategoryTheory.ULiftHom.objUp.{u2, u1} C A)) A
-Case conversion may be inaccurate. Consider using '#align category_theory.obj_down_obj_up CategoryTheory.objDown_objUpₓ'. -/
 @[simp]
 theorem objDown_objUp {C} (A : C) : (ULiftHom.objUp A).objDown = A :=
   rfl
 #align category_theory.obj_down_obj_up CategoryTheory.objDown_objUp
 
-/- warning: category_theory.obj_up_obj_down -> CategoryTheory.objUp_objDown is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} (A : CategoryTheory.ULiftHom.{u2, u1} C), Eq.{succ u1} (CategoryTheory.ULiftHom.{u2, u1} C) (CategoryTheory.ULiftHom.objUp.{u1, u2} C (CategoryTheory.ULiftHom.objDown.{u1, u2} C A)) A
-but is expected to have type
-  forall {C : Type.{u2}} (A : CategoryTheory.ULiftHom.{u1, u2} C), Eq.{succ u2} (CategoryTheory.ULiftHom.{u1, u2} C) (CategoryTheory.ULiftHom.objUp.{u2, u1} C (CategoryTheory.ULiftHom.objDown.{u2, u1} C A)) A
-Case conversion may be inaccurate. Consider using '#align category_theory.obj_up_obj_down CategoryTheory.objUp_objDownₓ'. -/
 @[simp]
 theorem objUp_objDown {C} (A : ULiftHom C) : ULiftHom.objUp A.objDown = A :=
   rfl
@@ -172,12 +154,6 @@ def ULiftHom.down : ULiftHom C ⥤ C where
 #align category_theory.ulift_hom.down CategoryTheory.ULiftHom.down
 -/
 
-/- warning: category_theory.ulift_hom.equiv -> CategoryTheory.ULiftHom.equiv is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Equivalence.{u1, max u3 u1, u2, u2} C _inst_1 (CategoryTheory.ULiftHom.{u3, u2} C) (CategoryTheory.ULiftHom.category.{u1, u3, u2} C _inst_1)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Equivalence.{u1, max u1 u3, u2, u2} C (CategoryTheory.ULiftHom.{u3, u2} C) _inst_1 (CategoryTheory.ULiftHom.category.{u1, u3, u2} C _inst_1)
-Case conversion may be inaccurate. Consider using '#align category_theory.ulift_hom.equiv CategoryTheory.ULiftHom.equivₓ'. -/
 /-- The equivalence between `C` and `ulift_hom C`. -/
 def ULiftHom.equiv : C ≌ ULiftHom C
     where
@@ -230,12 +206,6 @@ def AsSmall.down : AsSmall C ⥤ C where
 #align category_theory.as_small.down CategoryTheory.AsSmall.down
 -/
 
-/- warning: category_theory.as_small.equiv -> CategoryTheory.AsSmall.equiv is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Equivalence.{u1, max u2 u3 u1, u2, max u2 u3 u1} C _inst_1 (CategoryTheory.AsSmall.{u3, u1, u2} C _inst_1) (CategoryTheory.AsSmall.smallCategory.{u3, u1, u2} C _inst_1)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Equivalence.{u1, max (max u2 u1) u3, u2, max (max u2 u1) u3} C (CategoryTheory.AsSmall.{u3, u1, u2} C _inst_1) _inst_1 (CategoryTheory.instSmallCategoryAsSmall.{u3, u1, u2} C _inst_1)
-Case conversion may be inaccurate. Consider using '#align category_theory.as_small.equiv CategoryTheory.AsSmall.equivₓ'. -/
 /-- The equivalence between `C` and `as_small C`. -/
 @[simps]
 def AsSmall.equiv : C ≌ AsSmall C where
@@ -248,12 +218,6 @@ def AsSmall.equiv : C ≌ AsSmall C where
 instance [Inhabited C] : Inhabited (AsSmall C) :=
   ⟨⟨Inhabited.default _⟩⟩
 
-/- warning: category_theory.ulift_hom_ulift_category.equiv -> CategoryTheory.ULiftHomULiftCategory.equiv is a dubious translation:
-lean 3 declaration is
-  forall (C : Type.{u4}) [_inst_2 : CategoryTheory.Category.{u3, u4} C], CategoryTheory.Equivalence.{u3, max u1 u3, u4, max u4 u2} C _inst_2 (CategoryTheory.ULiftHom.{u1, max u4 u2} (ULift.{u2, u4} C)) (CategoryTheory.ULiftHom.category.{u3, u1, max u4 u2} (ULift.{u2, u4} C) (CategoryTheory.uliftCategory.{u3, u4, u2} C _inst_2))
-but is expected to have type
-  forall (C : Type.{u4}) [_inst_2 : CategoryTheory.Category.{u3, u4} C], CategoryTheory.Equivalence.{u3, max u3 u1, u4, max u2 u4} C (CategoryTheory.ULiftHom.{u1, max u2 u4} (ULift.{u2, u4} C)) _inst_2 (CategoryTheory.ULiftHom.category.{u3, u1, max u4 u2} (ULift.{u2, u4} C) (CategoryTheory.uliftCategory.{u3, u4, u2} C _inst_2))
-Case conversion may be inaccurate. Consider using '#align category_theory.ulift_hom_ulift_category.equiv CategoryTheory.ULiftHomULiftCategory.equivₓ'. -/
 /-- The equivalence between `C` and `ulift_hom (ulift C)`. -/
 def ULiftHomULiftCategory.equiv.{v', u', v, u} (C : Type u) [Category.{v} C] :
     C ≌ ULiftHom.{v'} (ULift.{u'} C) :=
Diff
@@ -89,25 +89,13 @@ def ULift.equivalence : C ≌ ULift.{u₂} C
   counitIso :=
     { Hom :=
         { app := fun X => 𝟙 _
-          naturality' := fun X Y f => by
-            change f ≫ 𝟙 _ = 𝟙 _ ≫ f
-            simp }
+          naturality' := fun X Y f => by change f ≫ 𝟙 _ = 𝟙 _ ≫ f; simp }
       inv :=
         { app := fun X => 𝟙 _
-          naturality' := fun X Y f => by
-            change f ≫ 𝟙 _ = 𝟙 _ ≫ f
-            simp }
-      hom_inv_id' := by
-        ext
-        change 𝟙 _ ≫ 𝟙 _ = 𝟙 _
-        simp
-      inv_hom_id' := by
-        ext
-        change 𝟙 _ ≫ 𝟙 _ = 𝟙 _
-        simp }
-  functor_unitIso_comp' X := by
-    change 𝟙 X ≫ 𝟙 X = 𝟙 X
-    simp
+          naturality' := fun X Y f => by change f ≫ 𝟙 _ = 𝟙 _ ≫ f; simp }
+      hom_inv_id' := by ext; change 𝟙 _ ≫ 𝟙 _ = 𝟙 _; simp
+      inv_hom_id' := by ext; change 𝟙 _ ≫ 𝟙 _ = 𝟙 _; simp }
+  functor_unitIso_comp' X := by change 𝟙 X ≫ 𝟙 X = 𝟙 X; simp
 #align category_theory.ulift.equivalence CategoryTheory.ULift.equivalence
 
 section UliftHom
@@ -254,13 +242,7 @@ def AsSmall.equiv : C ≌ AsSmall C where
   Functor := AsSmall.up
   inverse := AsSmall.down
   unitIso := NatIso.ofComponents (fun X => eqToIso rfl) (by tidy)
-  counitIso :=
-    NatIso.ofComponents
-      (fun X =>
-        eqToIso <| by
-          ext
-          rfl)
-      (by tidy)
+  counitIso := NatIso.ofComponents (fun X => eqToIso <| by ext; rfl) (by tidy)
 #align category_theory.as_small.equiv CategoryTheory.AsSmall.equiv
 
 instance [Inhabited C] : Inhabited (AsSmall C) :=
Diff
@@ -188,7 +188,7 @@ def ULiftHom.down : ULiftHom C ⥤ C where
 lean 3 declaration is
   forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Equivalence.{u1, max u3 u1, u2, u2} C _inst_1 (CategoryTheory.ULiftHom.{u3, u2} C) (CategoryTheory.ULiftHom.category.{u1, u3, u2} C _inst_1)
 but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Equivalence.{u1, max u1 u3, u2, u2} C (CategoryTheory.ULiftHom.{u3, u2} C) _inst_1 (CategoryTheory.instCategoryULiftHom.{u1, u3, u2} C _inst_1)
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C], CategoryTheory.Equivalence.{u1, max u1 u3, u2, u2} C (CategoryTheory.ULiftHom.{u3, u2} C) _inst_1 (CategoryTheory.ULiftHom.category.{u1, u3, u2} C _inst_1)
 Case conversion may be inaccurate. Consider using '#align category_theory.ulift_hom.equiv CategoryTheory.ULiftHom.equivₓ'. -/
 /-- The equivalence between `C` and `ulift_hom C`. -/
 def ULiftHom.equiv : C ≌ ULiftHom C
@@ -270,7 +270,7 @@ instance [Inhabited C] : Inhabited (AsSmall C) :=
 lean 3 declaration is
   forall (C : Type.{u4}) [_inst_2 : CategoryTheory.Category.{u3, u4} C], CategoryTheory.Equivalence.{u3, max u1 u3, u4, max u4 u2} C _inst_2 (CategoryTheory.ULiftHom.{u1, max u4 u2} (ULift.{u2, u4} C)) (CategoryTheory.ULiftHom.category.{u3, u1, max u4 u2} (ULift.{u2, u4} C) (CategoryTheory.uliftCategory.{u3, u4, u2} C _inst_2))
 but is expected to have type
-  forall (C : Type.{u4}) [_inst_2 : CategoryTheory.Category.{u3, u4} C], CategoryTheory.Equivalence.{u3, max u3 u1, u4, max u2 u4} C (CategoryTheory.ULiftHom.{u1, max u2 u4} (ULift.{u2, u4} C)) _inst_2 (CategoryTheory.instCategoryULiftHom.{u3, u1, max u4 u2} (ULift.{u2, u4} C) (CategoryTheory.uliftCategory.{u3, u4, u2} C _inst_2))
+  forall (C : Type.{u4}) [_inst_2 : CategoryTheory.Category.{u3, u4} C], CategoryTheory.Equivalence.{u3, max u3 u1, u4, max u2 u4} C (CategoryTheory.ULiftHom.{u1, max u2 u4} (ULift.{u2, u4} C)) _inst_2 (CategoryTheory.ULiftHom.category.{u3, u1, max u4 u2} (ULift.{u2, u4} C) (CategoryTheory.uliftCategory.{u3, u4, u2} C _inst_2))
 Case conversion may be inaccurate. Consider using '#align category_theory.ulift_hom_ulift_category.equiv CategoryTheory.ULiftHomULiftCategory.equivₓ'. -/
 /-- The equivalence between `C` and `ulift_hom (ulift C)`. -/
 def ULiftHomULiftCategory.equiv.{v', u', v, u} (C : Type u) [Category.{v} C] :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
 
 ! This file was ported from Lean 3 source module category_theory.category.ulift
-! leanprover-community/mathlib commit 201a3f4a0e59b5f836fe8a6c1a462ee674327211
+! leanprover-community/mathlib commit 23aa88e32dcc9d2a24cca7bc23268567ed4cd7d6
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -15,6 +15,9 @@ import Mathbin.CategoryTheory.EqToHom
 /-!
 # Basic API for ulift
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file contains a very basic API for working with the categorical
 instance on `ulift C` where `C` is a type with a category instance.
 

Changes in mathlib4

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

Open in Gitpod

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

Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2021 Adam Topaz. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Adam Topaz
-
-! This file was ported from Lean 3 source module category_theory.category.ulift
-! leanprover-community/mathlib commit 32253a1a1071173b33dc7d6a218cf722c6feb514
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Category.Basic
 import Mathlib.CategoryTheory.Equivalence
 import Mathlib.CategoryTheory.EqToHom
 import Mathlib.Data.ULift
 
+#align_import category_theory.category.ulift from "leanprover-community/mathlib"@"32253a1a1071173b33dc7d6a218cf722c6feb514"
+
 /-!
 # Basic API for ULift
 
chore: correct name in Category/ULift docs (#5701)

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

Diff
@@ -19,8 +19,8 @@ import Mathlib.Data.ULift
 This file contains a very basic API for working with the categorical
 instance on `ULift C` where `C` is a type with a category instance.
 
-1. `CategoryTheory.ULift.up` is the functorial version of the usual `ULift.up`.
-2. `CategoryTheory.ULift.down` is the functorial version of the usual `ULift.down`.
+1. `CategoryTheory.ULift.upFunctor` is the functorial version of the usual `ULift.up`.
+2. `CategoryTheory.ULift.downFunctor` is the functorial version of the usual `ULift.down`.
 3. `CategoryTheory.ULift.equivalence` is the categorical equivalence between
   `C` and `ULift C`.
 
chore: fix many typos (#4967)

These are all doc fixes

Diff
@@ -31,7 +31,7 @@ If we have `category.{v} C`, then `ULiftHom.{w} C` is endowed with a category in
 whose morphisms are obtained by applying `ULift.{w}` to the morphisms from `C`.
 
 This is a category equivalent to `C`. The forward direction of the equivalence is `ULiftHom.up`,
-the backward direction is `ULiftHom.donw` and the equivalence is `ULiftHom.equiv`.
+the backward direction is `ULiftHom.down` and the equivalence is `ULiftHom.equiv`.
 
 # AsSmall
 
chore: review of automation in category theory (#4793)

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

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

Diff
@@ -152,8 +152,8 @@ def ULiftHom.down : ULiftHom C ⥤ C where
 def ULiftHom.equiv : C ≌ ULiftHom C where
   functor := ULiftHom.up
   inverse := ULiftHom.down
-  unitIso := NatIso.ofComponents (fun A => eqToIso rfl) (by aesop_cat)
-  counitIso := NatIso.ofComponents (fun A => eqToIso rfl) (by aesop_cat)
+  unitIso := NatIso.ofComponents fun A => eqToIso rfl
+  counitIso := NatIso.ofComponents fun A => eqToIso rfl
 #align category_theory.ulift_hom.equiv CategoryTheory.ULiftHom.equiv
 
 end ULiftHom
@@ -198,11 +198,8 @@ def AsSmall.down : AsSmall C ⥤ C where
 def AsSmall.equiv : C ≌ AsSmall C where
   functor := AsSmall.up
   inverse := AsSmall.down
-  unitIso := NatIso.ofComponents (fun X => eqToIso rfl) (by aesop_cat)
-  counitIso :=
-    NatIso.ofComponents
-      (fun X => eqToIso <| ULift.ext _ _ rfl)
-      (by aesop_cat)
+  unitIso := NatIso.ofComponents fun X => eqToIso rfl
+  counitIso := NatIso.ofComponents fun X => eqToIso <| ULift.ext _ _ rfl
 #align category_theory.as_small.equiv CategoryTheory.AsSmall.equiv
 
 instance [Inhabited C] : Inhabited (AsSmall C) :=
chore: tidy various files (#3124)
Diff
@@ -19,9 +19,9 @@ import Mathlib.Data.ULift
 This file contains a very basic API for working with the categorical
 instance on `ULift C` where `C` is a type with a category instance.
 
-1. `category_theory.ULift.up` is the functorial version of the usual `ULift.up`.
-2. `category_theory.ULift.down` is the functorial version of the usual `ULift.down`.
-3. `category_theory.ULift.equivalence` is the categorical equivalence between
+1. `CategoryTheory.ULift.up` is the functorial version of the usual `ULift.up`.
+2. `CategoryTheory.ULift.down` is the functorial version of the usual `ULift.down`.
+3. `CategoryTheory.ULift.equivalence` is the categorical equivalence between
   `C` and `ULift C`.
 
 # ULiftHom
@@ -36,7 +36,7 @@ the backward direction is `ULiftHom.donw` and the equivalence is `ULiftHom.equiv
 # AsSmall
 
 This file also contains a construction which takes a type `C : Type u` with a
-category instance `category.{v} C` and makes a small category
+category instance `Category.{v} C` and makes a small category
 `AsSmall.{w} C : Type (max w v u)` equivalent to `C`.
 
 The forward direction of the equivalence, `C ⥤ AsSmall C`, is denoted `AsSmall.up`
@@ -201,10 +201,7 @@ def AsSmall.equiv : C ≌ AsSmall C where
   unitIso := NatIso.ofComponents (fun X => eqToIso rfl) (by aesop_cat)
   counitIso :=
     NatIso.ofComponents
-      (fun X =>
-        eqToIso <| by
-          apply ULift.ext
-          rfl)
+      (fun X => eqToIso <| ULift.ext _ _ rfl)
       (by aesop_cat)
 #align category_theory.as_small.equiv CategoryTheory.AsSmall.equiv
 
feat: port CategoryTheory.Limits.Preserves.Finite (#2648)
Diff
@@ -96,13 +96,13 @@ def ULift.equivalence : C ≌ ULift.{u₂} C where
 #align category_theory.ulift.equivalence CategoryTheory.ULift.equivalence
 
 section ULiftHom
-/- Porting note: obviously we don't want code that looks like this long term 
+/- Porting note: obviously we don't want code that looks like this long term
 the ability to turn off unused universe parameter error is desirable -/
 /-- `ULiftHom.{w} C` is an alias for `C`, which is endowed with a category instance
   whose morphisms are obtained by applying `ULift.{w}` to the morphisms from `C`.
 -/
-def ULiftHom.{w,u} (C : Type u) : Type u := 
-  let _ := ULift.{w} C 
+def ULiftHom.{w,u} (C : Type u) : Type u :=
+  let _ := ULift.{w} C
   C
 #align category_theory.ulift_hom CategoryTheory.ULiftHom
 
@@ -129,7 +129,7 @@ theorem objUp_objDown {C} (A : ULiftHom C) : ULiftHom.objUp A.objDown = A :=
   rfl
 #align category_theory.obj_up_obj_down CategoryTheory.objUp_objDown
 
-instance : Category.{max v₂ v₁} (ULiftHom.{v₂} C) where
+instance ULiftHom.category : Category.{max v₂ v₁} (ULiftHom.{v₂} C) where
   Hom A B := ULift.{v₂} <| A.objDown ⟶ B.objDown
   id A := ⟨𝟙 _⟩
   comp f g := ⟨f.down ≫ g.down⟩
@@ -157,8 +157,8 @@ def ULiftHom.equiv : C ≌ ULiftHom C where
 #align category_theory.ulift_hom.equiv CategoryTheory.ULiftHom.equiv
 
 end ULiftHom
-/- Porting note: we want to keep around the category instance on `D` 
-so Lean can figure out things further down. So `AsSmall` has been 
+/- Porting note: we want to keep around the category instance on `D`
+so Lean can figure out things further down. So `AsSmall` has been
 nolinted. -/
 /-- `AsSmall C` is a small category equivalent to `C`.
   More specifically, if `C : Type u` is endowed with `Category.{v} C`, then
@@ -218,4 +218,3 @@ def ULiftHomULiftCategory.equiv.{v', u', v, u} (C : Type u) [Category.{v} C] :
 #align category_theory.ulift_hom_ulift_category.equiv CategoryTheory.ULiftHomULiftCategory.equiv
 
 end CategoryTheory
-
feat: port CategoryTheory.Category.Ulift (#2312)

Co-authored-by: Matthew Ballard <matt@mrb.email>

Dependencies 12

13 files ported (100.0%)
3438 lines ported (100.0%)

All dependencies are ported!