category_theory.limits.preserves.functor_categoryMathlib.CategoryTheory.Limits.Preserves.FunctorCategory

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)

(last sync)

chore(category_theory/limits/preserves): fix typo (#18906)
Diff
@@ -99,7 +99,7 @@ instance whiskering_right_preserves_limits {C : Type u} [category C]
 
 /-- If `Lan F.op : (Cᵒᵖ ⥤ Type*) ⥤ (Dᵒᵖ ⥤ Type*)` preserves limits of shape `J`, so will `F`. -/
 noncomputable
-def preserves_limit_of_Lan_presesrves_limit {C D : Type u} [small_category C] [small_category D]
+def preserves_limit_of_Lan_preserves_limit {C D : Type u} [small_category C] [small_category D]
   (F : C ⥤ D) (J : Type u) [small_category J]
   [preserves_limits_of_shape J (Lan F.op : _ ⥤ (Dᵒᵖ ⥤ Type u))] :
   preserves_limits_of_shape J F :=

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(first ported)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,10 +3,10 @@ Copyright (c) 2020 Bhavik Mehta. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta
 -/
-import Mathbin.CategoryTheory.Limits.FunctorCategory
-import Mathbin.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts
-import Mathbin.CategoryTheory.Limits.Yoneda
-import Mathbin.CategoryTheory.Limits.Presheaf
+import CategoryTheory.Limits.FunctorCategory
+import CategoryTheory.Limits.Preserves.Shapes.BinaryProducts
+import CategoryTheory.Limits.Yoneda
+import CategoryTheory.Limits.Presheaf
 
 #align_import category_theory.limits.preserves.functor_category from "leanprover-community/mathlib"@"39478763114722f0ec7613cb2f3f7701f9b86c8d"
 
Diff
@@ -2,17 +2,14 @@
 Copyright (c) 2020 Bhavik Mehta. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta
-
-! This file was ported from Lean 3 source module category_theory.limits.preserves.functor_category
-! leanprover-community/mathlib commit 39478763114722f0ec7613cb2f3f7701f9b86c8d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.CategoryTheory.Limits.FunctorCategory
 import Mathbin.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts
 import Mathbin.CategoryTheory.Limits.Yoneda
 import Mathbin.CategoryTheory.Limits.Presheaf
 
+#align_import category_theory.limits.preserves.functor_category from "leanprover-community/mathlib"@"39478763114722f0ec7613cb2f3f7701f9b86c8d"
+
 /-!
 # Preservation of (co)limits in the functor category
 
Diff
@@ -50,6 +50,7 @@ variable {D : Type u₂} [Category.{u} D]
 
 variable {E : Type u} [Category.{v₂} E]
 
+#print CategoryTheory.FunctorCategory.prodPreservesColimits /-
 /-- If `X × -` preserves colimits in `D` for any `X : D`, then the product functor `F ⨯ -` for
 `F : C ⥤ D` also preserves colimits.
 
@@ -80,7 +81,9 @@ def FunctorCategory.prodPreservesColimits [HasBinaryProducts D] [HasColimits D]
             · intro G G'
               apply prod_comparison_natural ((evaluation C D).obj k) (𝟙 F) } }
 #align category_theory.functor_category.prod_preserves_colimits CategoryTheory.FunctorCategory.prodPreservesColimits
+-/
 
+#print CategoryTheory.whiskeringLeftPreservesLimits /-
 instance whiskeringLeftPreservesLimits [HasLimits D] (F : C ⥤ E) :
     PreservesLimits ((whiskeringLeft C E D).obj F) :=
   ⟨fun J hJ =>
@@ -91,7 +94,9 @@ instance whiskeringLeftPreservesLimits [HasLimits D] (F : C ⥤ E) :
         change is_limit (((evaluation E D).obj (F.obj Y)).mapCone c)
         exact preserves_limit.preserves hc⟩⟩⟩
 #align category_theory.whiskering_left_preserves_limits CategoryTheory.whiskeringLeftPreservesLimits
+-/
 
+#print CategoryTheory.whiskeringRightPreservesLimitsOfShape /-
 instance whiskeringRightPreservesLimitsOfShape {C : Type u} [Category C] {D : Type _}
     [Category.{u} D] {E : Type _} [Category.{u} E] {J : Type u} [SmallCategory J]
     [HasLimitsOfShape J D] (F : D ⥤ E) [PreservesLimitsOfShape J F] :
