% IMPORTED PACKAGES
\usepackage{amsmath,amssymb,amsthm} % standard symbols and notation from AMS
\usepackage{color,graphicx} % useful for inserting images and coloring text
\DeclareGraphicsExtensions{.pdf,.png,.jpg} % for inserting images
\usepackage{hyperref} % allows links within document and to external websites
\usepackage{polynom} % for automatic polynomial long division display
\usepackage{cancel} % allows strike-through in math mode
\usepackage{wasysym} % for smileys :-)
\usepackage{enumitem} % for custom enumerate lists
% DEFINED ENVIRONMENTS
\newtheorem{thm}{Theorem}[section]
\newtheorem{cor}[thm]{Corollary}
\newtheorem{lem}[thm]{Lemma}
\newtheorem{conj}[thm]{Conjecture}
\newtheorem{prop}[thm]{Proposition}
\newtheorem{defn}[thm]{Definition}
\newtheorem*{defnnonum}{Definition} % defn environment with no numbering
\theoremstyle{remark}
\newtheorem{rem}[thm]{Remark}
\newtheorem{ex}[thm]{Example}
\newtheorem{prob}[thm]{Problem}
% DEFINED COMMANDS
% useful coding and general shorthand
\newcommand{\comment}[1]{} % for commenting out large sections of code
\newcommand{\link}[2]{\htmladdnormallink{#1}{#2}} % for adding html hyperlinks
\newcommand{\disp}{\displaystyle} % shorthand for in-line displaystyle
\newcommand{\bs}{\backslash} % shorthand for "\"
% sizing of delimiters
\newcommand{\of}[1]{\left(#1\right)} % automatic sizing of ( ) around stuff
\newcommand{\ofb}[1]{\left[#1\right]} % automatic sizing of [ ] around stuff
\newcommand{\setof}[1]{\left\{#1\right\}} % automatic sizing of { } around stuff
\newcommand{\abs}[1]{\left|#1\right|} % automatic sizing of | | around stuff
\newcommand{\norm}[1]{\left\|#1\right\|} % automatic sizing of || || around stuff
% logical symbols
\newcommand{\imp}{\Rightarrow} % shorthand for "implies" double arrow to the right
\newcommand{\pmi}{\Leftarrow} % shorthand for "is implied by" double arrow to the left
\newcommand{\bimp}{\Longleftrightarrow} % for "if and only if" arrows, aesthetic reasons
\newcommand{\fa}{\forall} % shorthand for "for all" symbol
\newcommand{\exs}{\exists} % shorthand for "there exists" symbol
\newcommand{\oand}{\wedge} % shorthand for "and" symbol (note: \and is a *different* command, built in)
\newcommand{\oor}{\vee} % shorthand for "or" symbol (note: \or is a *different* command, built in)
\newcommand{\true}{\top}\newcommand{\false}{\bot} % shorthand for T and F symbols
\renewcommand{\phi}{\varphi} % makes phi appear as "curly" variant, aesthetic reasons
\newcommand{\cont}{{\hbox{
   \setbox0=\hbox{$\mkern-3mu{\times}\mkern-3mu$}
   \setbox1=\hbox to0pt{\hss\copy0\hss}
   \copy0\raisebox{0.5\wd0}{\copy1}\raisebox{-0.5\wd0}{\box1}\box0}}} % contradiction symbol, smash product
\newcommand{\ep}{\varepsilon} % var epsilon
% set notation
\newcommand{\sm}{\setminus} % shorthand for "\" set minus symbol
\newcommand{\es}{\varnothing} % shorthand for empty set symbol, aesthetic reasons
% functional notation
\newcommand{\xmod}{\!\!\mod} % usual \mod command with negative space, for aesthetic reasons
\newcommand{\im}{\operatorname{Im}} % shorthand for Im in math mode
\newcommand{\preim}{\operatorname{PreIm}} % shorthand for PreIm in math mode
\newcommand{\id}{\operatorname{Id}} % shorthand for Id in math mode
\newcommand{\dom}{\operatorname{Dom}}	 % shorthand for Dom in math mode
\newcommand{\cod}{\operatorname{Cod}}	 % shorthand for Cod in math mode
% standard numbers, sets, script letters
\newcommand{\e}{\text{e}} % shorthand for text-style e in math mode
\newcommand{\C}{\mathbb{C}} % standard symbol for complex numbers
\newcommand{\N}{\mathbb{N}} % standard symbol for natural numbers
\newcommand{\Q}{\mathbb{Q}} % standard symbol for rational numbers
\newcommand{\R}{\mathbb{R}} % standard symbol for real numbers
\newcommand{\Z}{\mathbb{Z}} % standard symbol for integers
\newcommand{\F}{\mathcal{F}} % standard symbol for script F, used for a family of sets
\newcommand{\PP}{\mathcal{P}} % standard symbol for script P, used as the "power set" symbol
