\usepackage{fullpage}
%\usepackage{alg}
\usepackage{color}
\usepackage{graphics}
\usepackage{graphicx}
%\usepackage{psfig}
\usepackage{epsfig}
\usepackage{latexsym}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{fancybox}


% example environment
\newenvironment{example}
{\emph{Example:}}
{\hfill $\boxtimes$\newline\newline}

\newtheorem{theorem}{\sc Theorem}[section]
\newtheorem{corollary}[theorem]{\sc Corollary}
\newtheorem{lemma}[theorem]{\sc Lemma}
\newtheorem{fact}[theorem]{\sc Fact}
\newtheorem{definition}[theorem]{\sc Definition}
\newtheorem{proposition}[theorem]{\sc Proposition}

%\newcommand{\proof}{{\it Proof.~}}

\newcommand{\eat}[1]{}
\newcommand{\QED} {\hfill $\clubsuit$}

\newcommand{\lecture}[4]{%
\newpage %
%\rule{\linewidth}{1mm}
 \noindent  \shadowbox{\parbox{6.3in}{
  {\small \sc CS 830: Randomness and Complexity} \hfill  #2

  \begin{center}
    {\large Lecture #1: #3}
  \end{center}

instructor: {Jin-Yi Cai} \hfill Scribe:{ #4} } }
\bigskip

\bigskip
}

%%%%%%%%%%%%% Complexity Classes
\newcommand{\DSPACE}{{\rm DSPACE}}
\newcommand{\NSPACE}{{\rm NSPACE}}
\newcommand{\DTIME}{{\rm DTIME}}
\newcommand{\NTIME}{{\rm NTIME}}

\newcommand{\NL}{{\rm NL }}

\newcommand{\p}{{\rm P}}
\newcommand{\NP}{{\rm NP}}
\newcommand{\coNP}{{\rm coNP}}
\newcommand{\NPcoNP}{\NP\cap \coNP}
\newcommand{\BPP}{{\rm BPP}}
\newcommand{\RP}{{\rm RP}}
\newcommand{\coRP}{{\rm coRP}}
\newcommand{\ZPP}{{\rm ZPP}}

\newcommand{\AM} {{\rm AM}}
\newcommand{\MA} {{\rm MA}}
\newcommand{\coAM} {{\rm coAM}}
\newcommand{\coMA} {{\rm coMA}}
\newcommand{\MAM} {{\rm MAM}}

\newcommand{\PNP} {\p^{\NP}}
\newcommand{\ZPPNP} {\ZPP^{\NP}}
\newcommand{\Sigmatwo}{\Sigma_2^p}
\newcommand{\Pitwo}{\Pi_2^p}
\newcommand{\Sigmathree}{\Sigma_3^p}
\newcommand{\Pithree}{\Pi_3^p}
\newcommand{\PH}{{\rm PH}}
\newcommand{\ParityP} {\oplus\p}
\newcommand{\SharpP} {\#\p}
\newcommand{\PSharpP} {\p^{\SharpP}}
\newcommand{\PP}{{\rm PP}}
\newcommand{\PSPACE}{{\rm PSPACE}}
\newcommand{\EXP}{{\rm EXP}}
\newcommand{\NEXP}{{\rm NEXP}}

\newcommand{\Ppoly}{\p/{\rm poly}}

\newcommand{\FewP}{{\rm FewP}}
\newcommand{\coFewP}{{\rm coFewP}}
\newcommand{\UP}{{\rm UP}}
\newcommand{\coUP}{{\rm coUP}}

\newcommand{\E}{{\rm E}}
\newcommand{\NE}{{\rm NE}}

\newcommand{\AC} {{\rm AC}}
\newcommand{\NC} {{\rm NC}}

%%%%%%%%%%%%%% Standard Problems.

\newcommand{\SAT}{{\rm SAT}}
\newcommand{\QBF}{{\rm QBF}}
\newcommand{\ParitySAT} {\oplus\SAT}
\newcommand{\Perm} {{\rm PERM }}
\newcommand{\SharpSAT} {\#{\rm SAT}}

%%%%%%%%%%%% Reductions
\newcommand{\karpred} {\leq_m^p}

%%%%%%%%%% Logic
\newcommand{\AND}{\wedge}
\newcommand{\OR}{\vee}
\newcommand{\XOR}{\oplus}



%%%%%%%%%%% Arithmetic
\newcommand{\ceiling}[1]{{{\lceil {#1} \rceil}}}
\newcommand{\floor}[1]{{{\lfloor {#1} \rfloor}}}


%%%%%%%%%%% Others
\newcommand{\yields}{\vdash}
\newcommand{\GAP}{{\rm GAP }}
\newcommand{\uH} {{\cal H}}
