\documentclass[../Main.tex]{subfiles}
\begin{document}
\section{Leibniz Construction}
We will see use a well know construction in homotopy theory, to
elegantly construct a lot of interesting objects, the Leibniz construction.
This section will mostly give a definition and some examples to get familiar with this construction.
If the reader is already familiar with it, they might skip this section without any problems.
We start by giving the definition.
\begin{definition}[Leibniz Construction]
	Let \(\A\), \(\B\) and \(\C\) be categories and \(\C\) has finite pushouts. Let \(⊗ : \A × \B → \C \) be a bifunctor.
	Then we define the \emph{Leibniz Construction} \(\⊗ : \arr{\A} × \arr{\B} → \arr{\C}\) to be the functor
	that sends \(f : A → A' \) in \(\A\) and
	\( g : B → B' \) in \(\B\), to \( f \⊗  g \) as defined as in the following diagram.
	\begin{equation*}
	\begin{tikzcd}
		A ⊗ B  \arrow[r, "f ⊗ \id"] \arrow[d, "\id ⊗ g"] \arrow[dr, phantom, "\ulcorner", very near end] & A' ⊗ \mathrlap{B} \phantom{A'} \arrow[ddr, bend left, "\id ⊗ g"] \arrow[d] & \\
		\phantom{B'} \mathllap{A} ⊗ B' \arrow[drr, bend right, "f ⊗ \id"]  \arrow[r] & A ⊗ B' ∐\limits_{A ⊗ B} A' ⊗ B  \arrow[dr, dashed ,"f \⊗ g"] & \\
		& & A' ⊗ B'
	\end{tikzcd}
	\end{equation*}
	If \(⊗\) is the tensor functor of a monoidal category we also call it the \emph{Leibniz product} or \emph{pushout-product}. If \(⊗\) is
	the functor application functor we also call it the \emph{Leibniz application}.
\end{definition}

The following examples are true for any category of nice spaces, we will state them for simplicial sets as the reader is probably
familiar with them.

\begin{example}\label{ex:leib:prism}
	Let \(δ_k : * → Δ^1\) for \(k ∈ {0,1}\) be one of the endpoint inclusions into the interval and \(i : \∂ Δ^n → Δ^n\) the boundary
	inclusion of the \(n\)-simplex, then \(δ_k \× i\) is the inclusion of a prism without its interior and one cap, into the prism.
\end{example}
This gives us a description of a possible set of generating trivial cofibrations. This will be an ongoing theme.
We can even observe something stronger. If we would replace the boundary inclusion
of the \(n\)-simplex with the boundary inclusion of an arbitrary space \(X\). We get the inclusion of the cylinder object of \(X\)
without a cap and its interior into the cylinder.
\begin{figure}
	\missingfigure{cylinder inclusion as pushout product}
	\caption{cylinder inclusion as Leibniz product}
\end{figure}

\begin{observation}
	If \(f\) and \(g\) are cofibrations then \(f \× g\) is too. If one of them is a trivial cofibration then so is \(f \× g\).
\end{observation}
This has far reaching consequences, and one can define the notion of a  monoidal model category where this are one of the axioms
for the tensor functor. This axioms basically states that the tensor product behaves homotopicaly. For more
detail see \cite{hoveyModelCategories2007}. We are not going to need much of this theory explicitly. But it is worthy to note
that all examples of model categories that we are going to encouter are of this form.


We will also encouter the basically same construction as \cref{ex:leib:prism} in another way. We can also get the Cylinder object
functorialy in \Δ, such that the cap inclusions are natural transformations.
We can also get the inclusion the Leibniz product produces in a natural  manner via the Leibniz application.

\begin{example}\label{ex:leib:functorialCylinder}
	Let \( @ : \C^{\C} × \C → \C \) defined as
	\( F @ x ≔ F(x)\) the functor application functor. Let \(\I × (−)\) be the functor that sends \(X\) to its cylinder object (also known as the
	product with the interval).
	Let be one of the inclusions \( δ_k : \Id → \I ⊗ (−) \), the natural transformation that embeds the space in one of the cylinder caps.
	Let \( \∂ X → X \) be the boundery inclusion of \(X\).
	Then \( δ_k \widehat{@} (∂X → X) \) is the filling of a cylinder with one base surface of shape \(X\).
\end{example}
This kind of construction will later play an important role in the construction of our desired model categories.
And as we will constructions like this more often we add a bit of notation for it.

\begin{notation}
	Let \(⊗ : \A × \B → \C\) be a bifunctor, \(A\) be an object of \A, \(F : \B → \C\) be a functor , and let \(η : F ⇒ A ⊗ (−)\)
	be a nutral transformation. We write \(η \⊗ (−) ≔ (η ⊗ (−)) \widehat{@} (−)\).
\end{notation}

Here is a property that we will exploit fairly often.
\begin{proposition}\label{rem:leibniz:adhesive}
	Since every topos is adhesive \cite{lackAdhesiveQuasiadhesiveCategories2005}, the pushout-product and the
	Leibniz application of \(A × (−)\), are stable under monomorhpisms in every topos.
\end{proposition}

The Leibniz construction has a dual construction, the Leibniz pullback construction
\begin{definition}[Leibniz pullback Construction]
	Let \(\A\), \(\B\) and \(\C\) be categories and \(\C\) has finite pullbacks. Let \(⊗ : \A × \B → \C \) be a bifunctor.
	Then we define the \emph{Leibniz pullback construction} \(\widecheck{⊗ }: \arr{\A} × \arr{\B} → \arr{\C}\) to be the functor
	that sends \(f : A → A' \) in \(\A\) and
	\( g : B → B' \) in \(\B\), to \( f \widecheck{⊗}  g \) as defined as in the following diagram.
	\begin{equation*}
		\begin{tikzcd}
			A ⊗ B
				\arrow[rrd, "f ⊗ \id",bend left]
				\arrow[ddr, "\id ⊗ g",bend right]
				\arrow[rd, "", dashed]
			& &
		\\
			{} & A ⊗ B' \displaystyle\prod_{A'⊗B'} A'⊗ B
				\arrow[d]
				\arrow[r]
				\pb
			& A' ⊗ \mathrlap{B} \phantom{A'}
				\arrow[d, "\id ⊗ g"]
		\\
			{}
			& \phantom{B'} \mathllap{A} ⊗ B'
				\arrow[r, "f ⊗ \id"]
			& A' ⊗ B'
		\end{tikzcd}
	\end{equation*}
	If \(⊗\) is the exponential functor, we also call it the \emph{Leibniz pullback Hom}, \emph{pullback-power}, or \emph{pullback-hom}.
	If \(⊗\) is the functor application functor we also call it the \emph{Leibniz pullback application}.
\end{definition}
Analog to the notation above we introduce the following notation
\begin{notation}
	Let \(⊗ : \A × \B → \C\) be a bifunctor, \(A\) be an object of \A, \(F : \B → \C\) be a functor , and let \(η : F ⇒ A ⊗ (−)\)
	be a nutral transformation. We write \(η \widehat⊗ (−) ≔ (η ⊗ (−)) \widehat{@} (−)\).	As it is common in the literature we
	also write for the special case \(A⊗ (−) = (−)^A\), the following \(η ⇒ (−) ≔ η \widecheck⊗ (−)\).
\end{notation}

Dualy to our observation above it will be a theme that the pullback-power sends fibrations to trivial fibrations.
Or more formally:
\begin{lemma}[{\cite[Lemma 4.10]{riehlTheoryPracticeReedy2014}}]
	There is an adjunction \({η \× (−) ⊣ η ⇒ (−)}\), between the pushout-product and the pullback-power.
\end{lemma}
\begin{remark}
	This holds in much more generality, for details see \cite[Lemma 2.1.15]{solution}
\end{remark}
\begin{remark}
	Our main application of this lemma will be, that it gives us the ability to transpose lifting problems
	between cofibrations and trivial fibrations, to lifting problems between trivial cofibrations and fibrations.
\end{remark}

We will also encouter another form of Leibniz application, which has at first glance not to do alot with homotopy. On
the other hand one might read this as, getting the component of an natural transformation is some sort of a homotopic construction.
\begin{lemma}
	Let \(F,G : A → B \) and \(η : F ⇒ G\) be a natural transformation, and \A has an initial object \(∅\). Let
	\(F\) and \(G\) preserve the initial object.
	We write \(∅ → X\) for the unique map with the same type. Then we get \(η \at (∅ → X) = η_X\).
\end{lemma}
\begin{proof}
	We will draw the diagram from the definiton
	\begin{eqcd*}
		F (∅)  \arrow[r, "F(∅ → X)"] \arrow[d, "η_∅"] \arrow[dr, phantom, "\ulcorner", very near end] & F(X) \arrow[ddr, bend left, "η_X"] \arrow[d] & \\
		G(∅) \arrow[drr, bend right, "G(∅ → X)"']  \arrow[r] & G(∅) ∐\limits_{F(∅)} \mathrlap{F(X)} \phantom{G(∅)} \arrow[dr, dashed ,"η \widehat{@} (∅ → X)" description] & \\
		& & G(X)
	\end{eqcd*}
	If we substitude \(F(\emptyset)\) and \(G(∅)\) with \(∅\) the claim directly follows.
\end{proof}
% TODO Left adjoint

\end{document}
