\documentclass{article}
\input{packages}
\input{def}

\homework{Topoi}

\begin{document}
\maketitle

\begin{definition}
Given an object $\ob{C}$ and subobjects $\mo{m}_1 : \ob{S}_1 \mono \ob{C}$ and $\mo{m}_2 : \ob{S}_2 \mono \ob{C}$, define $\mo{m}_1 \subseteq_\ob{C} \mo{m}_2$ to be $\exists \mo{f} : \ob{S}_1 \mto \ob{S}_2.\; \mo{m}_1 = \mo{f} \cocomp \mo{m}_2$.
\end{definition}

\begin{theorem}
$\subseteq_\ob{C}$ is a preorder on the subobjects of $\ob{C}$.
\end{theorem}

\begin{definition}
Given an object $\ob{C}$ of a topos, define $\mathbf{true}_\ob{C} : \ob{C} \mto \Omega$ to be $\langle \rangle_\ob{C} \cocomp \mathbf{true}$.
\end{definition}

\begin{exercise}
Given an object $\ob{C}$ of a topos and subobjects $\mo{m}_1 : \ob{S}_1 \mono \ob{C}$ and $\mo{m}_2 : \ob{S}_2 \mono \ob{C}$, prove that $\mo{m}_1 \subseteq_\ob{C} \mo{m}_2$ holds if and only if $\mo{m}_1 \cocomp \chi_{\mo{m}_2}$ equals $\mathbf{true}_{\ob{S}_1}$.
\end{exercise}

\begin{definition}
Given an object $\ob{C}$ and a morphism $\mo{p} : \ob{C} \mto \Omega$, let $\mo{m}_p : \ob{S}_\mo{p} \mono \ob{C}$ be the (unique up to isomorphism) subobject produced by the pullback of $\mathbf{true}$ and $\mo{p}$.
\end{definition}

\begin{exercise}
Given an object $\ob{C}$ of a topos and subobjects $\mo{m}_1 : \ob{S}_1 \mono \ob{C}$ and $\mo{m}_2 : \ob{S}_2 \mono \ob{C}$, let $\mo{p} : \ob{C} \mto \Omega$ be defined as $\langle \chi_{\mo{m}_1}, \chi_{\mo{m}_2} \rangle \cocomp \wedge$.
Prove that $\mo{m}_\mo{p}$ is the meet of $\mo{m}_1$ and $\mo{m}_2$ with respect to the preorder $\ob{C}$.
Hint: take advantage of the following theorem.
\end{exercise}

\begin{theorem}
Given any commuting diagram of the following form (minus the dashed line), if the outer $[\ob{A}, \ob{B}, \ob{E}, \ob{F}]$ is a pullback square and the lower $[\ob{C}, \ob{D}, \ob{E}, \ob{F}]$ is a pullback square, then the upper $[\ob{A}, \ob{B}, \ob{C}, \ob{D}]$ using the uniquely induced dashed line is also a pullback square:
\begin{center}
\begin{tikzpicture}
\node(a) at (0,1) {$\ob{A}$};
\node(b) at (1,1) {$\ob{B}$};
\node(c) at (0,0) {$\ob{C}$};
\node(d) at (1,0) {$\ob{D}$};
\node(e) at (0,-1) {$\ob{E}$};
\node(f) at (1,-1) {$\ob{F}$};
\draw[->] (a) -- (b);
\draw[->] (c) -- (d);
\draw[->] (e) -- (f);
\draw[->,dashed] (a) -- (c);
\draw[->] (c) -- (e);
\draw[->] (b) -- (d);
\draw[->] (d) -- (f);
\draw[->] (a) to[bend right=30] (e);
\end{tikzpicture}
\end{center}
\end{theorem}

\end{document}