\usepackage[utf8]{inputenc} \usepackage{amssymb} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{tikz} \usetikzlibrary{cd} \newcommand*{\id}{\ensuremath{\mathrm{id}}} \renewcommand{\implies}{\ensuremath{\rightarrow}} \newcommand*{\N}{\ensuremath{\mathbb{N}}} \newcommand*{\powerset}[1]{\raisebox{.15\baselineskip}{\Large\ensuremath{\wp}} \left ( #1 \right )} \newcommand*{\ca}[1]{\ensuremath{\mathbf{#1}}} \newcommand*{\idarr}[1]{\ensuremath{\mathrm{id}_{#1}}} \newcommand*{\arr}[3]{\begin{tikzcd}[ampersand replacement=\&]{#1} \rar{#2} \& {#3}\end{tikzcd}} \newcommand*{\Hom}[3]{\ensuremath{\mathrm{Hom}_{#1} \left [ #2, #3 \right ]}} \newcommand*{\End}[2]{\ensuremath{\mathrm{End}_{#1} \left [ #2 \right ]}} \newcommand*{\rest}[2]{\ensuremath{#1 \upharpoonright #2}}