\usepackage{amsmath}  % extensive math commands
\usepackage{amsfonts} % more fonts for math (fracture, boldfaced and so on)
\usepackage{mathtools} % extension to amsmath, with more sensible defaults (eq numbers only when referenced)
\usepackage{amssymb} % more symbols, mostly redundant because already loaded by something else
\usepackage{mathrsfs} % support for the RSFS fonts (through \mathscr command)
\usepackage{cancel} % allows to cancel a part in math mode, for example to shorten a term
\usepackage{bm} % bold mode in math, but better than \boldsymbol command from ams. \bm

% number sets
\NewDocumentCommand\N{}{\ensuremath{\mathbb{N}}}
\NewDocumentCommand\R{}{\ensuremath{\mathbb{R}}}
\NewDocumentCommand\Z{}{\ensuremath{\mathbb{Z}}}
\NewDocumentCommand\Q{}{\ensuremath{\mathbb{Q}}}
\NewDocumentCommand\C{}{\ensuremath{\mathbb{C}}}
\let\originalO\O
\RenewDocumentCommand\O{}{\ensuremath{\emptyset}} % replaces the Ø

% readable limits
\let\originalLim\lim
\RenewDocumentCommand\lim{}{\originalLim\limits}

% aliases
\let\implies\Rightarrow
\let\impliedby\Leftarrow

\let\originalEpsilon\epsilon
\RenewDocumentCommand\epsilon{}{\varepsilon} % I like the textual epsilon more