@@ -103,12 +108,15 @@ instance whiskeringRightPreservesLimitsOfShape {C : Type u} [Category C] {D : Ty
       change is_limit (((evaluation _ _).obj k ⋙ F).mapCone c)
       exact preserves_limit.preserves hc⟩⟩
 #align category_theory.whiskering_right_preserves_limits_of_shape CategoryTheory.whiskeringRightPreservesLimitsOfShape
+-/
 
+#print CategoryTheory.whiskeringRightPreservesLimits /-
 instance whiskeringRightPreservesLimits {C : Type u} [Category C] {D : Type _} [Category.{u} D]
     {E : Type _} [Category.{u} E] (F : D ⥤ E) [HasLimits D] [PreservesLimits F] :
     PreservesLimits ((whiskeringRight C D E).obj F) :=
   ⟨⟩
 #align category_theory.whiskering_right_preserves_limits CategoryTheory.whiskeringRightPreservesLimits
+-/
 
 #print CategoryTheory.preservesLimitOfLanPreservesLimit /-
 /-- If `Lan F.op : (Cᵒᵖ ⥤ Type*) ⥤ (Dᵒᵖ ⥤ Type*)` preserves limits of shape `J`, so will `F`. -/
Diff
@@ -71,7 +71,7 @@ def FunctorCategory.prodPreservesColimits [HasBinaryProducts D] [HasColimits D]
             by
             apply evaluation_jointly_reflects_colimits _ fun k => _
             change is_colimit ((prod.functor.obj F ⋙ (evaluation _ _).obj k).mapCocone c)
-            let this :=
+            let this.1 :=
               is_colimit_of_preserves ((evaluation C D).obj k ⋙ prod.functor.obj (F.obj k)) t
             apply is_colimit.map_cocone_equiv _ this
             apply (nat_iso.of_components _ _).symm
Diff
@@ -50,12 +50,6 @@ variable {D : Type u₂} [Category.{u} D]
 
 variable {E : Type u} [Category.{v₂} E]
 
-/- warning: category_theory.functor_category.prod_preserves_colimits -> CategoryTheory.FunctorCategory.prodPreservesColimits is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u2, u3} D] [_inst_4 : CategoryTheory.Limits.HasBinaryProducts.{u2, u3} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasColimits.{u2, u3} D _inst_2] [_inst_6 : forall (X : D), CategoryTheory.Limits.PreservesColimits.{u2, u2, u3, u3} D _inst_2 D _inst_2 (CategoryTheory.Functor.obj.{u2, max u3 u2, u3, max u2 u3} D _inst_2 (CategoryTheory.Functor.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Functor.category.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Limits.prod.functor.{u2, u3} D _inst_2 _inst_4) X)] (F : CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2), CategoryTheory.Limits.PreservesColimits.{u2, u2, max u1 u2 u3, max u1 u2 u3} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.obj.{u2, max (max u1 u2 u3) u2, max u1 u2 u3, max u2 u1 u2 u3} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u2, max u1 u2 u3, max u1 u2 u3} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u2, u2, max u1 u2 u3, max u1 u2 u3} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Limits.prod.functor.{u2, max u1 u2 u3} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.FunctorCategory.prodPreservesColimits._proof_1.{u2, u3, u1} C _inst_1 D _inst_2 _inst_4)) F)
-but is expected to have type
-  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u2, u3} D] [_inst_4 : CategoryTheory.Limits.HasBinaryProducts.{u2, u3} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasColimits.{u2, u3} D _inst_2] [_inst_6 : forall (X : D), CategoryTheory.Limits.PreservesColimits.{u2, u2, u3, u3} D _inst_2 D _inst_2 (Prefunctor.obj.{succ u2, max (succ u2) (succ u3), u3, max u2 u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} D (CategoryTheory.Category.toCategoryStruct.{u2, u3} D _inst_2)) (CategoryTheory.Functor.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u3 u2} (CategoryTheory.Functor.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u3 u2} (CategoryTheory.Functor.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Functor.category.{u2, u2, u3, u3} D _inst_2 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u3, max u3 u2} D _inst_2 (CategoryTheory.Functor.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Functor.category.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Limits.prod.functor.{u2, u3} D _inst_2 _inst_4)) X)] (F : CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2), CategoryTheory.Limits.PreservesColimits.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (Prefunctor.obj.{succ u2, max (succ u2) (succ (max (max u2 u3) u1)), max (max u2 u3) u1, max u2 (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u2 u3) u1) u2, max (max (max u2 u3) u1) u2} (CategoryTheory.Functor.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u2 u3) u1) u2, max (max (max u2 u3) u1) u2} (CategoryTheory.Functor.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{u2, max (max (max u2 u3) u1) u2, max (max u2 u3) u1, max (max (max u2 u3) u1) u2} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Limits.prod.functor.{u2, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Limits.functorCategoryHasLimitsOfShape.{0, u1, 0, u2, u2, u3} D _inst_2 (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) C _inst_1 _inst_4))) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.functor_category.prod_preserves_colimits CategoryTheory.FunctorCategory.prodPreservesColimitsₓ'. -/
 /-- If `X × -` preserves colimits in `D` for any `X : D`, then the product functor `F ⨯ -` for
 `F : C ⥤ D` also preserves colimits.
 
@@ -87,12 +81,6 @@ def FunctorCategory.prodPreservesColimits [HasBinaryProducts D] [HasColimits D]
               apply prod_comparison_natural ((evaluation C D).obj k) (𝟙 F) } }
 #align category_theory.functor_category.prod_preserves_colimits CategoryTheory.FunctorCategory.prodPreservesColimits
 
-/- warning: category_theory.whiskering_left_preserves_limits -> CategoryTheory.whiskeringLeftPreservesLimits is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} D] {E : Type.{u3}} [_inst_3 : CategoryTheory.Category.{u2, u3} E] [_inst_4 : CategoryTheory.Limits.HasLimits.{u3, u4} D _inst_2] (F : CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3), CategoryTheory.Limits.PreservesLimits.{u3, u3, max u2 u3 u4, max u1 u3 u4} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.obj.{max u3 u2, max (max u2 u3 u4) u3, max u1 u2 u3, max u3 (max u2 u3 u4) u1 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Functor.{u3, u3, max u2 u3 u4, max u1 u3 u4} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u3, u3, max u2 u3 u4, max u1 u3 u4} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u3, u1, u3, u2, u4, u3} C _inst_1 E _inst_3 D _inst_2) F)
-but is expected to have type
-  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} D] {E : Type.{u3}} [_inst_3 : CategoryTheory.Category.{u2, u3} E] [_inst_4 : CategoryTheory.Limits.HasLimits.{u3, u4} D _inst_2] (F : CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3), CategoryTheory.Limits.PreservesLimits.{u3, u3, max (max u3 u4) u2, max (max u3 u4) u1} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2) (Prefunctor.obj.{max (succ u3) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max u3 u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u3} C _inst_1 E _inst_3))) (CategoryTheory.Functor.{u3, u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u4) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u3, u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u4) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u3, u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u3, u3, max (max (max u3 u4) u2) u3, max (max (max u3 u4) u1) u3} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max (max u3 u4) u2, max (max u3 u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Functor.{u3, u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u3, u3, max (max (max u3 u4) u2) u3, max (max (max u3 u4) u1) u3} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u3, u1, u3, u2, u4, u3} C _inst_1 E _inst_3 D _inst_2)) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.whiskering_left_preserves_limits CategoryTheory.whiskeringLeftPreservesLimitsₓ'. -/
 instance whiskeringLeftPreservesLimits [HasLimits D] (F : C ⥤ E) :
     PreservesLimits ((whiskeringLeft C E D).obj F) :=
   ⟨fun J hJ =>
