\renewcommand{\ds}{\displaystyle}

\renewcommand{\rm}[1]{\mathrm{#1}}
\newcommand{\mf}[1]{\mathfrak{#1}}
\newcommand{\mc}[1]{\mathcal{#1}}
\newcommand{\ms}[1]{\mathscr{#1}}
\newcommand{\bb}[1]{\mathbb{#1}}
\renewcommand{\bf}[1]{\mathbf{#1}}
\renewcommand{\sf}[1]{\mathsf{#1}}
\renewcommand{\tt}[1]{\texttt{#1}}

\newcommand{\inv}{^{-1}}
\newcommand{\conj}{^{\ast}}
\newcommand{\trans}{^\top}
\newcommand{\cross}{^\times}
\newcommand{\op}{^\rm{op}}
\newcommand{\bs}{\setminus}
\newcommand{\nsub}{\unlhd}
\newcommand{\pnsub}{\lhd}

\newcommand{\floor}[1]{\left\lfloor #1 \right\rfloor}
\newcommand{\ceil}[1]{\left\lceil #1 \right\rceil}
\newcommand{\round}[1]{\left\lfloor #1 \right\rceil}
\newcommand{\norm}[1]{\left\lVert #1 \vphantom{l} \right\rVert}
\newcommand{\abs}[1]{\left\lvert #1 \right\rvert}
\newcommand{\paren}[1]{\left( #1 \right)}
\newcommand{\braces}[1]{\left\{ #1 \right\}}

\renewcommand{\span}[1]{\left\langle #1 \right\rangle}
\renewcommand{\bar}[1]{\overline{#1 \vphantom{l}}}
\newcommand{\lcm}{{\rm lcm}}

\newcommand{\ra}{\rightarrow}
\newcommand{\longra}{\longrightarrow}
\newcommand{\la}{\leftarrow}
\newcommand{\longla}{\longleftarrow}
\newcommand{\lra}{\leftrightarrow}
\newcommand{\imp}{\implies}
\newcommand{\pll}{\parallel}

\newcommand{\N}{\mathbb{N}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\F}{\mathbb{F}}

\newcommand{\Adv}[2][]{\mathrm{Adv}_{\mathrm{#1}}[#2]}

\DeclareMathOperator{\im}{im}
\DeclareMathOperator{\ch}{char}
\DeclareMathOperator{\quotient}{/}
\newcommand{\Aut}{\mathrm{Aut}}
\newcommand{\Gal}{\mathrm{Gal}}
\newcommand{\irr}{\mathrm{irr}}
\newcommand{\GF}{\mathrm{GF}}

\let\oldexists\exists
\renewcommand{\exists}{\oldexists\,}

\let\oldtilde\tilde
\renewcommand{\tilde}[1]{\widetilde{#1}}
\let\oldhat\hat
\renewcommand{\hat}[1]{\widehat{#1}}
