\newcommand{\F}{\mathbf{F}}
\newcommand{\T}{\mathbf{T}}
\newcommand{\Q}{\mathbf{Q}}
\newcommand{\Z}{\mathbf{Z}}
\newcommand{\R}{\mathbf{R}}
\newcommand{\PP}{\mathbf{P}}
\newcommand{\eps}{\varepsilon}
\newcommand{\con}{\equiv}
\newcommand{\nothing}[1]{}


% Thanks to Joe Wetherell for pointing out that one should use xspace.
\usepackage{xspace}  % to allow for text macros that don't eat space 


%\def\SAGE{{\tt SAGE}\,\, }
%\def\SAGE{SAGE\xspace}

%\newcommand{\SAGE}{{\fontsize{10}{12}\usefont{OT1}{phv}{c}{n}\selectfont{SAGE}\normalfont}\xspace}
%\newcommand{\SAGE}{{\usefont{OT1}{phv}{c}{n}\selectfont{SAGE}\normalfont}\xspace}

\newcommand{\SAGE}{{\sf SAGE}\xspace}
\newcommand{\sage}{\SAGE}


% ---- SHA ----
\DeclareFontEncoding{OT2}{}{} % to enable usage of cyrillic fonts
  \newcommand{\textcyr}[1]{%
    {\fontencoding{OT2}\fontfamily{wncyr}\fontseries{m}\fontshape{n}%
     \selectfont #1}}
\newcommand{\Sha}{{\mbox{\textcyr{Sh}}}}

\usepackage{amsmath}
\DeclareMathOperator{\acos}{acos}
\DeclareMathOperator{\asin}{asin}
\DeclareMathOperator{\atan}{atan}
\DeclareMathOperator{\acosh}{acosh}
\DeclareMathOperator{\asinh}{asinh}
\DeclareMathOperator{\atanh}{atanh}
\DeclareMathOperator{\SL}{SL}
\DeclareMathOperator{\Nr}{Nr}
\DeclareMathOperator{\Tr}{Tr}
\DeclareMathOperator{\GF}{GF}
\DeclareMathOperator{\End}{End}
\DeclareMathOperator{\Hom}{Hom}

\newcommand{\algorithm}[1]{ALGORITHM: #1}
\renewcommand{\comment}[1]{}