# Documentation

Mathlib.CategoryTheory.Closed.Ideal

# Exponential ideals #

An exponential ideal of a cartesian closed category C is a subcategory D ⊆ C such that for any B : D and A : C, the exponential A ⟹ B is in D: resembling ring theoretic ideals. We define the notion here for inclusion functors i : D ⥤ C rather than explicit subcategories to preserve the principle of equivalence.

We additionally show that if C is cartesian closed and i : D ⥤ C is a reflective functor, the following are equivalent.

• The left adjoint to i preserves binary (equivalently, finite) products.
• i is an exponential ideal.
class CategoryTheory.ExponentialIdeal {C : Type u₁} {D : Type u₂} [] [] (i : ) :
• exp_closed : ∀ {B : C}, ∀ (A : C), (AB)

The subcategory D of C expressed as an inclusion functor is an exponential ideal if B ∈ D implies A ⟹ B ∈ D for all A.

Instances
theorem CategoryTheory.ExponentialIdeal.mk' {C : Type u₁} {D : Type u₂} [] [] (i : ) (h : ∀ (B : D) (A : C), (Ai.obj B) ) :

To show i is an exponential ideal it suffices to show that A ⟹ iB is "in" D for any A in C and B in D.

The entire category viewed as a subcategory is an exponential ideal.

The subcategory of subterminal objects is an exponential ideal.

def CategoryTheory.exponentialIdealReflective {C : Type u₁} {D : Type u₂} [] [] (i : ) (A : C) :

If D is a reflective subcategory, the property of being an exponential ideal is equivalent to the presence of a natural isomorphism i ⋙ exp A ⋙ leftAdjoint i ⋙ i ≅ i ⋙ exp A, that is: (A ⟹ iB) ≅ i L (A ⟹ iB), naturally in B. The converse is given in ExponentialIdeal.mk_of_iso.

Instances For
theorem CategoryTheory.ExponentialIdeal.mk_of_iso {C : Type u₁} {D : Type u₂} [] [] (i : ) (h : (A : C) → ) :

Given a natural isomorphism i ⋙ exp A ⋙ leftAdjoint i ⋙ i ≅ i ⋙ exp A, we can show i is an exponential ideal.

theorem CategoryTheory.reflective_products {C : Type u₁} {D : Type u₂} [] [] (i : ) :

If the reflector preserves binary products, the subcategory is an exponential ideal. This is the converse of preservesBinaryProductsOfExponentialIdeal.

If i witnesses that D is a reflective subcategory and an exponential ideal, then D is itself cartesian closed.

Instances For
noncomputable def CategoryTheory.bijection {C : Type u₁} {D : Type u₂} [] [] (i : ) (A : C) (B : C) (X : D) :
(().obj (A B) X) (().obj A ().obj B X)

We construct a bijection between morphisms L(A ⨯ B) ⟶ X and morphisms LA ⨯ LB ⟶ X. This bijection has two key properties:

• It is natural in X: See bijection_natural.
• When X = LA ⨯ LB, then the backwards direction sends the identity morphism to the product comparison morphism: See bijection_symm_apply_id.

Together these help show that L preserves binary products. This should be considered internal implementation towards preservesBinaryProductsOfExponentialIdeal.

Instances For
theorem CategoryTheory.bijection_symm_apply_id {C : Type u₁} {D : Type u₂} [] [] (i : ) (A : C) (B : C) :
(CategoryTheory.bijection i A B (().obj A ().obj B)).symm (CategoryTheory.CategoryStruct.id (().obj A ().obj B)) =
theorem CategoryTheory.bijection_natural {C : Type u₁} {D : Type u₂} [] [] (i : ) (A : C) (B : C) (X : D) (X' : D) (f : ().obj (A B) X) (g : X X') :
theorem CategoryTheory.prodComparison_iso {C : Type u₁} {D : Type u₂} [] [] (i : ) (A : C) (B : C) :

The bijection allows us to show that prodComparison L A B is an isomorphism, where the inverse is the forward map of the identity morphism.

If a reflective subcategory is an exponential ideal, then the reflector preserves binary products. This is the converse of exponentialIdeal_of_preserves_binary_products.

Instances For

If a reflective subcategory is an exponential ideal, then the reflector preserves finite products.

Instances For