@@ -104,12 +92,6 @@ instance whiskeringLeftPreservesLimits [HasLimits D] (F : C ⥤ E) :
         exact preserves_limit.preserves hc⟩⟩⟩
 #align category_theory.whiskering_left_preserves_limits CategoryTheory.whiskeringLeftPreservesLimits
 
-/- warning: category_theory.whiskering_right_preserves_limits_of_shape -> CategoryTheory.whiskeringRightPreservesLimitsOfShape is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_4 : CategoryTheory.Category.{u2, u1} C] {D : Type.{u3}} [_inst_5 : CategoryTheory.Category.{u1, u3} D] {E : Type.{u4}} [_inst_6 : CategoryTheory.Category.{u1, u4} E] {J : Type.{u1}} [_inst_7 : CategoryTheory.SmallCategory.{u1} J] [_inst_8 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u1, u1, u3} J _inst_7 D _inst_5] (F : CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) [_inst_9 : CategoryTheory.Limits.PreservesLimitsOfShape.{u1, u1, u1, u1, u3, u4} D _inst_5 E _inst_6 J _inst_7 F], CategoryTheory.Limits.PreservesLimitsOfShape.{u1, u1, u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6) J _inst_7 (CategoryTheory.Functor.obj.{max u3 u1, max (max u2 u1 u3) u1, max u1 u3 u4, max u1 (max u2 u1 u3) u2 u1 u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.{u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.whiskeringRight.{u1, u2, u3, u1, u4, u1} C _inst_4 D _inst_5 E _inst_6) F)
-but is expected to have type
-  forall {C : Type.{u1}} [_inst_4 : CategoryTheory.Category.{u2, u1} C] {D : Type.{u3}} [_inst_5 : CategoryTheory.Category.{u1, u3} D] {E : Type.{u4}} [_inst_6 : CategoryTheory.Category.{u1, u4} E] {J : Type.{u1}} [_inst_7 : CategoryTheory.SmallCategory.{u1} J] [_inst_8 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u1, u1, u3} J _inst_7 D _inst_5] (F : CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) [_inst_9 : CategoryTheory.Limits.PreservesLimitsOfShape.{u1, u1, u1, u1, u3, u4} D _inst_5 E _inst_6 J _inst_7 F], CategoryTheory.Limits.PreservesLimitsOfShape.{u1, u1, u1, u1, max (max u1 u2) u3, max (max u1 u2) u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6) J _inst_7 (Prefunctor.obj.{max (succ u1) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u1 u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u1 u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6))) (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u1 u2) u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Category.toCategoryStruct.{max (max u1 u2) u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max (max (max u1 u3) u2) u1, max (max (max u1 u4) u2) u1} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max (max u1 u2) u3, max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max (max (max u1 u3) u2) u1, max (max (max u1 u4) u2) u1} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.whiskeringRight.{u1, u2, u3, u1, u4, u1} C _inst_4 D _inst_5 E _inst_6)) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.whiskering_right_preserves_limits_of_shape CategoryTheory.whiskeringRightPreservesLimitsOfShapeₓ'. -/
 instance whiskeringRightPreservesLimitsOfShape {C : Type u} [Category C] {D : Type _}
     [Category.{u} D] {E : Type _} [Category.{u} E] {J : Type u} [SmallCategory J]
     [HasLimitsOfShape J D] (F : D ⥤ E) [PreservesLimitsOfShape J F] :
@@ -122,12 +104,6 @@ instance whiskeringRightPreservesLimitsOfShape {C : Type u} [Category C] {D : Ty
       exact preserves_limit.preserves hc⟩⟩
 #align category_theory.whiskering_right_preserves_limits_of_shape CategoryTheory.whiskeringRightPreservesLimitsOfShape
 
-/- warning: category_theory.whiskering_right_preserves_limits -> CategoryTheory.whiskeringRightPreservesLimits is a dubious translation:
-lean 3 declaration is
-  forall {C : Type.{u1}} [_inst_4 : CategoryTheory.Category.{u2, u1} C] {D : Type.{u3}} [_inst_5 : CategoryTheory.Category.{u1, u3} D] {E : Type.{u4}} [_inst_6 : CategoryTheory.Category.{u1, u4} E] (F : CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) [_inst_7 : CategoryTheory.Limits.HasLimits.{u1, u3} D _inst_5] [_inst_8 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u3, u4} D _inst_5 E _inst_6 F], CategoryTheory.Limits.PreservesLimits.{u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.obj.{max u3 u1, max (max u2 u1 u3) u1, max u1 u3 u4, max u1 (max u2 u1 u3) u2 u1 u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.{u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.whiskeringRight.{u1, u2, u3, u1, u4, u1} C _inst_4 D _inst_5 E _inst_6) F)
-but is expected to have type
-  forall {C : Type.{u1}} [_inst_4 : CategoryTheory.Category.{u2, u1} C] {D : Type.{u3}} [_inst_5 : CategoryTheory.Category.{u1, u3} D] {E : Type.{u4}} [_inst_6 : CategoryTheory.Category.{u1, u4} E] (F : CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) [_inst_7 : CategoryTheory.Limits.HasLimits.{u1, u3} D _inst_5] [_inst_8 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u3, u4} D _inst_5 E _inst_6 F], CategoryTheory.Limits.PreservesLimits.{u1, u1, max (max u1 u2) u3, max (max u1 u2) u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6) (Prefunctor.obj.{max (succ u1) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u1 u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u1 u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6))) (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u1 u2) u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Category.toCategoryStruct.{max (max u1 u2) u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max (max (max u1 u3) u2) u1, max (max (max u1 u4) u2) u1} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max (max u1 u2) u3, max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max (max (max u1 u3) u2) u1, max (max (max u1 u4) u2) u1} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.whiskeringRight.{u1, u2, u3, u1, u4, u1} C _inst_4 D _inst_5 E _inst_6)) F)
-Case conversion may be inaccurate. Consider using '#align category_theory.whiskering_right_preserves_limits CategoryTheory.whiskeringRightPreservesLimitsₓ'. -/
 instance whiskeringRightPreservesLimits {C : Type u} [Category C] {D : Type _} [Category.{u} D]
     {E : Type _} [Category.{u} E] (F : D ⥤ E) [HasLimits D] [PreservesLimits F] :
     PreservesLimits ((whiskeringRight C D E).obj F) :=
