% Of the highest importance:
\renewcommand{\phi}{\varphi}
\renewcommand{\epsilon}{\varepsilon}

% Saner abbreviations for font faces (take an argument rather than
% applying to the current context).
\renewcommand{\rm}[1]{\mathrm{#1}}
\newcommand{\bb}[1]{\mathbb{#1}}
\renewcommand{\bf}[1]{\mathbf{#1}}

% \cA … \cZ
\newcommand{\cA}{\mathcal{A}}
\newcommand{\cB}{\mathcal{B}}
\newcommand{\cC}{\mathcal{C}}
\newcommand{\cD}{\mathcal{D}}
\newcommand{\cE}{\mathcal{E}}
\newcommand{\cF}{\mathcal{F}}
\newcommand{\cG}{\mathcal{G}}
\newcommand{\cH}{\mathcal{H}}
\newcommand{\cI}{\mathcal{I}}
\newcommand{\cJ}{\mathcal{J}}
\newcommand{\cK}{\mathcal{K}}
\newcommand{\cL}{\mathcal{L}}
\newcommand{\cM}{\mathcal{M}}
\newcommand{\cN}{\mathcal{N}}
\newcommand{\cO}{\mathcal{O}}
\newcommand{\cP}{\mathcal{P}}
\newcommand{\cQ}{\mathcal{Q}}
\newcommand{\cR}{\mathcal{R}}
\newcommand{\cS}{\mathcal{S}}
\newcommand{\cT}{\mathcal{T}}
\newcommand{\cU}{\mathcal{U}}
\newcommand{\cV}{\mathcal{V}}
\newcommand{\cW}{\mathcal{W}}
\newcommand{\cX}{\mathcal{X}}
\newcommand{\cY}{\mathcal{Y}}
\newcommand{\cZ}{\mathcal{Z}}

% \bA … \bZ
\newcommand{\bA}{\mathbb{A}}
\newcommand{\bB}{\mathbb{B}}
\newcommand{\bC}{\mathbb{C}}
\newcommand{\bD}{\mathbb{D}}
\newcommand{\bE}{\mathbb{E}}
\newcommand{\bF}{\mathbb{F}}
\newcommand{\bG}{\mathbb{G}}
\newcommand{\bH}{\mathbb{H}}
\newcommand{\bI}{\mathbb{I}}
\newcommand{\bJ}{\mathbb{J}}
\newcommand{\bK}{\mathbb{K}}
\newcommand{\bL}{\mathbb{L}}
\newcommand{\bM}{\mathbb{M}}
\newcommand{\bN}{\mathbb{N}}
\newcommand{\bO}{\mathbb{O}}
\newcommand{\bP}{\mathbb{P}}
\newcommand{\bQ}{\mathbb{Q}}
\newcommand{\bR}{\mathbb{R}}
\newcommand{\bS}{\mathbb{S}}
\newcommand{\bT}{\mathbb{T}}
\newcommand{\bU}{\mathbb{U}}
\newcommand{\bV}{\mathbb{V}}
\newcommand{\bW}{\mathbb{W}}
\newcommand{\bX}{\mathbb{X}}
\newcommand{\bY}{\mathbb{Y}}
\newcommand{\bZ}{\mathbb{Z}}

% Notation for lambda abstractions and function application. $~$
% is the spacing that should be used between arguments.
\newcommand{\lam}[2]{\lambda #1.\ #2}

% Notation for paths, the interval, and its operations.
\newcommand{\PathP}[3]{\rm{PathP}~ {#1}~ {#2}~ {#3}}
\newcommand{\Path}[3]{\rm{Path}~ {#1}~ {#2}~ {#3}}
\newcommand{\Square}[4]{\rm{Square}~ {#1}~ {#2}~ {#3}~ {#4}}
\newcommand{\ap}[2]{\rm{ap}~ {#1}~ {#2}}

\newcommand{\subst}{\operatorname{subst}}
\newcommand{\ua}{\operatorname{ua}}

\newcommand{\iZ}{\rm{i0}}
\newcommand{\iO}{\rm{i1}}

\newcommand{\ineg}{\lnot}
\newcommand{\imin}{\land}
\newcommand{\imax}{\lor}

\newcommand{\transport}[2]{\rm{transport}~ #1~ #2}
\newcommand{\transp}[3]{\rm{transp}~ #1~ #2~ #3}
\newcommand{\Partial}[2]{\rm{Partial}~ #1~ #2}
\newcommand{\dcomp}{\mathrel{\cdot\cdot}}
\newcommand{\Extn}[2]{{#1}[#2]}

\newcommand{\thecat}[1]{\mathbf{#1}}     % Names of "concrete" categories
\newcommand{\ca}[1]{\mathcal{#1}}    % Names of variable categories

%% \newcommand{\knowncat}[1]{\newcommand{\csname #1\endcsname}{\thecat{#1}}}
%% \newcommand{\knownbicat}[1]{\newcommand{\csname #1\endcsname}{\thebicat{#1}}}

\newcommand{\ty}{\rm{Type}}
%% \newcommand{\set}{\rm{Set}}
\newcommand{\prop}{\rm{Prop}}

%% \DeclareMathOperator{\id}{id}
%% \DeclareMathOperator{\Id}{Id}

%% \knowncat{Sets}
%% \knowncat{Ab}
%% \knowncat{Graphs}
%% \knowncat{MarkedGraphs}
%% \knowncat{Props}
%% \knowncat{FinSets}
%% \knowncat{Rings}
%% \knowncat{Grp}
%% \knowncat{Rel}
%% \knowncat{Par}
%% \knowncat{Pos}

\renewcommand{\Set}{\thecat{Set}}

% "Postfix" operators that have a subscript and are annoying to write
% out:
\newcommand{\inv}{^{-1}}
\renewcommand{\op}{^{\rm{op}}}

\newcommand{\eps}{\varepsilon}

\newcommand{\B}[1]{\mathbf{B} #1}
\newcommand{\point}[1]{\bullet_{#1}}
\newcommand{\List}[1]{\operatorname{List}(#1)}

\renewcommand{\hom}{\mathbf{Hom}}

\newcommand{\refl}{\mathrm{refl}}

\DeclareMathOperator{\isiso}{is-iso}
\DeclareMathOperator{\isequiv}{is-equiv}

% Relations
\newcommand{\pathto}{\equiv}
\newcommand{\is}{\pathto}
\newcommand{\definedto}{≔}
\newcommand{\equivto}{\simeq}
\newcommand{\homotopicto}{\sim}
\newcommand{\homotopyto}{\sim}
\newcommand{\naturalto}{\Rightarrow}
\newcommand{\isoto}{\cong}
\newcommand{\monicto}{\rightarrowtail}
\newcommand{\epicto}{\twoheadrightarrow}

% Category names
\newcommand{\C}[1]{\mathbf{#1}}

\newcommand{\homset}[3]{{{#1} \left[ {#2} \to {#3} \right]}}
\newcommand{\horizontalcompose}{\ast}
