%
% Abstract algebraic structures.
%
\ifx\havemjoalgebra\undefined
\def\havemjoalgebra{1}


\ifx\operatorname\undefined
  \usepackage{amsopn}
\fi

\input{mjo-common} % for \of, and \binopmany


% The direct sum of two things.
\newcommand*{\directsum}[2]{ {#1}\oplus{#2} }

% The direct sum of three things.
\newcommand*{\directsumthree}[3]{ \directsum{#1}{\directsum{#2}{#3}} }

% The (indexed) direct sum of many things.
\newcommand*{\directsummany}[3]{ \binopmany{\bigoplus}{#1}{#2}{#3} }


% The (sub)algebra generated by its argument, a subset of some ambient
% algebra. By definition this is the smallest subalgebra (of the
% ambient one) containing that set.
\newcommand*{\alg}[1]{\operatorname{alg}\of{{#1}}}
\ifdefined\newglossaryentry
  \newglossaryentry{alg}{
    name={\ensuremath{\alg{X}}},
    description={the (sub)algebra generated by $X$},
    sort=a
  }
\fi


% The fraction field of its argument, an integral domain. The name
% "Frac" was chosen here instead of "Quot" because the latter
% corresponds to the term "quotient field," which can be mistaken in
% some cases for... a quotient field (something mod something).
\newcommand*{\Frac}[1]{\operatorname{Frac}\of{{#1}}}

% The ideal generated by its argument, a subset consisting of ring or
% algebra elements.
\newcommand*{\ideal}[1]{\operatorname{ideal}\of{{#1}}}
\ifdefined\newglossaryentry
  \newglossaryentry{ideal}{
    name={\ensuremath{\ideal{X}}},
    description={the ideal generated by $X$},
    sort=i
  }
\fi


% The polynomial ring whose underlying commutative ring of
% coefficients is the first argument and whose indeterminates (a
% comma-separated list) are the second argumnt.
\newcommand*{\polyring}[2]{{#1}\left[{#2}\right]}


\fi
