\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathrsfs}
\usepackage[framemethod=TikZ]{mdframed}
\usepackage{tikz}
\usetikzlibrary{automata,arrows}

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

\newtheoremstyle{thm}
  {1.2\topsep}% measure of space to leave above the theorem. E.g.: 3pt
  {1.5\topsep}% measure of space to leave below the theorem. E.g.: 3pt
  {\itshape}% name of font to use in the body of the theorem
  {0pt}% measure of space to indent
  {\large\bfseries}% name of head font
  {. \newline}% punctuation between head and body
  { }% space after theorem head; " " = normal interword space
  {\thmname{#1}\thmnumber{ #2}\textnormal{\thmnote{ (#3)}}}


\newtheoremstyle{defn}
  {\topsep}% measure of space to leave above the theorem. E.g.: 3pt
  {\topsep}% measure of space to leave below the theorem. E.g.: 3pt
  {\normalfont}% name of font to use in the body of the theorem
  {0pt}% measure of space to indent
  {\large\bfseries}% name of head font
  {. ---}% punctuation between head and body
  { }% space after theorem head; " " = normal interword space
  {\thmname{#1}\thmnumber{ #2}\textnormal{\thmnote{ (#3)}}}

\theoremstyle{thm}
\newtheorem{thm}{Theorem}
\renewcommand{\thethm}{\arabic{thm}}
\newtheorem{lem}{Lemma}
\renewcommand{\thelem}{\arabic{lem}}
\newtheorem{prop}{Proposition}
\renewcommand{\theprop}{\arabic{prop}}
\theoremstyle{defn}
\newtheorem{defn}{Definition}
\newtheorem{rmd}{Reminder}
\newtheorem{clm}{Claim}
\theoremstyle{remark}
\newtheorem*{rmk}{Remark}
\newtheorem*{note}{Note}

% --------- Cleveref -----------
\usepackage{cleveref}
\crefname{thm}{Theorem}{Theorems}
\crefname{lem}{Lemma}{Lemmas}
\crefname{defn}{definition}{definitions}
\crefname{rmd}{reminder}{reminders}
\crefname{clm}{claim}{claims}