Diff
@@ -134,8 +134,6 @@ instance whiskeringRightPreservesLimits {C : Type u} [Category C] {D : Type _} [
   ⟨⟩
 #align category_theory.whiskering_right_preserves_limits CategoryTheory.whiskeringRightPreservesLimits
 
-/- warning: category_theory.preserves_limit_of_Lan_preserves_limit clashes with category_theory.preserves_limit_of_Lan_presesrves_limit -> CategoryTheory.preservesLimitOfLanPreservesLimit
-Case conversion may be inaccurate. Consider using '#align category_theory.preserves_limit_of_Lan_preserves_limit CategoryTheory.preservesLimitOfLanPreservesLimitₓ'. -/
 #print CategoryTheory.preservesLimitOfLanPreservesLimit /-
 /-- If `Lan F.op : (Cᵒᵖ ⥤ Type*) ⥤ (Dᵒᵖ ⥤ Type*)` preserves limits of shape `J`, so will `F`. -/
 noncomputable def preservesLimitOfLanPreservesLimit {C D : Type u} [SmallCategory C]
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta
 
 ! This file was ported from Lean 3 source module category_theory.limits.preserves.functor_category
-! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
+! leanprover-community/mathlib commit 39478763114722f0ec7613cb2f3f7701f9b86c8d
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -134,6 +134,8 @@ instance whiskeringRightPreservesLimits {C : Type u} [Category C] {D : Type _} [
   ⟨⟩
 #align category_theory.whiskering_right_preserves_limits CategoryTheory.whiskeringRightPreservesLimits
 
+/- warning: category_theory.preserves_limit_of_Lan_preserves_limit clashes with category_theory.preserves_limit_of_Lan_presesrves_limit -> CategoryTheory.preservesLimitOfLanPreservesLimit
+Case conversion may be inaccurate. Consider using '#align category_theory.preserves_limit_of_Lan_preserves_limit CategoryTheory.preservesLimitOfLanPreservesLimitₓ'. -/
 #print CategoryTheory.preservesLimitOfLanPreservesLimit /-
 /-- If `Lan F.op : (Cᵒᵖ ⥤ Type*) ⥤ (Dᵒᵖ ⥤ Type*)` preserves limits of shape `J`, so will `F`. -/
 noncomputable def preservesLimitOfLanPreservesLimit {C D : Type u} [SmallCategory C]
@@ -143,7 +145,7 @@ noncomputable def preservesLimitOfLanPreservesLimit {C D : Type u} [SmallCategor
   apply preserves_limits_of_shape_of_reflects_of_preserves F yoneda
   exact preserves_limits_of_shape_of_nat_iso (comp_yoneda_iso_yoneda_comp_Lan F).symm
   infer_instance
-#align category_theory.preserves_limit_of_Lan_presesrves_limit CategoryTheory.preservesLimitOfLanPreservesLimit
+#align category_theory.preserves_limit_of_Lan_preserves_limit CategoryTheory.preservesLimitOfLanPreservesLimit
 -/
 
 end CategoryTheory
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta
 
 ! This file was ported from Lean 3 source module category_theory.limits.preserves.functor_category
-! leanprover-community/mathlib commit 7cd8adb7a9d7d0498d2e76c23cd4255f966899f5
+! leanprover-community/mathlib commit 9d2f0748e6c50d7a2657c564b1ff2c695b39148d
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -16,6 +16,9 @@ import Mathbin.CategoryTheory.Limits.Presheaf
 /-!
 # Preservation of (co)limits in the functor category
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 * Show that if `X ⨯ -` preserves colimits in `D` for any `X : D`, then the product functor `F ⨯ -`
 for `F : C ⥤ D` preserves colimits.
 
Diff
@@ -47,6 +47,12 @@ variable {D : Type u₂} [Category.{u} D]
 
 variable {E : Type u} [Category.{v₂} E]
 
+/- warning: category_theory.functor_category.prod_preserves_colimits -> CategoryTheory.FunctorCategory.prodPreservesColimits is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u2, u3} D] [_inst_4 : CategoryTheory.Limits.HasBinaryProducts.{u2, u3} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasColimits.{u2, u3} D _inst_2] [_inst_6 : forall (X : D), CategoryTheory.Limits.PreservesColimits.{u2, u2, u3, u3} D _inst_2 D _inst_2 (CategoryTheory.Functor.obj.{u2, max u3 u2, u3, max u2 u3} D _inst_2 (CategoryTheory.Functor.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Functor.category.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Limits.prod.functor.{u2, u3} D _inst_2 _inst_4) X)] (F : CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2), CategoryTheory.Limits.PreservesColimits.{u2, u2, max u1 u2 u3, max u1 u2 u3} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.obj.{u2, max (max u1 u2 u3) u2, max u1 u2 u3, max u2 u1 u2 u3} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u2, max u1 u2 u3, max u1 u2 u3} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u2, u2, max u1 u2 u3, max u1 u2 u3} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Limits.prod.functor.{u2, max u1 u2 u3} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.FunctorCategory.prodPreservesColimits._proof_1.{u2, u3, u1} C _inst_1 D _inst_2 _inst_4)) F)
+but is expected to have type
+  forall {C : Type.{u2}} [_inst_1 : CategoryTheory.Category.{u1, u2} C] {D : Type.{u3}} [_inst_2 : CategoryTheory.Category.{u2, u3} D] [_inst_4 : CategoryTheory.Limits.HasBinaryProducts.{u2, u3} D _inst_2] [_inst_5 : CategoryTheory.Limits.HasColimits.{u2, u3} D _inst_2] [_inst_6 : forall (X : D), CategoryTheory.Limits.PreservesColimits.{u2, u2, u3, u3} D _inst_2 D _inst_2 (Prefunctor.obj.{succ u2, max (succ u2) (succ u3), u3, max u2 u3} D (CategoryTheory.CategoryStruct.toQuiver.{u2, u3} D (CategoryTheory.Category.toCategoryStruct.{u2, u3} D _inst_2)) (CategoryTheory.Functor.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max u3 u2} (CategoryTheory.Functor.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max u3 u2} (CategoryTheory.Functor.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Functor.category.{u2, u2, u3, u3} D _inst_2 D _inst_2))) (CategoryTheory.Functor.toPrefunctor.{u2, max u3 u2, u3, max u3 u2} D _inst_2 (CategoryTheory.Functor.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Functor.category.{u2, u2, u3, u3} D _inst_2 D _inst_2) (CategoryTheory.Limits.prod.functor.{u2, u3} D _inst_2 _inst_4)) X)] (F : CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2), CategoryTheory.Limits.PreservesColimits.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (Prefunctor.obj.{succ u2, max (succ u2) (succ (max (max u2 u3) u1)), max (max u2 u3) u1, max u2 (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.CategoryStruct.toQuiver.{u2, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Category.toCategoryStruct.{u2, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2))) (CategoryTheory.Functor.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max (max u2 u3) u1) u2, max (max (max u2 u3) u1) u2} (CategoryTheory.Functor.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max (max u2 u3) u1) u2, max (max (max u2 u3) u1) u2} (CategoryTheory.Functor.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{u2, max (max (max u2 u3) u1) u2, max (max u2 u3) u1, max (max (max u2 u3) u1) u2} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u2, u2, max (max u2 u3) u1, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2)) (CategoryTheory.Limits.prod.functor.{u2, max (max u2 u3) u1} (CategoryTheory.Functor.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u2, u2, u3} C _inst_1 D _inst_2) (CategoryTheory.Limits.functorCategoryHasLimitsOfShape.{0, u1, 0, u2, u2, u3} D _inst_2 (CategoryTheory.Discrete.{0} CategoryTheory.Limits.WalkingPair) (CategoryTheory.discreteCategory.{0} CategoryTheory.Limits.WalkingPair) C _inst_1 _inst_4))) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.functor_category.prod_preserves_colimits CategoryTheory.FunctorCategory.prodPreservesColimitsₓ'. -/
 /-- If `X × -` preserves colimits in `D` for any `X : D`, then the product functor `F ⨯ -` for
 `F : C ⥤ D` also preserves colimits.
 
