
\let\lbr\lBrack               %%% Crochet double ouvrant
\let\rbr\rBrack               %%% Crochet double fermant
%% Ensembles, intervalles
\def\genint#1#2#3#4#5{\mathord{\left#1#4\mathbin{#3}#5\right#2}}
\def\iff{\genint[],}
\def\ifo{\genint[[,}
\def\ioo{\genint][,}
\def\iof{\genint]],}
\def\Iff{\genint\lbr\rbr,}
\def\Ifo{\genint\lbr\lbr,}
\def\Ioo{\genint\rbr\lbr,}
\def\Iof{\genint\rbr\rbr,}
\def\R{\mathbb{R}}
\def\N{\mathbb{N}}
\def\Z{\mathbb{Z}}
\def\C{\mathbb{C}}
\def\diff{\mathrm d}
\def\enstq#1#2{\left\{ #1 \ \middle|\ #2\right\}}
\def\prive{\setminus}
\let\vec\overrightarrow

\AtBeginDocument{
\let\leq\leqslant
\let\geq\geqslant
\let\subset\subseteq
\let\supset\supseteq
\let\inter\cap
\let\union\cup
\let\epsilon\varepsilon
\let\kappa\varkappa
\let\phi\varphi
}

\def\ceil#1{\left\lceil#1\right\rceil}
\def\floor#1{\left\lfloor#1\right\rfloor}
\def\i{\mathrm{i}}


\def\dom{\mathcal D}
\def\sem#1#2{{\mathcal {V}}_{#2}(#1)}

\def\metab#1{\ensuremath{\langle #1\rangle}}
\def\metasyn#1{\metab{\tmit{#1}}}

\newenvironment{specification}{\vskip-\lastskip\ \par\begin{mdframed}[skipbelow=1ex]\begin{description}}{\end{description}\end{mdframed}}

\newenvironment{schema}[2]{\vskip-\lastskip\ \par\begin{mdframed}[skipbelow=1ex]\hfill Table \textbf{\sffamily #1}\hfill Clé primaire \textbf{\sffamily #2}\hfill \null\begin{description}}{\end{description}\end{mdframed}}

\def\nsql#1{\textbf{\sffamily #1}}

\def\V{\mathup{V}}
\def\F{\mathup{F}}

\let\textterm\texttt
\def\auto{\mathcal A}
\def\lang#1{\mathscr L\left(#1\right)}
\let\peuttrans\rightsquigarrow

\def\enspart#1{\mathscr P\left(#1\right)}

\def\ie{\textsl{ie.}\xspace}
\newcommand{\tvers}[1]{\xrightarrow[\ \: #1 \:\ ]{}}
\DeclareMathOperator*{\petito}{o}
\DeclareMathOperator*{\grando}{O}

\endinput