(Impl) Given a product shape in C/B
, construct the corresponding wide pullback diagram in C
.
Equations
- category_theory.over.construct_products.wide_pullback_diagram_of_diagram_over B F = category_theory.limits.wide_pullback_shape.wide_cospan B (λ (j : J), (F.obj j).left) (λ (j : J), (F.obj j).hom)
(Impl) A preliminary definition to avoid timeouts.
(Impl) A preliminary definition to avoid timeouts.
Equations
- category_theory.over.construct_products.cones_equiv_inverse B F = {obj := category_theory.over.construct_products.cones_equiv_inverse_obj B F, map := λ (c₁ c₂ : category_theory.limits.cone F) (f : c₁ ⟶ c₂), {hom := f.hom.left, w' := _}, map_id' := _, map_comp' := _}
(Impl) A preliminary definition to avoid timeouts.
Equations
- category_theory.over.construct_products.cones_equiv_functor B F = {obj := λ (c : category_theory.limits.cone (category_theory.over.construct_products.wide_pullback_diagram_of_diagram_over B F)), {X := category_theory.over.mk (c.π.app option.none), π := {app := λ (j : category_theory.discrete J), category_theory.over.hom_mk (c.π.app (option.some j)) _, naturality' := _}}, map := λ (c₁ c₂ : category_theory.limits.cone (category_theory.over.construct_products.wide_pullback_diagram_of_diagram_over B F)) (f : c₁ ⟶ c₂), {hom := category_theory.over.hom_mk f.hom _, w' := _}, map_id' := _, map_comp' := _}
(Impl) A preliminary definition to avoid timeouts.
Equations
- category_theory.over.construct_products.cones_equiv_unit_iso B F = category_theory.nat_iso.of_components (λ (_x : category_theory.limits.cone (category_theory.over.construct_products.wide_pullback_diagram_of_diagram_over B F)), category_theory.limits.cones.ext {hom := 𝟙 ((𝟭 (category_theory.limits.cone (category_theory.over.construct_products.wide_pullback_diagram_of_diagram_over B F))).obj _x).X, inv := 𝟙 ((category_theory.over.construct_products.cones_equiv_functor B F ⋙ category_theory.over.construct_products.cones_equiv_inverse B F).obj _x).X, hom_inv_id' := _, inv_hom_id' := _} _) _
(Impl) A preliminary definition to avoid timeouts.
Equations
- category_theory.over.construct_products.cones_equiv_counit_iso B F = category_theory.nat_iso.of_components (λ (_x : category_theory.limits.cone F), category_theory.limits.cones.ext {hom := category_theory.over.hom_mk (𝟙 ((category_theory.over.construct_products.cones_equiv_inverse B F ⋙ category_theory.over.construct_products.cones_equiv_functor B F).obj _x).X.left) _, inv := category_theory.over.hom_mk (𝟙 ((𝟭 (category_theory.limits.cone F)).obj _x).X.left) _, hom_inv_id' := _, inv_hom_id' := _} _) _
(Impl) Establish an equivalence between the category of cones for F
and for the "grown" F
.
Equations
- category_theory.over.construct_products.cones_equiv B F = {functor := category_theory.over.construct_products.cones_equiv_functor B F, inverse := category_theory.over.construct_products.cones_equiv_inverse B F, unit_iso := category_theory.over.construct_products.cones_equiv_unit_iso B F, counit_iso := category_theory.over.construct_products.cones_equiv_counit_iso B F, functor_unit_iso_comp' := _}
Use the above equivalence to prove we have a limit.
Equations
- category_theory.over.construct_products.has_over_limit_discrete_of_wide_pullback_limit F = {cone := (category_theory.over.construct_products.cones_equiv B F).functor.obj (category_theory.limits.limit.cone (category_theory.over.construct_products.wide_pullback_diagram_of_diagram_over B F)), is_limit := category_theory.limits.is_limit.of_right_adjoint (category_theory.over.construct_products.cones_equiv B F).functor (category_theory.limits.limit.is_limit (category_theory.over.construct_products.wide_pullback_diagram_of_diagram_over B F))}
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
.
Equations
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.)
Equations
- category_theory.over.over_has_terminal B = {has_limit := λ (F : category_theory.discrete pempty ⥤ category_theory.over B), {cone := {X := category_theory.over.mk (𝟙 B), π := {app := λ (p : category_theory.discrete pempty), pempty.elim p, naturality' := _}}, is_limit := {lift := λ (s : category_theory.limits.cone F), category_theory.over.hom_mk s.X.hom _, fac' := _, uniq' := _}}}