@@ -78,6 +84,12 @@ def FunctorCategory.prodPreservesColimits [HasBinaryProducts D] [HasColimits D]
               apply prod_comparison_natural ((evaluation C D).obj k) (𝟙 F) } }
 #align category_theory.functor_category.prod_preserves_colimits CategoryTheory.FunctorCategory.prodPreservesColimits
 
+/- warning: category_theory.whiskering_left_preserves_limits -> CategoryTheory.whiskeringLeftPreservesLimits is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} D] {E : Type.{u3}} [_inst_3 : CategoryTheory.Category.{u2, u3} E] [_inst_4 : CategoryTheory.Limits.HasLimits.{u3, u4} D _inst_2] (F : CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3), CategoryTheory.Limits.PreservesLimits.{u3, u3, max u2 u3 u4, max u1 u3 u4} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.obj.{max u3 u2, max (max u2 u3 u4) u3, max u1 u2 u3, max u3 (max u2 u3 u4) u1 u3 u4} (CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Functor.{u3, u3, max u2 u3 u4, max u1 u3 u4} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u3, u3, max u2 u3 u4, max u1 u3 u4} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u3, u1, u3, u2, u4, u3} C _inst_1 E _inst_3 D _inst_2) F)
+but is expected to have type
+  forall {C : Type.{u3}} [_inst_1 : CategoryTheory.Category.{u1, u3} C] {D : Type.{u4}} [_inst_2 : CategoryTheory.Category.{u3, u4} D] {E : Type.{u3}} [_inst_3 : CategoryTheory.Category.{u2, u3} E] [_inst_4 : CategoryTheory.Limits.HasLimits.{u3, u4} D _inst_2] (F : CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3), CategoryTheory.Limits.PreservesLimits.{u3, u3, max (max u3 u4) u2, max (max u3 u4) u1} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2) (Prefunctor.obj.{max (succ u3) (succ u2), max (max (succ u3) (succ u4)) (succ u2), max (max u3 u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.CategoryStruct.toQuiver.{max u3 u2, max (max u3 u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Category.toCategoryStruct.{max u3 u2, max (max u3 u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u3} C _inst_1 E _inst_3))) (CategoryTheory.Functor.{u3, u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u3 u4) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u3, u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.Category.toCategoryStruct.{max (max u3 u4) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u3, u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u3, u3, max (max (max u3 u4) u2) u3, max (max (max u3 u4) u1) u3} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)))) (CategoryTheory.Functor.toPrefunctor.{max u3 u2, max (max u3 u4) u2, max (max u3 u1) u2, max (max (max u3 u4) u1) u2} (CategoryTheory.Functor.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Functor.category.{u1, u2, u3, u3} C _inst_1 E _inst_3) (CategoryTheory.Functor.{u3, u3, max (max u4 u3) u2, max (max u4 u3) u1} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.Functor.category.{u3, u3, max (max (max u3 u4) u2) u3, max (max (max u3 u4) u1) u3} (CategoryTheory.Functor.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.category.{u2, u3, u3, u4} E _inst_3 D _inst_2) (CategoryTheory.Functor.{u1, u3, u3, u4} C _inst_1 D _inst_2) (CategoryTheory.Functor.category.{u1, u3, u3, u4} C _inst_1 D _inst_2)) (CategoryTheory.whiskeringLeft.{u3, u1, u3, u2, u4, u3} C _inst_1 E _inst_3 D _inst_2)) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.whiskering_left_preserves_limits CategoryTheory.whiskeringLeftPreservesLimitsₓ'. -/
 instance whiskeringLeftPreservesLimits [HasLimits D] (F : C ⥤ E) :
     PreservesLimits ((whiskeringLeft C E D).obj F) :=
   ⟨fun J hJ =>
