\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{assign}

\def\block{\vrule height1.5ex width0.3em depth0.5ex}
\newenvironment{question}[1]
  {\par{\bf Q\kern.22222em#1.}\secspace}
  {}
\newenvironment{answer}[1]
  {\par{\bf A\kern.22222em#1.}\secspace}
  {}
\def\points#1{[#1 pts]\secspace}
\def\extra{[extra credit]\secspace}
\def\proof{\par\noindent{\bf Proof.}\enspace}
\def\claim#1. {\par\noindent{\bf Claim #1.}\enspace}
\def\case#1:{\medbreak\par\noindent{\bf Case} [\enspace#1\enspace]:}
\def\subcase#1:{\medbreak\par\noindent{\bf Subcase} [\enspace#1\enspace]:}
\def\subsubcase#1:{\medbreak\par\noindent{\bf Subsubcase} [\enspace#1\enspace]:}
\def\step#1. #2\by#3 \\{\par\noindent\strut\hbox to \linewidth{\hbox to 2em{\hfil#1.}\enspace#2\hfil(#3)}\par}
\def\rul{\@ifnextchar[{\rul@}{\rul@[\@empty]}}
\def\rul@[#1]#2\over#3{\infer[#1]{\mathstrut#3}{\mathstrut#2}}
\def\ax{\@ifnextchar[{\ax@}{\ax@[\@empty]}}
\def\ax@[#1]#2{\infer[#1]{\mathstrut#2}{}}
\def\where#1 \\{\par\noindent{\bf where}\enspace#1}
\def\wts#1 \\{\par\noindent\hbox to 2em{\bf wts\hfil}\enspace#1}
\def\hyp{\par\noindent{\bf Hypothetical.}\enspace}

\def\ln#1{\par\noindent\strut\hbox to\linewidth{#1\hfil}\par}

\deflex{a\-zA\-Z0\-9}{\subscriptedvar{#1}}
\def\kwd#1{\defvariable{#1}{\textbf{#1}}}
\def\rname#1{\defvariable{#1}{\textsl{#1}}}
\def\vname#1{\defvariable{#1}{\textit{#1}}}
\def\fname#1{\defvariable{#1}{\textrm{#1}}}
\def\code#1{\defvariable{#1}{\texttt{#1}}}
