category_theory.whiskering
⟷
Mathlib.CategoryTheory.Whiskering
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)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -113,8 +113,8 @@ def whiskeringRight : (D ⥤ E) ⥤ (C ⥤ D) ⥤ C ⥤ E
variable {C} {D} {E}
#print CategoryTheory.faithful_whiskeringRight_obj /-
-instance faithful_whiskeringRight_obj {F : D ⥤ E} [Faithful F] :
- Faithful ((whiskeringRight C D E).obj F)
+instance faithful_whiskeringRight_obj {F : D ⥤ E} [CategoryTheory.Functor.Faithful F] :
+ CategoryTheory.Functor.Faithful ((whiskeringRight C D E).obj F)
where map_injective' G H α β hαβ :=
NatTrans.ext _ _ <|
funext fun X => Functor.map_injective _ <| congr_fun (congr_arg NatTrans.app hαβ) X
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -3,7 +3,7 @@ Copyright (c) 2018 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import CategoryTheory.Isomorphism
+import CategoryTheory.Iso
import CategoryTheory.Functor.Category
import CategoryTheory.Functor.FullyFaithful
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,9 +3,9 @@ Copyright (c) 2018 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-/
-import Mathbin.CategoryTheory.Isomorphism
-import Mathbin.CategoryTheory.Functor.Category
-import Mathbin.CategoryTheory.Functor.FullyFaithful
+import CategoryTheory.Isomorphism
+import CategoryTheory.Functor.Category
+import CategoryTheory.Functor.FullyFaithful
#align_import category_theory.whiskering from "leanprover-community/mathlib"@"c3291da49cfa65f0d43b094750541c0731edc932"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,16 +2,13 @@
Copyright (c) 2018 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-
-! This file was ported from Lean 3 source module category_theory.whiskering
-! leanprover-community/mathlib commit c3291da49cfa65f0d43b094750541c0731edc932
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.CategoryTheory.Isomorphism
import Mathbin.CategoryTheory.Functor.Category
import Mathbin.CategoryTheory.Functor.FullyFaithful
+#align_import category_theory.whiskering from "leanprover-community/mathlib"@"c3291da49cfa65f0d43b094750541c0731edc932"
+
/-!
# Whiskering
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -115,12 +115,14 @@ def whiskeringRight : (D ⥤ E) ⥤ (C ⥤ D) ⥤ C ⥤ E
variable {C} {D} {E}
+#print CategoryTheory.faithful_whiskeringRight_obj /-
instance faithful_whiskeringRight_obj {F : D ⥤ E} [Faithful F] :
Faithful ((whiskeringRight C D E).obj F)
where map_injective' G H α β hαβ :=
NatTrans.ext _ _ <|
funext fun X => Functor.map_injective _ <| congr_fun (congr_arg NatTrans.app hαβ) X
#align category_theory.faithful_whiskering_right_obj CategoryTheory.faithful_whiskeringRight_obj
+-/
#print CategoryTheory.whiskerLeft_id /-
@[simp]
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -115,12 +115,6 @@ def whiskeringRight : (D ⥤ E) ⥤ (C ⥤ D) ⥤ C ⥤ E
variable {C} {D} {E}
-/- warning: category_theory.faithful_whiskering_right_obj -> CategoryTheory.faithful_whiskeringRight_obj is a dubious translation:
-lean 3 declaration is
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {E : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u6, u5} E] {F : CategoryTheory.Functor.{u4, u6, u3, u5} D _inst_2 E _inst_3} [_inst_4 : CategoryTheory.Faithful.{u4, u6, u3, u5} D _inst_2 E _inst_3 F], CategoryTheory.Faithful.{max u1 u4, max u1 u6, max u2 u4 u1 u3, max u2 u6 u1 u5} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u6, u1, u5} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u2, u6, u1, u5} C _inst_1 E _inst_3) (CategoryTheory.Functor.obj.{max u3 u6, max (max u2 u4 u1 u3) u1 u6, max u4 u6 u3 u5, max (max u1 u4) (max u1 u6) (max u2 u4 u1 u3) u2 u6 u1 u5} (CategoryTheory.Functor.{u4, u6, u3, u5} D _inst_2 E _inst_3) (CategoryTheory.Functor.category.{u4, u6, u3, u5} D _inst_2 E _inst_3) (CategoryTheory.Functor.{max u1 u4, max u1 u6, max u2 u4 u1 u3, max u2 u6 u1 u5} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u6, u1, u5} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u2, u6, u1, u5} C _inst_1 E _inst_3)) (CategoryTheory.Functor.category.{max u1 u4, max u1 u6, max u2 u4 u1 u3, max u2 u6 u1 u5} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u6, u1, u5} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u2, u6, u1, u5} C _inst_1 E _inst_3)) (CategoryTheory.whiskeringRight.{u1, u2, u3, u4, u5, u6} C _inst_1 D _inst_2 E _inst_3) F)
-but is expected to have type
- forall {C : Type.{u1}} [_inst_1 : CategoryTheory.Category.{u2, u1} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u4, u3} D] {E : Type.{u5}} [_inst_3 : CategoryTheory.Category.{u6, u5} E] {F : CategoryTheory.Functor.{u4, u6, u3, u5} D _inst_2 E _inst_3} [_inst_4 : CategoryTheory.Faithful.{u4, u6, u3, u5} D _inst_2 E _inst_3 F], CategoryTheory.Faithful.{max u1 u4, max u1 u6, max (max (max u1 u3) u2) u4, max (max (max u1 u5) u2) u6} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u6, u1, u5} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u2, u6, u1, u5} C _inst_1 E _inst_3) (Prefunctor.obj.{max (succ u3) (succ u6), max (max (max (max (succ u1) (succ u3)) (succ u2)) (succ u4)) (succ u6), max (max (max u3 u5) u4) u6, max (max (max (max (max u1 u3) u5) u2) u4) u6} (CategoryTheory.Functor.{u4, u6, u3, u5} D _inst_2 E _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u6, max (max (max u3 u5) u4) u6} (CategoryTheory.Functor.{u4, u6, u3, u5} D _inst_2 E _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u6, max (max (max u3 u5) u4) u6} (CategoryTheory.Functor.{u4, u6, u3, u5} D _inst_2 E _inst_3) (CategoryTheory.Functor.category.{u4, u6, u3, u5} D _inst_2 E _inst_3))) (CategoryTheory.Functor.{max u1 u4, max u1 u6, max (max (max u3 u1) u4) u2, max (max (max u5 u1) u6) u2} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u6, u1, u5} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u2, u6, u1, u5} C _inst_1 E _inst_3)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max (max u1 u3) u2) u4) u6, max (max (max (max (max u1 u3) u5) u2) u4) u6} (CategoryTheory.Functor.{max u1 u4, max u1 u6, max (max (max u3 u1) u4) u2, max (max (max u5 u1) u6) u2} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u6, u1, u5} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u2, u6, u1, u5} C _inst_1 E _inst_3)) (CategoryTheory.Category.toCategoryStruct.{max (max (max (max u1 u3) u2) u4) u6, max (max (max (max (max u1 u3) u5) u2) u4) u6} (CategoryTheory.Functor.{max u1 u4, max u1 u6, max (max (max u3 u1) u4) u2, max (max (max u5 u1) u6) u2} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u6, u1, u5} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u2, u6, u1, u5} C _inst_1 E _inst_3)) (CategoryTheory.Functor.category.{max u1 u4, max u1 u6, max (max (max u1 u3) u2) u4, max (max (max u1 u5) u2) u6} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u6, u1, u5} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u2, u6, u1, u5} C _inst_1 E _inst_3)))) (CategoryTheory.Functor.toPrefunctor.{max u3 u6, max (max (max (max u1 u3) u2) u4) u6, max (max (max u3 u5) u4) u6, max (max (max (max (max u1 u3) u5) u2) u4) u6} (CategoryTheory.Functor.{u4, u6, u3, u5} D _inst_2 E _inst_3) (CategoryTheory.Functor.category.{u4, u6, u3, u5} D _inst_2 E _inst_3) (CategoryTheory.Functor.{max u1 u4, max u1 u6, max (max (max u3 u1) u4) u2, max (max (max u5 u1) u6) u2} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u6, u1, u5} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u2, u6, u1, u5} C _inst_1 E _inst_3)) (CategoryTheory.Functor.category.{max u1 u4, max u1 u6, max (max (max u1 u3) u2) u4, max (max (max u1 u5) u2) u6} (CategoryTheory.Functor.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u2, u4, u1, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u6, u1, u5} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u2, u6, u1, u5} C _inst_1 E _inst_3)) (CategoryTheory.whiskeringRight.{u1, u2, u3, u4, u5, u6} C _inst_1 D _inst_2 E _inst_3)) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.faithful_whiskering_right_obj CategoryTheory.faithful_whiskeringRight_objₓ'. -/
instance faithful_whiskeringRight_obj {F : D ⥤ E} [Faithful F] :
Faithful ((whiskeringRight C D E).obj F)
where map_injective' G H α β hαβ :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -326,10 +326,7 @@ theorem assoc (F : A ⥤ B) (G : B ⥤ C) (H : C ⥤ D) : (F ⋙ G) ⋙ H = F
theorem triangle (F : A ⥤ B) (G : B ⥤ C) :
(associator F (𝟭 B) G).Hom ≫ whiskerLeft F (leftUnitor G).Hom =
whiskerRight (rightUnitor F).Hom G :=
- by
- ext
- dsimp
- simp
+ by ext; dsimp; simp
#align category_theory.functor.triangle CategoryTheory.Functor.triangle
-/
@@ -343,10 +340,7 @@ theorem pentagon :
whiskerRight (associator F G H).Hom K ≫
(associator F (G ⋙ H) K).Hom ≫ whiskerLeft F (associator G H K).Hom =
(associator (F ⋙ G) H K).Hom ≫ (associator F G (H ⋙ K)).Hom :=
- by
- ext
- dsimp
- simp
+ by ext; dsimp; simp
#align category_theory.functor.pentagon CategoryTheory.Functor.pentagon
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
We already had that whiskering by a faithful functor is faithful. This PR also adds the relevant Full
and Faithful
instances for the sheaf version of whiskering, (sheafCompose
).
@@ -114,6 +114,13 @@ instance faithful_whiskeringRight_obj {F : D ⥤ E} [F.Faithful] :
exact F.map_injective <| congr_fun (congr_arg NatTrans.app hαβ) X
#align category_theory.faithful_whiskering_right_obj CategoryTheory.faithful_whiskeringRight_obj
+instance full_whiskeringRight_obj {F : D ⥤ E} [F.Faithful] [F.Full] :
+ ((whiskeringRight C D E).obj F).Full where
+ map_surjective f := by
+ refine ⟨⟨fun P ↦ F.preimage (f.app P), fun _ _ _ ↦ F.map_injective ?_⟩, ?_⟩
+ · simpa using f.naturality _
+ · ext; simp
+
@[simp]
theorem whiskerLeft_id (F : C ⥤ D) {G : D ⥤ E} :
whiskerLeft F (NatTrans.id G) = NatTrans.id (F.comp G) :=
@@ -111,7 +111,7 @@ instance faithful_whiskeringRight_obj {F : D ⥤ E} [F.Faithful] :
((whiskeringRight C D E).obj F).Faithful where
map_injective hαβ := by
ext X
- exact (F.map_injective <| congr_fun (congr_arg NatTrans.app hαβ) X)
+ exact F.map_injective <| congr_fun (congr_arg NatTrans.app hαβ) X
#align category_theory.faithful_whiskering_right_obj CategoryTheory.faithful_whiskeringRight_obj
@[simp]
These notions on functors are now Functor.Full
, Functor.Faithful
, Functor.EssSurj
, Functor.IsEquivalence
, Functor.ReflectsIsomorphisms
. Deprecated aliases are introduced for the previous names.
@@ -107,8 +107,8 @@ def whiskeringRight : (D ⥤ E) ⥤ (C ⥤ D) ⥤ C ⥤ E where
variable {C} {D} {E}
-instance faithful_whiskeringRight_obj {F : D ⥤ E} [Faithful F] :
- Faithful ((whiskeringRight C D E).obj F) where
+instance faithful_whiskeringRight_obj {F : D ⥤ E} [F.Faithful] :
+ ((whiskeringRight C D E).obj F).Faithful where
map_injective hαβ := by
ext X
exact (F.map_injective <| congr_fun (congr_arg NatTrans.app hαβ) X)
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)
@@ -226,7 +226,6 @@ namespace Functor
universe u₅ v₅
variable {A : Type u₁} [Category.{v₁} A]
-
variable {B : Type u₂} [Category.{v₂} B]
/-- The left unitor, a natural isomorphism `((𝟭 _) ⋙ F) ≅ F`.
@@ -252,7 +251,6 @@ def rightUnitor (F : A ⥤ B) :
#align category_theory.functor.right_unitor_inv_app CategoryTheory.Functor.rightUnitor_inv_app
variable {C : Type u₃} [Category.{v₃} C]
-
variable {D : Type u₄} [Category.{v₄} D]
/-- The associator for functors, a natural isomorphism `((F ⋙ G) ⋙ H) ≅ (F ⋙ (G ⋙ H))`.
@@ -280,7 +278,6 @@ theorem triangle (F : A ⥤ B) (G : B ⥤ C) :
-- See note [dsimp, simp].
variable {E : Type u₅} [Category.{v₅} E]
-
variable (F : A ⥤ B) (G : B ⥤ C) (H : C ⥤ D) (K : D ⥤ E)
theorem pentagon :
This PR introduces basic definitions for Kan extensions of functors. It prepares for future development of derived functors and a refactor of the file CategoryTheory.Limits.KanExtension
.
Co-authored-by: Joël Riou <37772949+joelriou@users.noreply.github.com>
@@ -136,13 +136,13 @@ theorem whiskerRight_id' {G : C ⥤ D} (F : D ⥤ E) : whiskerRight (𝟙 G) F =
((whiskeringRight C D E).obj F).map_id _
#align category_theory.whisker_right_id' CategoryTheory.whiskerRight_id'
-@[simp]
+@[simp, reassoc]
theorem whiskerLeft_comp (F : C ⥤ D) {G H K : D ⥤ E} (α : G ⟶ H) (β : H ⟶ K) :
whiskerLeft F (α ≫ β) = whiskerLeft F α ≫ whiskerLeft F β :=
rfl
#align category_theory.whisker_left_comp CategoryTheory.whiskerLeft_comp
-@[simp]
+@[simp, reassoc]
theorem whiskerRight_comp {G H K : C ⥤ D} (α : G ⟶ H) (β : H ⟶ K) (F : D ⥤ E) :
whiskerRight (α ≫ β) F = whiskerRight α F ≫ whiskerRight β F :=
((whiskeringRight C D E).obj F).map_comp α β
@@ -12,7 +12,7 @@ import Mathlib.CategoryTheory.Functor.FullyFaithful
/-!
# Whiskering
-Given a functor `F : C ⥤ D` and functors `G H : D ⥤ E` and a natural transformation `α : G ⟶ H`,
+Given a functor `F : C ⥤ D` and functors `G H : D ⥤ E` and a natural transformation `α : G ⟶ H`,
we can construct a new natural transformation `F ⋙ G ⟶ F ⋙ H`,
called `whiskerLeft F α`. This is the same as the horizontal composition of `𝟙 F` with `α`.
Briefly during the port we were adding "Ported by" headers, but only ~60 / 3000 files ended up with such a header.
I propose deleting them.
We could consider adding these uniformly via a script, as part of the great history rewrite...?
Co-authored-by: Scott Morrison <scott.morrison@gmail.com>
@@ -2,7 +2,6 @@
Copyright (c) 2018 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
-Ported by: Joël Riou
-/
import Mathlib.CategoryTheory.Iso
import Mathlib.CategoryTheory.Functor.Category
@@ -3,16 +3,13 @@ Copyright (c) 2018 Scott Morrison. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Scott Morrison
Ported by: Joël Riou
-
-! This file was ported from Lean 3 source module category_theory.whiskering
-! leanprover-community/mathlib commit d012cd09a9b256d870751284dd6a29882b0be105
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.CategoryTheory.Iso
import Mathlib.CategoryTheory.Functor.Category
import Mathlib.CategoryTheory.Functor.FullyFaithful
+#align_import category_theory.whiskering from "leanprover-community/mathlib"@"d012cd09a9b256d870751284dd6a29882b0be105"
+
/-!
# Whiskering
@@ -113,8 +113,9 @@ variable {C} {D} {E}
instance faithful_whiskeringRight_obj {F : D ⥤ E} [Faithful F] :
Faithful ((whiskeringRight C D E).obj F) where
- map_injective hαβ := NatTrans.ext _ _
- (funext fun X => (F.map_injective <| congr_fun (congr_arg NatTrans.app hαβ) X))
+ map_injective hαβ := by
+ ext X
+ exact (F.map_injective <| congr_fun (congr_arg NatTrans.app hαβ) X)
#align category_theory.faithful_whiskering_right_obj CategoryTheory.faithful_whiskeringRight_obj
@[simp]
This PR is the result of a slight variant on the following "algorithm"
_
and make all uppercase letters into lowercase_
and make all uppercase letters into lowercase(original_lean3_name, OriginalLean4Name)
#align
statement just before the next empty line#align
statement to have been inserted too early)@@ -53,6 +53,7 @@ def whiskerLeft (F : C ⥤ D) {G H : D ⥤ E} (α : G ⟶ H) :
app X := α.app (F.obj X)
naturality X Y f := by rw [Functor.comp_map, Functor.comp_map, α.naturality]
#align category_theory.whisker_left CategoryTheory.whiskerLeft
+#align category_theory.whisker_left_app CategoryTheory.whiskerLeft_app
/-- If `α : G ⟶ H` then
`whisker_right α F : (G ⋙ F) ⟶ (G ⋙ F)` has components `F.map (α.app X)`.
@@ -64,6 +65,7 @@ def whiskerRight {G H : C ⥤ D} (α : G ⟶ H) (F : D ⥤ E) :
naturality X Y f := by
rw [Functor.comp_map, Functor.comp_map, ← F.map_comp, ← F.map_comp, α.naturality]
#align category_theory.whisker_right CategoryTheory.whiskerRight
+#align category_theory.whisker_right_app CategoryTheory.whiskerRight_app
variable (C D E)
@@ -83,6 +85,9 @@ def whiskeringLeft : (C ⥤ D) ⥤ (D ⥤ E) ⥤ C ⥤ E where
naturality := fun X Y f => by dsimp; rw [← H.map_comp, ← H.map_comp, ← τ.naturality] }
naturality := fun X Y f => by ext; dsimp; rw [f.naturality] }
#align category_theory.whiskering_left CategoryTheory.whiskeringLeft
+#align category_theory.whiskering_left_obj_map CategoryTheory.whiskeringLeft_obj_map
+#align category_theory.whiskering_left_obj_obj CategoryTheory.whiskeringLeft_obj_obj
+#align category_theory.whiskering_left_map_app_app CategoryTheory.whiskeringLeft_map_app_app
/-- Right-composition gives a functor `(D ⥤ E) ⥤ ((C ⥤ D) ⥤ (C ⥤ E))`.
@@ -100,6 +105,9 @@ def whiskeringRight : (D ⥤ E) ⥤ (C ⥤ D) ⥤ C ⥤ E where
naturality := fun X Y f => by dsimp; rw [τ.naturality] }
naturality := fun X Y f => by ext; dsimp; rw [← NatTrans.naturality] }
#align category_theory.whiskering_right CategoryTheory.whiskeringRight
+#align category_theory.whiskering_right_map_app_app CategoryTheory.whiskeringRight_map_app_app
+#align category_theory.whiskering_right_obj_obj CategoryTheory.whiskeringRight_obj_obj
+#align category_theory.whiskering_right_obj_map CategoryTheory.whiskeringRight_obj_map
variable {C} {D} {E}
@@ -232,6 +240,8 @@ def leftUnitor (F : A ⥤ B) :
hom := { app := fun X => 𝟙 (F.obj X) }
inv := { app := fun X => 𝟙 (F.obj X) }
#align category_theory.functor.left_unitor CategoryTheory.Functor.leftUnitor
+#align category_theory.functor.left_unitor_inv_app CategoryTheory.Functor.leftUnitor_inv_app
+#align category_theory.functor.left_unitor_hom_app CategoryTheory.Functor.leftUnitor_hom_app
/-- The right unitor, a natural isomorphism `(F ⋙ (𝟭 B)) ≅ F`.
-/
@@ -241,6 +251,8 @@ def rightUnitor (F : A ⥤ B) :
hom := { app := fun X => 𝟙 (F.obj X) }
inv := { app := fun X => 𝟙 (F.obj X) }
#align category_theory.functor.right_unitor CategoryTheory.Functor.rightUnitor
+#align category_theory.functor.right_unitor_hom_app CategoryTheory.Functor.rightUnitor_hom_app
+#align category_theory.functor.right_unitor_inv_app CategoryTheory.Functor.rightUnitor_inv_app
variable {C : Type u₃} [Category.{v₃} C]
@@ -257,6 +269,8 @@ def associator (F : A ⥤ B) (G : B ⥤ C) (H : C ⥤ D) :
hom := { app := fun _ => 𝟙 _ }
inv := { app := fun _ => 𝟙 _ }
#align category_theory.functor.associator CategoryTheory.Functor.associator
+#align category_theory.functor.associator_inv_app CategoryTheory.Functor.associator_inv_app
+#align category_theory.functor.associator_hom_app CategoryTheory.Functor.associator_hom_app
protected theorem assoc (F : A ⥤ B) (G : B ⥤ C) (H : C ⥤ D) : (F ⋙ G) ⋙ H = F ⋙ G ⋙ H :=
rfl
@@ -173,7 +173,7 @@ def isoWhiskerRight {G H : C ⥤ D} (α : G ≅ H) (F : D ⥤ E) : G ⋙ F ≅ H
theorem isoWhiskerRight_hom {G H : C ⥤ D} (α : G ≅ H) (F : D ⥤ E) :
(isoWhiskerRight α F).hom = whiskerRight α.hom F :=
rfl
-#align category_theory.isoWhiskerRight_hom CategoryTheory.isoWhiskerRight_hom
+#align category_theory.iso_whisker_right_hom CategoryTheory.isoWhiskerRight_hom
@[simp]
theorem isoWhiskerRight_inv {G H : C ⥤ D} (α : G ≅ H) (F : D ⥤ E) :
All dependencies are ported!