@@ -89,6 +101,12 @@ instance whiskeringLeftPreservesLimits [HasLimits D] (F : C ⥤ E) :
         exact preserves_limit.preserves hc⟩⟩⟩
 #align category_theory.whiskering_left_preserves_limits CategoryTheory.whiskeringLeftPreservesLimits
 
+/- warning: category_theory.whiskering_right_preserves_limits_of_shape -> CategoryTheory.whiskeringRightPreservesLimitsOfShape is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_4 : CategoryTheory.Category.{u2, u1} C] {D : Type.{u3}} [_inst_5 : CategoryTheory.Category.{u1, u3} D] {E : Type.{u4}} [_inst_6 : CategoryTheory.Category.{u1, u4} E] {J : Type.{u1}} [_inst_7 : CategoryTheory.SmallCategory.{u1} J] [_inst_8 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u1, u1, u3} J _inst_7 D _inst_5] (F : CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) [_inst_9 : CategoryTheory.Limits.PreservesLimitsOfShape.{u1, u1, u1, u1, u3, u4} D _inst_5 E _inst_6 J _inst_7 F], CategoryTheory.Limits.PreservesLimitsOfShape.{u1, u1, u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6) J _inst_7 (CategoryTheory.Functor.obj.{max u3 u1, max (max u2 u1 u3) u1, max u1 u3 u4, max u1 (max u2 u1 u3) u2 u1 u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.{u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.whiskeringRight.{u1, u2, u3, u1, u4, u1} C _inst_4 D _inst_5 E _inst_6) F)
+but is expected to have type
+  forall {C : Type.{u1}} [_inst_4 : CategoryTheory.Category.{u2, u1} C] {D : Type.{u3}} [_inst_5 : CategoryTheory.Category.{u1, u3} D] {E : Type.{u4}} [_inst_6 : CategoryTheory.Category.{u1, u4} E] {J : Type.{u1}} [_inst_7 : CategoryTheory.SmallCategory.{u1} J] [_inst_8 : CategoryTheory.Limits.HasLimitsOfShape.{u1, u1, u1, u3} J _inst_7 D _inst_5] (F : CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) [_inst_9 : CategoryTheory.Limits.PreservesLimitsOfShape.{u1, u1, u1, u1, u3, u4} D _inst_5 E _inst_6 J _inst_7 F], CategoryTheory.Limits.PreservesLimitsOfShape.{u1, u1, u1, u1, max (max u1 u2) u3, max (max u1 u2) u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6) J _inst_7 (Prefunctor.obj.{max (succ u1) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u1 u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u1 u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6))) (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u1 u2) u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Category.toCategoryStruct.{max (max u1 u2) u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max (max (max u1 u3) u2) u1, max (max (max u1 u4) u2) u1} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max (max u1 u2) u3, max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max (max (max u1 u3) u2) u1, max (max (max u1 u4) u2) u1} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.whiskeringRight.{u1, u2, u3, u1, u4, u1} C _inst_4 D _inst_5 E _inst_6)) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.whiskering_right_preserves_limits_of_shape CategoryTheory.whiskeringRightPreservesLimitsOfShapeₓ'. -/
 instance whiskeringRightPreservesLimitsOfShape {C : Type u} [Category C] {D : Type _}
     [Category.{u} D] {E : Type _} [Category.{u} E] {J : Type u} [SmallCategory J]
     [HasLimitsOfShape J D] (F : D ⥤ E) [PreservesLimitsOfShape J F] :
@@ -101,21 +119,29 @@ instance whiskeringRightPreservesLimitsOfShape {C : Type u} [Category C] {D : Ty
       exact preserves_limit.preserves hc⟩⟩
 #align category_theory.whiskering_right_preserves_limits_of_shape CategoryTheory.whiskeringRightPreservesLimitsOfShape
 
+/- warning: category_theory.whiskering_right_preserves_limits -> CategoryTheory.whiskeringRightPreservesLimits is a dubious translation:
+lean 3 declaration is
+  forall {C : Type.{u1}} [_inst_4 : CategoryTheory.Category.{u2, u1} C] {D : Type.{u3}} [_inst_5 : CategoryTheory.Category.{u1, u3} D] {E : Type.{u4}} [_inst_6 : CategoryTheory.Category.{u1, u4} E] (F : CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) [_inst_7 : CategoryTheory.Limits.HasLimits.{u1, u3} D _inst_5] [_inst_8 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u3, u4} D _inst_5 E _inst_6 F], CategoryTheory.Limits.PreservesLimits.{u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.obj.{max u3 u1, max (max u2 u1 u3) u1, max u1 u3 u4, max u1 (max u2 u1 u3) u2 u1 u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.{u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max u2 u1 u3, max u2 u1 u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.whiskeringRight.{u1, u2, u3, u1, u4, u1} C _inst_4 D _inst_5 E _inst_6) F)
+but is expected to have type
+  forall {C : Type.{u1}} [_inst_4 : CategoryTheory.Category.{u2, u1} C] {D : Type.{u3}} [_inst_5 : CategoryTheory.Category.{u1, u3} D] {E : Type.{u4}} [_inst_6 : CategoryTheory.Category.{u1, u4} E] (F : CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) [_inst_7 : CategoryTheory.Limits.HasLimits.{u1, u3} D _inst_5] [_inst_8 : CategoryTheory.Limits.PreservesLimits.{u1, u1, u3, u4} D _inst_5 E _inst_6 F], CategoryTheory.Limits.PreservesLimits.{u1, u1, max (max u1 u2) u3, max (max u1 u2) u4} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6) (Prefunctor.obj.{max (succ u1) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.CategoryStruct.toQuiver.{max u1 u3, max (max u1 u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Category.toCategoryStruct.{max u1 u3, max (max u1 u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6))) (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.CategoryStruct.toQuiver.{max (max u1 u2) u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Category.toCategoryStruct.{max (max u1 u2) u3, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max (max (max u1 u3) u2) u1, max (max (max u1 u4) u2) u1} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)))) (CategoryTheory.Functor.toPrefunctor.{max u1 u3, max (max u1 u2) u3, max (max u1 u3) u4, max (max (max u1 u2) u3) u4} (CategoryTheory.Functor.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.category.{u1, u1, u3, u4} D _inst_5 E _inst_6) (CategoryTheory.Functor.{u1, u1, max (max u3 u1) u2, max (max u4 u1) u2} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.Functor.category.{u1, u1, max (max (max u1 u3) u2) u1, max (max (max u1 u4) u2) u1} (CategoryTheory.Functor.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.category.{u2, u1, u1, u3} C _inst_4 D _inst_5) (CategoryTheory.Functor.{u2, u1, u1, u4} C _inst_4 E _inst_6) (CategoryTheory.Functor.category.{u2, u1, u1, u4} C _inst_4 E _inst_6)) (CategoryTheory.whiskeringRight.{u1, u2, u3, u1, u4, u1} C _inst_4 D _inst_5 E _inst_6)) F)
+Case conversion may be inaccurate. Consider using '#align category_theory.whiskering_right_preserves_limits CategoryTheory.whiskeringRightPreservesLimitsₓ'. -/
 instance whiskeringRightPreservesLimits {C : Type u} [Category C] {D : Type _} [Category.{u} D]
     {E : Type _} [Category.{u} E] (F : D ⥤ E) [HasLimits D] [PreservesLimits F] :
     PreservesLimits ((whiskeringRight C D E).obj F) :=
   ⟨⟩
 #align category_theory.whiskering_right_preserves_limits CategoryTheory.whiskeringRightPreservesLimits
 
