\input{$LATEX_RESOURCES/format/base.tex}

% ------------------------------------ %

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathrsfs}
\usepackage{bbold}
\usepackage[framemethod=TikZ]{mdframed}

% ------------------------------------ %

\mdfsetup{nobreak=true}

\newcounter{thm}\setcounter{thm}{0}
\renewcommand{\thethm}{\arabic{thm}}
\newenvironment{thm}[2][]{
    \refstepcounter{thm}
    \ifstrempty{#1}
        {\mdfsetup{
            frametitle={%
                {\strut Theorem~\thethm}}}
            }
        {\mdfsetup{
            frametitle={%
                {\strut Theorem~\thethm:~#1}}}
        }
    \begin{mdframed}[]\relax%
    \label{#2}}{\end{mdframed}
}

\newcounter{lem}[section]\setcounter{lem}{0}
\renewcommand{\thelem}{\arabic{section}.\arabic{lem}}
\newenvironment{lem}[2][]{
    \refstepcounter{lem}
    \ifstrempty{#1}
        {\mdfsetup{
            frametitle={%
                {\strut Lemma~\thelem}}}
            }
        {\mdfsetup{
            frametitle={%
                {\strut Lemma~\thelem:~#1}}}
        }
    \begin{mdframed}[]\relax%
    \label{#2}}{\end{mdframed}}

\newcounter{prop}[subsection]\setcounter{prop}{0}
\renewcommand{\theprop}{\arabic{section}.\arabic{prop}}
\newenvironment{prop}[2][]{
    \refstepcounter{prop}
    \ifstrempty{#1}
        {\mdfsetup{
            frametitle={%
                {\strut Proposition~\theprop}}}
            }
        {\mdfsetup{
            frametitle={%
                {\strut Proposition~\theprop:~#1}}}
        }
    \begin{mdframed}[]\relax%
    \label{#2}}{\end{mdframed}}

\newcounter{defn}[section]\setcounter{defn}{0}
\renewcommand{\thedefn}{\arabic{defn}}
\newenvironment{defn}[2][]{
    \refstepcounter{defn}
    \ifstrempty{#1}
        {\mdfsetup{
            frametitle={%
                {\strut Definition~\thedefn}}}
            }
        {\mdfsetup{
            frametitle={%
                {\strut Definition~\thedefn:~#1}}}
        }
    \begin{mdframed}[]\relax%
    \label{#2}}{\end{mdframed}}

\theoremstyle{remark}
\newtheorem*{rmk}{Remark}
\newtheorem*{note}{Note}
