\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}}
