%
% строка "\def\LaterNotation{1}" определяет какую нотацию использовать:
%     * для использования оригинальной (старой) нотации закомментируйте строку
%     * для использования более поздней (современной) нотации расскомментируйте
%       строку
%
%%%%% \def\LaterNotation{1}
%
% некоторые часто встречающиеся символы и обозначения
%
\newcommand{\isom}{$1$\nobreakdash--$1$\nobreakdash}% "1-1" в "1-1-соответствие"
\newcommand{\simN}[1]{\hm{\overset{#1}{\sim}}}%       эквивалентность с номером
\newcommand{\alephZero}{\mathbf{\aleph}_{0}}%         алеф-ноль
\newcommand{\setOfSets}[1]{\text{\textsf{\textbf{#1}}}}% множество множеств
\newcommand{\lamcalc}{$\mathrm{\uplambda}$\nobreakdash}%           прямая лямбда
%
% соответствие старой нотации новой нотации
% обратите внимание на символ булеана - \OLpowerset
% обозначение булеана к 2020 году не устоялось окончательно и
% при перенаборе использована прописная P со скобками, но возможны варианты
%
\newcommand{\OLemptyset}{\olNt{\mathrm{O}}{\varnothing}}% пустое множество
\newcommand{\OLnotin}{\olNt{\bar{\in}}{\notin}}%          не принадлежит
\newcommand{\OLcard}[1]{\olNt{\dbloverline{#1}}{\left|#1\right|}} % мощность
\newcommand{\OLcup}{\hm{\olNt{+}{\cup}}}%            объединение
\newcommand{\OLcap}{\hm{\olNt{\cdot}{\cap}}}%        пересечение
\newcommand{\OLsetminus}{\hm{\olNt{-}{\setminus}}}%  дополнение
\newcommand{\OLpowerset}[1]%                         булеан
    {\olNt{\mathfrak{U}#1}{\mathcal{P}\mathopen{}\left(#1\right)\mathclose{}}}
% \newcommand{\OLpowerset}[1]%                       другой вариант булеана
%    {\olNt{\mathfrak{U}#1}{\mathbb{P}\mathopen{}\left(#1\right)\mathclose{}}}
\newcommand{\OLunion}[1]%                            объединение большое
    {\olNt{\mathfrak{S}#1}{\bigcup\mathopen{}#1\mathclose{}}}
\newcommand{\OLintersec}[1]%                         пересечение большое
    {\olNt{\mathfrak{D}#1}{\bigcap\mathopen{}#1\mathclose{}}}
\newcommand{\OLNaturalNumSet}{\olNt{N}{\mathbb{N}}}% натуральные числа
\newcommand{\OLRealNumSet}{\olNt{R}{\mathbb{R}}}%    вещественные числа
\newcommand{\OLsup}{\olNt{\text{н.~в.~г. }}{\sup}}%  супремум
\newcommand{\OLinf}{\olNt{\text{н.~н.~г. }}{\inf}}%  инфимум
\newcommand{\OLepsilon}{\olNt{\mathbf{e}}{\boldsymbol{\varepsilon}}}%  инфимум
\newcommand{\OLlambda}[2]%                           лямбда-исчисление
    {\olNt{\mathrm{\uplambda} #1\;\,#2}{\mathrm{\uplambda} #1\,.\, #2}}
%% TODO: стоит рассмотреть введение отдельного знака порядка \prec
%% начиная с разд.6
\newcommand{\OLprec}{\olNt{<}{\prec}}%               порядок
\newcommand{\OLpreceq}{\olNt{\leqslant}{\preccurlyeq}}%
\newcommand{\OLsucc}{\olNt{>}{\succ}}%
\newcommand{\OLsucceq}{\olNt{\geqslant}{\succcurlyeq}}%
\newcommand{\OLprecB}{\olNt{\boldsymbol{<}}{\boldsymbol{\prec}}}% порядок R
\newcommand{\OLpreceqB}%
    {\olNt{\boldsymbol{\leqslant}}{\boldsymbol{\preccurlyeq}}}%
\newcommand{\OLsuccB}{\olNt{\boldsymbol{>}}{\boldsymbol{\succ}}}%
\newcommand{\OLsucceqB}%
    {\olNt{\boldsymbol{\geqslant}}{\boldsymbol{\succcurlyeq}}}%
\newcommand{\OLand}{\olNt{\&}{\wedge}}%              логическое И

%
% устаревшее обозначение кардинального числа (мощности множества)
% в виде двух горизонтальных черт над буквой обозначающей множество
%
\makeatletter%
\newcommand{\dbloverline}[1]{\overline{\dbl@overline{#1}}}%
\newcommand{\dbl@overline}[1]{\mathpalette\dbl@@overline{#1}}%
\newcommand{\dbl@@overline}[2]{%
    \begingroup%
        \sbox\z@{$\m@th#1\overline{#2}$}%
        \ht\z@=\dimexpr\ht\z@-2\dbl@adjust{#1}\relax\box\z@
        \ifx#1\scriptstyle\kern-\scriptspace\else%
            \ifx#1\scriptscriptstyle\kern-\scriptspace\fi%
        \fi%
    \endgroup%
}%
\newcommand{\dbl@adjust}[1]{%
    \fontdimen8%
    \ifx#1\displaystyle\textfont\else%
        \ifx#1\textstyle\textfont\else%
            \ifx#1\scriptstyle\scriptfont\else%
                \scriptscriptfont%
    \fi\fi\fi 3%
}%
\makeatother
