category_theory.limits.preserves.functor_category
⟷
Mathlib.CategoryTheory.Limits.Preserves.FunctorCategory
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
@@ -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)
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -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"
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -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`. -/
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -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) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/738054fa93d43512da144ec45ce799d18fd44248
@@ -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]
mathlib commit https://github.com/leanprover-community/mathlib/commit/39478763114722f0ec7613cb2f3f7701f9b86c8d
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/fa78268d4d77cb2b2fbc89f0527e2e7807763780
@@ -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.
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e281deff072232a3c5b3e90034bd65dde396312
@@ -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
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
@@ -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
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)
@@ -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
Homogenises porting notes via capitalisation and addition of whitespace.
It makes the following changes:
@@ -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]
@@ -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} =>
( {
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -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
@@ -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
@@ -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
The unported dependencies are