+#print CategoryTheory.preservesLimitOfLanPreservesLimit /-
 /-- If `Lan F.op : (Cᵒᵖ ⥤ Type*) ⥤ (Dᵒᵖ ⥤ Type*)` preserves limits of shape `J`, so will `F`. -/
-noncomputable def preservesLimitOfLanPresesrvesLimit {C D : Type u} [SmallCategory C]
+noncomputable def preservesLimitOfLanPreservesLimit {C D : Type u} [SmallCategory C]
     [SmallCategory D] (F : C ⥤ D) (J : Type u) [SmallCategory J]
     [PreservesLimitsOfShape J (lan F.op : _ ⥤ Dᵒᵖ ⥤ Type u)] : PreservesLimitsOfShape J F :=
   by
   apply preserves_limits_of_shape_of_reflects_of_preserves F yoneda
   exact preserves_limits_of_shape_of_nat_iso (comp_yoneda_iso_yoneda_comp_Lan F).symm
   infer_instance
-#align category_theory.preserves_limit_of_Lan_presesrves_limit CategoryTheory.preservesLimitOfLanPresesrvesLimit
+#align category_theory.preserves_limit_of_Lan_presesrves_limit CategoryTheory.preservesLimitOfLanPreservesLimit
+-/
 
 end CategoryTheory
 

Changes in mathlib4

