\ProvidesPackage{mydefs}
\RequirePackage{amssymb}
\RequirePackage{bm}

% bbb numbers and fields
\newcommand{\NN}{\mathbb N}
\newcommand{\ZZ}{\mathbb Z}
\newcommand{\QQ}{\mathbb Q}
\newcommand{\RR}{\mathbb R}
\newcommand{\CC}{\mathbb C}
\newcommand{\PP}{\mathbb P}
\newcommand{\FF}{\mathbb F}

% sf sets and theories
\newcommand{\ZFC}{\ensuremath{\mathsf{ZFC}}}
\newcommand{\CH}{\ensuremath{\mathsf{CH}}}
\newcommand{\KP}{\ensuremath{\mathsf{KP}}}
\newcommand{\AC}{\ensuremath{\mathsf{AC}}}
\newcommand{\PA}{\ensuremath{\mathsf{PA}}}
\newcommand{\WO}{\ensuremath{\mathsf{WO}}}
\newcommand{\WF}{\ensuremath{\mathsf{WF}}}
\newcommand{\IF}{\ensuremath{\mathsf{IF}}}
\newcommand{\TFA}{\ensuremath{\mathsf{TFA}}}
\newcommand{\sset}{\mathsf{set}}

% help for numerals
\newcommand{\st}{\ensuremath{^{\text{st}}}}
\newcommand{\nd}{\ensuremath{^{\text{nd}}}}
\newcommand{\rd}{\ensuremath{^{\text{rd}}}}
\renewcommand{\th}{\ensuremath{^{\text{th}}}}

% set the type of an operator or relation
\newcommand{\ord}[1]{\mathord{#1}}
\newcommand{\rel}[1]{\mathrel{#1}}
\newcommand{\op}[1]{\mathop{#1}}

% equivalence relations
\newcommand{\iso}{\cong}\newcommand{\oiso}{{\ord\iso}}
\newcommand{\qeq}{\approx}\newcommand{\oqeq}{{\ord\approx}}
\newcommand{\qiso}{\sim}\newcommand{\oqiso}{{\ord\sim}}
\newcommand{\relE}{\rel{\mathsf{E}}}\newcommand{\ordE}{\mathsf{E}}
\newcommand{\relF}{\rel{\mathsf{F}}}\newcommand{\ordF}{\mathsf{F}}

% notational relations
\newcommand{\concat}{\raise1pt\hbox{$^\frown$}}
\newcommand{\defeq}{\mathbin{\mathpalette{\vcenter{\hbox{$:$}}}=}}
\newcommand{\actson}{\curvearrowright\nolinebreak}
\newcommand{\partialcolon}{\mathord{\,\vbox{\baselineskip=2pt\lineskiplimit=0pt
      \hbox{.}\hbox{.}\hbox{.}}}\;}
\newcommand{\onto}{\twoheadrightarrow}
\newcommand{\injto}{\hookrightarrow}
\newcommand{\restricted}{\mathbin{\upharpoonright}}

% delimeters
\newcommand{\abs}[1]{\left|\,#1\,\right|}
\newcommand{\norm}[1]{\left\|\,#1\,\right\|}
%\newcommand{\set}[1]{\left\{\,#1\,\right\}}
%\newcommand{\seq}[1]{\left\langle\,#1\,\right\rangle}

% mathops
\newcommand{\aut}{\mathop{\mathrm{Aut}}}
\newcommand{\inn}{\mathop{\mathrm{Inn}}}
\newcommand{\out}{\mathop{\mathrm{Out}}}
\newcommand{\dom}{\mathop{\mathrm{dom}}}
\newcommand{\im}{\mathop{\mathrm{im}}}
\newcommand{\rng}{\mathop{\mathrm{rng}}}
\newcommand{\rank}{\mathop{\mathrm{rank}}}
\newcommand{\rk}{\mathop{\mathrm{rk}}}
\newcommand{\stab}{\mathop{\mathrm{stab}}}
\newcommand{\diag}{\mathop{\mathrm{diag}}}
\newcommand{\type}{\mathop{\mathrm{type}}}
\newcommand{\tp}{\mathop{\mathrm{tp}}}
\newcommand{\col}{\mathop{\mathrm{col}}}
\newcommand{\row}{\mathop{\mathrm{row}}}
\newcommand{\prov}{\mathop{\mathrm{prov}}}
%\newcommand{\Mod}{\mathop{\mathrm{Mod}}}
\newcommand{\Gr}{\mathop{\mathrm{Gr}}\nolimits}
\newcommand{\SL}{\mathop{\mathrm{SL}}\nolimits}
\newcommand{\PSL}{\mathop{\mathrm{PSL}}\nolimits}
\newcommand{\GL}{\mathop{\mathrm{GL}}\nolimits}
\newcommand{\PGL}{\mathop{\mathrm{PGL}}\nolimits}

% descriptive set theory
% produces e.g. Sigma^i_j, but where i=1 by default
\newcommand{\dS}[2][1]{\bm{\Sigma}^{#1}_{#2}} 
\newcommand{\dP}[2][1]{\bm{\Pi}^{#1}_{#2}}
\newcommand{\dD}[2][1]{\bm{\Delta}^{#1}_{#2}}

% environments
\swapnumbers
\numberwithin{equation}{section}
\newtheorem{thm}[equation]{Theorem}\newtheorem*{thm*}{Theorem}
\newtheorem{prop}[equation]{Proposition}\newtheorem*{prop*}{Proposition}
\newtheorem{fact}[equation]{Fact}\newtheorem*{fact*}{Fact}
\newtheorem{lem}[equation]{Lemma}\newtheorem*{lem*}{Lemma}
\newtheorem{cor}[equation]{Corollary}\newtheorem*{cor*}{Corollary}
\newtheorem{conj}[equation]{Conjecture}\newtheorem*{conj*}{Conjecture}
\theoremstyle{definition}
\newtheorem{defn}[equation]{Definition}\newtheorem*{defn*}{Definition}
\newtheorem{notation}[equation]{Notation}\newtheorem*{notation*}{Notation}
\theoremstyle{remark}
\newtheorem{rem}[equation]{Remark}\newtheorem*{rem*}{Remark}
\newtheorem{claim}[equation]{Claim}\newtheorem*{claim*}{Claim}
\newtheorem{question}[equation]{Question}\newtheorem*{question*}{Question}
\newtheorem{example}[equation]{Example}\newtheorem*{example*}{Example}
\newtheorem{cond}[equation]{Condition}\newtheorem*{cond*}{Condition}
\newtheorem{case}[equation]{Case}\newtheorem*{case*}{Case}

\newenvironment{claimproof}{%
  \begin{proof}[Proof of claim]%
  }{%
    \renewcommand{\qedsymbol}{\Small$/\kern-2.5pt/$}%
  \end{proof}%
}

%%% Local Variables:
%%% TeX-master: "Choquet"
%%% End:
