# mathlib3documentation

category_theory.limits.constructions.over.products

# Products in the over category #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

Shows that products in the over category can be derived from wide pullbacks in the base category. The main result is over_product_of_wide_pullback, which says that if C has J-indexed wide pullbacks, then over B has J-indexed products.

@[reducible]

(Implementation) Given a product diagram in C/B, construct the corresponding wide pullback diagram in C.

Equations
@[simp]
theorem category_theory.over.construct_products.cones_equiv_inverse_obj_π_app {C : Type u} (B : C) {J : Type w}  :
= option.cases_on X c.X.hom (λ (j : J), (c.π.app {as := j}).left)

(Impl) A preliminary definition to avoid timeouts.

Equations

(Impl) A preliminary definition to avoid timeouts.

Equations
@[simp]
@[simp]
theorem category_theory.over.construct_products.cones_equiv_inverse_map_hom {C : Type u} (B : C) {J : Type w} (c₁ c₂ : category_theory.limits.cone F) (f : c₁ c₂) :
@[simp]
theorem category_theory.over.construct_products.cones_equiv_functor_map_hom {C : Type u} (B : C) {J : Type w} (f : c₁ c₂) :

(Impl) A preliminary definition to avoid timeouts.

Equations
• = {obj := λ (c : , {X := , π := {app := λ (_x : , category_theory.over.construct_products.cones_equiv_functor._match_1 B F c _x, naturality' := _}}, map := λ (c₁ c₂ : (f : c₁ c₂), {hom := , w' := _}, map_id' := _, map_comp' := _}
• category_theory.over.construct_products.cones_equiv_functor._match_1 B F c {as := j} = _
@[simp]
@[simp]
theorem category_theory.over.construct_products.cones_equiv_functor_obj_π_app {C : Type u} (B : C) {J : Type w} (_x : category_theory.discrete J) :
= category_theory.over.construct_products.cones_equiv_functor._match_1 B F c _x
@[simp]

(Impl) A preliminary definition to avoid timeouts.

Equations
@[simp]

(Impl) A preliminary definition to avoid timeouts.

Equations
@[simp]

(Impl) Establish an equivalence between the category of cones for F and for the "grown" F.

Equations
@[simp]
@[simp]
@[simp]

Use the above equivalence to prove we have a limit.

Given a wide pullback in C, construct a product in C/B.

Given a pullback in C, construct a binary product in C/B.

Given all wide pullbacks in C, construct products in C/B.

Given all finite wide pullbacks in C, construct finite products in C/B.

theorem category_theory.over.over_has_terminal {C : Type u} (B : C) :

Construct terminal object in the over category. This isn't an instance as it's not typically the way we want to define terminal objects. (For instance, this gives a terminal object which is different from the generic one given by over_product_of_wide_pullback above.)