mathlib3
mathlib4
refactor: generalize universes for commuting filtered colimits and finite limits (#11325)
Diff
@@ -30,7 +30,7 @@ https://ncatlab.org/nlab/show/commutativity+of+limits+and+colimits#preservation_
 -/
 
 
-universe v₁ v₂ u u₂
+universe w w' v₁ v₂ u u₂
 
 noncomputable section
 
@@ -84,8 +84,8 @@ instance whiskeringLeftPreservesLimits [HasLimits D] (F : C ⥤ E) :
         exact PreservesLimit.preserves hc⟩⟩⟩
 #align category_theory.whiskering_left_preserves_limits CategoryTheory.whiskeringLeftPreservesLimits
 
-instance whiskeringRightPreservesLimitsOfShape {C : Type u} [Category C] {D : Type*}
-    [Category.{u} D] {E : Type*} [Category.{u} E] {J : Type u} [SmallCategory J]
+instance whiskeringRightPreservesLimitsOfShape {C : Type*} [Category C] {D : Type*}
+    [Category D] {E : Type*} [Category E] {J : Type*} [Category J]
     [HasLimitsOfShape J D] (F : D ⥤ E) [PreservesLimitsOfShape J F] :
     PreservesLimitsOfShape J ((whiskeringRight C D E).obj F) :=
   ⟨fun {K} =>
@@ -95,9 +95,10 @@ instance whiskeringRightPreservesLimitsOfShape {C : Type u} [Category C] {D : Ty
       exact PreservesLimit.preserves hc⟩⟩
 #align category_theory.whiskering_right_preserves_limits_of_shape CategoryTheory.whiskeringRightPreservesLimitsOfShape
 
-instance whiskeringRightPreservesLimits {C : Type u} [Category C] {D : Type*} [Category.{u} D]
-    {E : Type*} [Category.{u} E] (F : D ⥤ E) [HasLimits D] [PreservesLimits F] :
-    PreservesLimits ((whiskeringRight C D E).obj F) :=
+instance whiskeringRightPreservesLimits {C : Type*} [Category C] {D : Type*} [Category D]
+    {E : Type*} [Category E] (F : D ⥤ E) [HasLimitsOfSize.{w, w'} D]
+    [PreservesLimitsOfSize.{w, w'} F] :
+    PreservesLimitsOfSize.{w, w'} ((whiskeringRight C D E).obj F) :=
   ⟨inferInstance⟩
 #align category_theory.whiskering_right_preserves_limits CategoryTheory.whiskeringRightPreservesLimits
 
chore(*): remove empty lines between variable statements (#11418)

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)
Diff
@@ -39,9 +39,7 @@ namespace CategoryTheory
 open Category Limits
 
 variable {C : Type u} [Category.{v₁} C]
-
 variable {D : Type u₂} [Category.{u} D]
-
 variable {E : Type u} [Category.{v₂} E]
 
 /-- If `X × -` preserves colimits in `D` for any `X : D`, then the product functor `F ⨯ -` for
style: homogenise porting notes (#11145)

Homogenises porting notes via capitalisation and addition of whitespace.

It makes the following changes:

  • converts "--porting note" into "-- Porting note";
  • converts "porting note" into "Porting note".
Diff
@@ -103,7 +103,7 @@ instance whiskeringRightPreservesLimits {C : Type u} [Category C] {D : Type*} [C
   ⟨inferInstance⟩
 #align category_theory.whiskering_right_preserves_limits CategoryTheory.whiskeringRightPreservesLimits
 
--- porting note: fixed spelling mistake in def
+-- Porting note: fixed spelling mistake in def
 /-- If `Lan F.op : (Cᵒᵖ ⥤ Type*) ⥤ (Dᵒᵖ ⥤ Type*)` preserves limits of shape `J`, so will `F`. -/
 noncomputable def preservesLimitOfLanPreservesLimit {C D : Type u} [SmallCategory C]
     [SmallCategory D] (F : C ⥤ D) (J : Type u) [SmallCategory J]
style: fix wrapping of where (#7149)
Diff
@@ -57,8 +57,8 @@ work to convert to this version: namely, the natural isomorphism
 -/
 def FunctorCategory.prodPreservesColimits [HasBinaryProducts D] [HasColimits D]
     [∀ X : D, PreservesColimits (prod.functor.obj X)] (F : C ⥤ D) :
-    PreservesColimits (prod.functor.obj F)
-    where preservesColimitsOfShape {J : Type u} [Category.{u, u} J] :=
+    PreservesColimits (prod.functor.obj F) where
+  preservesColimitsOfShape {J : Type u} [Category.{u, u} J] :=
     {
       preservesColimit := fun {K : J ⥤ C ⥤ D} =>
         ( {
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -86,8 +86,8 @@ instance whiskeringLeftPreservesLimits [HasLimits D] (F : C ⥤ E) :
         exact PreservesLimit.preserves hc⟩⟩⟩
 #align category_theory.whiskering_left_preserves_limits CategoryTheory.whiskeringLeftPreservesLimits
 
-instance whiskeringRightPreservesLimitsOfShape {C : Type u} [Category C] {D : Type _}
-    [Category.{u} D] {E : Type _} [Category.{u} E] {J : Type u} [SmallCategory J]
+instance whiskeringRightPreservesLimitsOfShape {C : Type u} [Category C] {D : Type*}
+    [Category.{u} D] {E : Type*} [Category.{u} E] {J : Type u} [SmallCategory J]
     [HasLimitsOfShape J D] (F : D ⥤ E) [PreservesLimitsOfShape J F] :
     PreservesLimitsOfShape J ((whiskeringRight C D E).obj F) :=
   ⟨fun {K} =>
@@ -97,8 +97,8 @@ instance whiskeringRightPreservesLimitsOfShape {C : Type u} [Category C] {D : Ty
       exact PreservesLimit.preserves hc⟩⟩
 #align category_theory.whiskering_right_preserves_limits_of_shape CategoryTheory.whiskeringRightPreservesLimitsOfShape
 
-instance whiskeringRightPreservesLimits {C : Type u} [Category C] {D : Type _} [Category.{u} D]
-    {E : Type _} [Category.{u} E] (F : D ⥤ E) [HasLimits D] [PreservesLimits F] :
+instance whiskeringRightPreservesLimits {C : Type u} [Category C] {D : Type*} [Category.{u} D]
+    {E : Type*} [Category.{u} E] (F : D ⥤ E) [HasLimits D] [PreservesLimits F] :
     PreservesLimits ((whiskeringRight C D E).obj F) :=
   ⟨inferInstance⟩
 #align category_theory.whiskering_right_preserves_limits CategoryTheory.whiskeringRightPreservesLimits
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) 2020 Bhavik Mehta. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta
-
-! This file was ported from Lean 3 source module category_theory.limits.preserves.functor_category
-! leanprover-community/mathlib commit 39478763114722f0ec7613cb2f3f7701f9b86c8d
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.CategoryTheory.Limits.FunctorCategory
 import Mathlib.CategoryTheory.Limits.Preserves.Shapes.BinaryProducts
 import Mathlib.CategoryTheory.Limits.Yoneda
 import Mathlib.CategoryTheory.Limits.Presheaf
 
+#align_import category_theory.limits.preserves.functor_category from "leanprover-community/mathlib"@"39478763114722f0ec7613cb2f3f7701f9b86c8d"
+
 /-!
 # Preservation of (co)limits in the functor category
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Bhavik Mehta
 
 ! This file was ported from Lean 3 source module category_theory.limits.preserves.functor_category
-! leanprover-community/mathlib commit 7cd8adb7a9d7d0498d2e76c23cd4255f966899f5
+! leanprover-community/mathlib commit 39478763114722f0ec7613cb2f3f7701f9b86c8d
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -114,6 +114,6 @@ noncomputable def preservesLimitOfLanPreservesLimit {C D : Type u} [SmallCategor
   apply @preservesLimitsOfShapeOfReflectsOfPreserves _ _ _ _ _ _ _ _ F yoneda ?_
   exact preservesLimitsOfShapeOfNatIso (compYonedaIsoYonedaCompLan F).symm
 set_option linter.uppercaseLean3 false in
-#align category_theory.preserves_limit_of_Lan_presesrves_limit CategoryTheory.preservesLimitOfLanPreservesLimit
+#align category_theory.preserves_limit_of_Lan_preserves_limit CategoryTheory.preservesLimitOfLanPreservesLimit
 
 end CategoryTheory
feat: port CategoryTheory.Limits.Preserves.FunctorCategory (#3599)

Straightforward.

Dependencies 2 + 245

246 files ported (99.2%)
102340 lines ported (99.9%)
Show graph

The unported dependencies are