%%% Cascaded items for math mode %% start with \begin{cascade} %% new line at previous indentation with \cascline %% new line with greater indentation with \cascitem %% end with \end{cascade} %% default indentation is 2em, adjust with \cascadeindent \newdimen\cascadeindent \cascadeindent=1em\newdimen\cascdimen \newcommand{\cascindent}{\global\advance\cascdimen by\cascadeindent \hspace{\cascdimen}} \newcommand{\cascitem}{\\ \global\advance\cascdimen by\cascadeindent \hspace{\cascdimen}} \newcommand{\cascback}[1]{\\ \global\advance\cascdimen by-#1.0\cascadeindent \hspace{\cascdimen}} \newcommand{\cascline}{\\ \hspace{\cascdimen}} \newenvironment{cascade}{\begin{array}[t]{@{}l@{}} \global\cascdimen=0em}{\end{array}} %%% Binding colon stuff \mathchardef\col="003A % \col for binding colon (mathcode ordinary: less space) \mathchardef\semi="603B % \semi for (regular) semicolon %% use \semicolonforbindingcolon to redefine ; to stand for binding colon \newcommand{\semicolonforbindingcolon}{\mathcode`;="003A} %%% Angle bracket stuff \mathchardef\lt="313C % \lt for < \mathchardef\gt="313E % \gt for > %% use \ltgtforanglebrackets to redefine <,> to stand for \langle, \rangle \newcommand{\ltgtforanglebrackets}{\mathcode`<="4268 \mathcode`>="5269} \newcommand{\kwop}[1]{\ensuremath{\mathop{\mathbf{#1}}}} \newcommand{\kwbin}[1]{\ensuremath{\mathbin{\mathbf{#1}}}} \newcommand{\kw}[1]{\ensuremath{\mathord{\mathbf{#1}}}} \newcommand{\comment}[1]{\hfill \fbox{\Large{#1}}} %\newcommand{\qed}{\rule{5pt}{8pt}} \newcommand{\thmbox} {{\ \hfill\hbox{% \vrule width1.0ex height1.0ex }\parfillskip 0pt}} \newenvironment{proof}{{\textbf{Proof:} }}{\thmbox} \newenvironment{proofsketch}{{\textbf{Proof (Sketch):} }}{\thmbox} \newcommand{\thmstep}[2]{ \noindent\begin{tabular}{@{}l@{}l} \lefteqn{\mbox{#1}} &\\ \mbox{ } & $\begin{array}{l}#2\end{array}$ \end{tabular} } \newcommand{\thmstepp}[2]{ \noindent\begin{tabular}{lll} \lefteqn{\mbox{#1}} &\\ \mbox{ } & #2 \end{tabular} } \newcommand{\ifthenthm}[2]{ \noindent\begin{tabular}[t]{@{}l@{}l} If & \\ & $\begin{array}[t]{l}#1\end{array}$ \\ then & \\ & $\begin{array}[t]{l}#2\end{array}$ \end{tabular} } % symbol abbreviations \newcommand{\stepsto}{\longmapsto}