% bodydefs.tex \usepackage{amssymb,amsfonts,amsmath} % Typical maths resource packages \usepackage{mathdots} \usepackage{graphicx} % Packages to allow inclusion of graphics \usepackage{color} % For creating coloured text and background \usepackage{hyperref} % For creating hyperlinks in cross references \usepackage{times} \usepackage{enumitem} \usepackage{mdframed} \usepackage{tikz} \usetikzlibrary{arrows,shapes,trees,backgrounds,automata} \mdfsetup{% backgroundcolor=aliceblue } \pagestyle{empty} \setlength\parindent{0pt} \newcommand{\hwProblem}[2]{ \paragraph{Problem #1.} #2 } \newcommand{\answer}[1]{\begin{mdframed}#1\end{mdframed}} \def\landscapecent#1#2{ \textwidth #1 \textheight #2 \newdimen\paperwidth \newdimen\paperheight \paperwidth = 10.5in % Remember not all of the paper is printable! \paperheight = 8.0in % Same here. \advance\paperwidth by -\textwidth \advance\paperwidth by -2.0in \divide\paperwidth by 2 \advance\paperwidth by 0.25in \oddsidemargin \paperwidth \evensidemargin \paperwidth \advance\paperheight by -\headheight \advance\paperheight by -\headsep \advance\paperheight by -\textheight \advance\paperheight by -\headsep \advance\paperheight by -\footheight \advance\paperheight by -2.0in \divide\paperheight by 2 \advance\paperheight by 0.25in \topmargin \paperheight } \def\centertext#1#2{ \textwidth #1 \textheight #2 \newdimen\paperwidth \newdimen\paperheight \paperwidth = 8.0in % Remember not all of the paper is printable! \paperheight = 10.5in % Same here. \advance\paperwidth by -\textwidth \advance\paperwidth by -2.0in \divide\paperwidth by 2 \advance\paperwidth by 0.25in \oddsidemargin \paperwidth \evensidemargin \paperwidth \advance\paperheight by -\headheight \advance\paperheight by -\headsep \advance\paperheight by -\textheight \advance\paperheight by -\headsep \advance\paperheight by -\footheight \advance\paperheight by -2.0in \divide\paperheight by 2 \advance\paperheight by 0.25in \topmargin \paperheight } \newcommand\regstyle{ \centertext{6.0in}{9.0in} \parindent=0in \parskip=\medskipamount } \newcommand\spstyle{ \centertext{6.0in}{9.0in} \parindent=0in \parskip=\medskipamount \pagestyle{empty} } \newcommand\slistyle{ \setlength{\textwidth}{7in} \setlength{\textheight}{8in} \setlength{\evensidemargin}{0in} \setlength{\oddsidemargin}{0in} \setlength{\footskip}{.5in} \setlength{\topmargin}{0in} \setlength{\parskip}{6pt plus 2pt minus 1pt} \pagestyle{empty}} \newcommand\newSlideStyle{ \centertext{7.0in}{8.0in} \parindent=0in \parskip=\bigskipamount \pagestyle{empty}} \newcommand\sstyle{ \centertext{7.0in}{8.0in} \parindent=0in \parskip=\medskipamount } \newcommand\numberedSstyle{ \centertext{7.0in}{8.0in} \parindent=0in \parskip=\medskipamount } \newcommand\letterstyle{ \setlength{\oddsidemargin}{0.0 in} \setlength{\evensidemargin}{0.0 in} \setlength{\topmargin}{-0.5 in} \setlength{\textwidth}{6.0 in} \setlength{\textheight}{9 in} \setlength{\parindent}{.2 in} \setlength{\parskip}{0.1 in} } \newcommand\longletterstyle{ \setlength{\oddsidemargin}{0.0 in} \setlength{\evensidemargin}{0.0 in} \setlength{\topmargin}{-0.7 in} \setlength{\textwidth}{6.0 in} \setlength{\textheight}{9.7 in} \setlength{\parindent}{.2 in} \setlength{\parskip}{0.1 in} } \newcommand\nsfStyle{ \setlength{\oddsidemargin}{0.0 in} \setlength{\evensidemargin}{0.0 in} \setlength{\topmargin}{-.5 in} \setlength{\textwidth}{6.5 in} \setlength{\textheight}{9.0 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.1 in} } \newcommand\hwstyle{ \setlength{\oddsidemargin}{0.0 in} \setlength{\evensidemargin}{0.0 in} \setlength{\topmargin}{-1.0 in} \setlength{\textwidth}{6.5 in} \setlength{\textheight}{9.0 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.1 in} } \newcommand\longhw{ \setlength{\oddsidemargin}{0.0 in} \setlength{\evensidemargin}{0.0 in} \setlength{\topmargin}{-1.0 in} \setlength{\textwidth}{6.5 in} \setlength{\textheight}{9.5 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.1 in} } \newcommand\longwide{ \setlength{\oddsidemargin}{-.6 in} \setlength{\evensidemargin}{-.6in} \setlength{\topmargin}{-1.0 in} \setlength{\textwidth}{7.5 in} \setlength{\textheight}{9.5 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.1 in} } \newcommand\longnar{ \setlength{\oddsidemargin}{-.6 in} \setlength{\evensidemargin}{-.6in} \setlength{\topmargin}{-1.0 in} \setlength{\textwidth}{5 in} \setlength{\textheight}{9.5 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.1 in} } \newcommand\iPad{ \setlength{\oddsidemargin}{-.6 in} \setlength{\evensidemargin}{-.6in} \setlength{\topmargin}{-1.0 in} \setlength{\textwidth}{5.5 in} \setlength{\textheight}{9.5 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.1 in} } \newcommand\normalPage{ \setlength{\oddsidemargin}{0 in} \setlength{\evensidemargin}{0 in} \setlength{\topmargin}{-1.0 in} \setlength{\textwidth}{6.5 in} \setlength{\textheight}{9.0 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.1 in} } \newcommand\recipe{ \setlength{\oddsidemargin}{-.6 in} \setlength{\evensidemargin}{-.6in} \setlength{\topmargin}{-1.0 in} \setlength{\textwidth}{6.0 in} \setlength{\textheight}{9.5 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.1 in} } \newcommand\shortwide{ \setlength{\oddsidemargin}{-.6 in} \setlength{\evensidemargin}{-.6in} \setlength{\topmargin}{-1.0 in} \setlength{\textwidth}{7.5 in} \setlength{\textheight}{1.5 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.1 in} \pagestyle{empty} } \newcommand\longerhw{ \setlength{\oddsidemargin}{-.25in} \setlength{\evensidemargin}{-.25in} \setlength{\topmargin}{-0.9 in} \setlength{\textwidth}{7.25 in} \setlength{\textheight}{9.5 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.1 in} } \newcommand\epsfig[1]{\begin{center} \includegraphics[width = \textwidth]{/Users/immerman/tex/xfig/#1.eps} \end{center}} \newcommand\szepsfig[2]{\begin{center} \includegraphics[width = #1\textwidth]{/Users/immerman/Dropbox/tex/newfigs/#2.eps} \end{center}} \newcommand\szeps[2]{\includegraphics[width = #1\textwidth]{/Users/immerman/Dropbox/tex/newfig/#2.eps}} \newcommand\slideFormat{ \setlength{\oddsidemargin}{-0.5 in} \setlength{\evensidemargin}{-0.5 in} \setlength{\topmargin}{.5 in} \setlength{\textwidth}{7.3 in} \setlength{\textheight}{7.3 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.2 in} } \newcommand\wideFormat{ \pagestyle{empty} \setlength{\oddsidemargin}{-0.5 in} \setlength{\evensidemargin}{-0.5 in} \setlength{\topmargin}{-.5 in} \setlength{\textwidth}{7.3 in} \setlength{\textheight}{7 in} \setlength{\parindent}{0 in} \setlength{\parskip}{0.2 in} } \newcommand\webstyle{ \centertext{5.5in}{9.0in} \parindent=0in \parskip=\medskipamount } \newcommand\sphw{ \centertext{7.25in}{10.0in} \parindent=0in \parskip=\medskipamount \pagestyle{empty} } \newcommand\longsp{ \centertext{7.25in}{10.5in} \parindent=0in \parskip=\medskipamount \pagestyle{empty} } \newcounter{CommentCounter} \setcounter{CommentCounter}{0} \newcommand{\comment}[1]{\addtocounter{CommentCounter}{1}$^{\spadesuit \arabic{CommentCounter}}$\marginpar{$^{\spadesuit\arabic{CommentCounter}}$#1}} \newcommand{\NI}[1]{[\textit{NI:\ #1}]\marginpar{?$_{ni}$}} \newcommand{\commentout}[1]{} \newcommand{\ai}{{\it Artificial Intelligence}} \newcommand{\apal}{{\it Annals of Pure and Applied Logic }} \newcommand{\bsl}{{\it Bulletin of Symbolic Logic }} \newcommand{\cade}{{\it Conf. Automated Deduction }} \newcommand{\cav}{{\it Computer Aided Verification }} \newcommand{\ccc}{{\it IEEE Conference on Computational Complexity. }} \newcommand{\cjtcs}{{\it Chicago J.~Theoret.~Comp.~Sci. }} \newcommand{\csl}{{\it Computer Science Logic }} \newcommand{\eatcs}{{\it Bull.~ European Assoc.~Theoretical Comp.~Sci. }} \newcommand{\focs}{{\it IEEE Found.~of Comp.~Sci.~Symp. }} \newcommand{\icalp}{{\it Intl. Conf. on Automata Languages Programming }} \newcommand{\icdt}{{\it Intl. Conf. on Database Theory }} \newcommand{\pods}{{\it ACM Symp.~Principles Database Systems }} \newcommand{\sigmod}{{\it ACM Symp. Management of Data }} \newcommand{\stacs}{{\it Symp.~Theoretical Aspects Comp.~Sci. }} \newcommand{\stoc}{{\it ACM Symp.\ Theory Of Comput. }} \newcommand{\strc}{{\it IEEE Structure in Complexity Theory Symp. }} \newcommand{\ic}{{\it Information and Computation }} \newcommand{\IC}{{\it Information and Computation}} \newcommand{\igpl}{{\it Logic Journal of the IGPL }} \newcommand{\jacm}{{\it J.~ Assoc.~Comput.~Mach. }} \newcommand{\jalg}{{\it J.~Algorithms }} \newcommand{\jcss}{{\it J.~Comput.~Sys.~Sci. }} \newcommand{\jsc}{{\it J.~Symbolic Comp. }} \newcommand{\jsl}{{\it J.~Symbolic Logic }} \newcommand{\lics}{{\it IEEE Symp.~Logic In Comput.~Sci. }} \newcommand{\lmcs}{{\it Logical Methods in Computer Science }} \newcommand{\mfcs}{{\it Mathematical Foundations of Comput.~Sci. }} \newcommand{\mst}{{\it Math.~Systems Theory }} \newcommand{\popl}{{\it ACM Symp.~Principles of Programming Languages }} \newcommand{\sicomp}{{\it SIAM J.~Comput. }} \newcommand{\tcs}{{\it Theoret.~Comp.~Sci. }} \newcommand{\toplas}{{\it ACM Trans.\ Prog.\ Lang.\ Sys.}} % colors \definecolor{aliceblue}{rgb}{0.94, 0.97, 1.0} \definecolor{dg}{cmyk}{0.60,0,0.88,0.27} \definecolor{darkgreen}{cmyk}{0.60,0,0.88,0.27} \newcommand\slidehd[1]{\begin{center} \fcolorbox{red}{blue}{\bf \color{white} #1} \end{center}} \newcommand\titlehd[1]{\begin{center} \fcolorbox{red}{blue}{\bf \color{white} #1} \end{center}} \newcommand\tocHead[1]{\textcolor{blue}{\noindent\framebox[\textwidth]{ {\normalsize CS601} \hfill {\bf #1} \hfill {\normalsize Lecture \arabic{section}}}}} \newcommand\blank{{\hspace*{0.1in}}} \newcommand\ithead[1]{\noindent{\it #1 } } \newcommand\bfhead[1]{\medskip\noindent{\bf #1 } } \newcommand\bluehd[1]{\medskip\noindent{\color{blue}\bf #1 } } \newcommand\bluehead[1]{\textcolor{blue}{\noindent\framebox[\textwidth]{\hfill {\bf #1} \hfill }}} \newcommand\bfheadNoSkip[1]{\noindent{\bf #1 } } \newcommand{\bfctr}[1]{\noindent\makebox[\textwidth]{\hfill{\bf #1}\hfill}\sSlideSkip} \newcommand{\lmr}[3]{\noindent\makebox[\textwidth]{#1 \hfill #2 \hfill #3}} \newcommand{\slmr}[3]{\sSlideSkip\lmr{#1}{#2}{#3}\sSlideSkip} \newcommand{\slqqe}[3]{\sSlideSkip\lmr{#1}{#2}{#3}\sSlideSkip} \newcommand{\lqq}[2]{\noindent\makebox[\textwidth]{#1 \qquad #2 \hfill}} \newcommand{\slqq}[2]{\sSlideSkip\lqq{#1}{#2}\sSlideSkip} \newcommand\bitem[1]{\item{\bf #1 }} \newcommand{\ctrline}[1]{{\begin{center}#1 \end{center}}} \newcommand\bolditem[1]{\item[{{\bf #1}}] } \newcommand{\ctrHd}[1]{\noindent\framebox[\textwidth]{\hfill{\bf #1}\hfill}\mSlideSkip} \newcommand{\hSlideSkip}{\par\vspace*{2.0in}} \newcommand{\bSlideSkip}{\par\vspace*{1.0in}} \newcommand{\mSlideSkip}{\par\vspace*{0.5in}} \newcommand{\sSlideSkip}{\par\vspace*{0.25in}} \newcommand{\negSlideSkip}{\par\vspace*{-0.1in}} \newcommand{\NegSlideSkip}{\par\vspace*{-0.2in}} \newcommand{\NNegSlideSkip}{\par\vspace*{-0.4in}} \newcommand{\vnegSlideSkip}{\par\vspace*{-0.5in}} % Spacing: type \spacing{1.5} to get more space between lines \newcommand{\spacing}[1]{\renewcommand{\baselinestretch}{#1}} %Groupings \newcommand{\abf}{\stackrel{\infty}{\forall}} % for all but finitely many \newcommand{\abs}[1]{ \vert #1 \vert } \newcommand{\Ack}{\mbox{{\rm Ack}}} \renewcommand{\angle}[1]{ \langle #1 \rangle } \newcommand{\arb}{\;\ni\!} \newcommand{\sqb}[1]{\lbrack #1 \rbrack} \newcommand{\bigabs}[1]{ \bigl| #1 \bigr| } \newcommand{\bigset}[2]{\bigl\{ #1 \,\bigm|\, #2 \bigr\} } \newcommand{\smallset}[2]{\{ #1 \,\bigm|\, #2 \} } \newcommand{\Bigset}[2]{\Bigl\{ #1 \;\Bigm|\; #2 \Bigr\} } \newcommand{\card}[1]{\vert\!\vert #1 \vert\!\vert} \newcommand{\ceiling}[1]{ \lceil #1 \rceil } \newcommand{\floor}[1]{ \lfloor #1 \rfloor } \newcommand{\norm}[1]{\lbrack\!\lbrack #1 \rbrack\!\rbrack} \newcommand{\set}[1]{\{ #1 \} } \newcommand{\nTh}{\mbox{$^{\rm th}$}} % example usage: ...the % $i\nThcs601 $ element... \newcommand{\st}{\mbox{$^{\rm st}$}} % example usage: ...the $r+1\st$ element... \newcommand{\und}{\underline{\ }} % an underline dash, usage: Program$\und$Counter % Math Symbols \newcommand{\accepts}[2]{#1(#2)\!\!\downarrow} %Machine #1 converges on input #2 %\newcommand{\diverges}[2]{#1(#2)\!\!\uparrow} %Machine #1 diverges on input #2 \newcommand{\bigand}{\bigwedge} \newcommand{\Land}{\bigwedge} \newcommand{\bfo}{\leq_{\hbox{{\scriptsize bfo}}}} \newcommand{\bfoplus}{\leq_{\hbox{{\scriptsize bfo$^+$}}}} \newcommand{\bh}{\leq_{\hbox{{\scriptsize bh}}}} \newcommand{\bigor}{\bigvee} \newcommand{\Lor}{\bigvee} \newcommand{\CC}{\mbox{{\rm\sc CC}}} \newcommand{\cq}[2]{(\exists #1\,#2)} %Counting quantifiers \newcommand{\defeq}{\stackrel{\rm def}{=}} \newcommand{\diverges}[2]{#1(#2)=\nearrow} \newcommand{\dprime}{{\prime\prime}} \newcommand{\notfull}{\mbox{{\rm\sc EMPTY}}} \newcommand{\eqdef}{\buildrel \mbox{\tiny\rm def} \over =} \newcommand{\seqdef}{\;\eqdef\;} \newcommand{\Exp}{\hbox{{\rm EXP}}} \newcommand{\for}{\leq_{\hbox{{\scriptsize fo}}}} \newcommand{\foR}{\leq_{\hbox{{\large fo}}}} \newcommand{\fop}{\leq_{\hbox{{\scriptsize fop}}}} \newcommand{\fot}{\leq_{\hbox{{\scriptsize fo}}}^t} \newcommand{\hr}{\centerline{\rule{6in}{.01in}}} \newcommand{\iso}{\cong} \newcommand{\twopath}[2]{\mbox{{\tiny \begin{tabular}{c} $#1$\\[-.5ex] $\rightarrow$\\[-.9ex] $#2$ \end{tabular}}}} \newcommand{\mypath}[1]{ { {\scriptscriptstyle \star} \atop {{\rightarrow}\atop {\scriptscriptstyle #1}} } } \newcommand{\bijection}{\mbox{{\tiny \begin{tabular}{c} 1:1\\[-1ex] $\rightarrow$\\[-1ex] onto \end{tabular}}}} \newcommand{\bigbijection}{\mbox{{\small \begin{tabular}{c} 1:1\\[-1ex] $\rightarrow$\\[-1ex] onto \end{tabular}}}} \newcommand{\surjection}{\mbox{{\small \begin{tabular}{c} \blank\\[-2ex] $\rightarrow$\\[-1ex] onto \end{tabular}}}} \newcommand{\injection}{\mbox{{\small \begin{tabular}{c} 1:1\\[-1ex] $\rightarrow$\\[.9ex] \end{tabular}}}} \newcommand{\lpath}[2]{ \begin{array}{c} {\scriptscriptstyle #1}\\[-1.5ex] \longrightarrow\\[-1.5ex] {\scriptscriptstyle #2} \end{array}} \newcommand{\pathstar}{\stackrel{\star}{\rightarrow}} \newcommand{\npath}[2]{ \begin{array}{c} {\scriptscriptstyle #1}\\[-1.5ex] \rightarrow\\[-1.5ex] {\scriptscriptstyle #2} \end{array}} \renewcommand{\phi}{\varphi} % Regular phi \newcommand{\proves}{\vdash} \newcommand{\qpr}{\quad\vdash\quad} % proves with \quad \newcommand{\spr}{\;\vdash\;} % proves with ; space \newcommand{\pt}[1]{\item {[#1 pts.]}} \newcommand{\ptp}[2]{\item[#1] {[#2 pts.]}} \def\minimal{\mathop{\mu}} \newcommand{\qfp}{\leq_{\hbox{{\scriptsize qfp}}}} \newcommand{\tao}{\tau} \newcommand{\todo}[1]{{\color{blue}[\textit{#1}]}} \newcommand{\twiddle}[1]{\stackrel{#1}{\sim}} % the "knows" relation \newcommand{\logiso}{\stackrel{log}{\cong}} % poly-time isomorphism \newcommand{\mdot}{\ominus} % limited subtraction \newcommand{\piso}{\stackrel{p}{\cong}} % poly-time isomorphism \newcommand{\reverse}[1]{\stackrel{\leftarrow}{#1}} % reverse of a string % Capital Letters \newcommand\A{{\cal A}} % the first order structure A \newcommand\gA{{\mathfrak{A}}} % gothic A \newcommand\bA{{\bf A}} % bold A \newcommand\gB{{\mathfrak{B}}} % gothic B \newcommand\gC{{\mathfrak{C}}} % gothic C \newcommand\gD{{\mathfrak{D}}} % gothic D \newcommand\gE{{\mathfrak{E}}} % gothic E \newcommand\gF{{\mathfrak{F}}} % gothic F \newcommand\gG{{\mathfrak{G}}} % gothic G \newcommand\gH{{\mathfrak{H}}} % gothic H \newcommand\gI{{\mathfrak{I}}} % gothic I \newcommand\gJ{{\mathfrak{J}}} % gothic J \newcommand\gK{{\mathfrak{K}}} % gothic K \newcommand\B{{\cal B}} % " " " " B \newcommand\C{\mbox{\bf C}} % the set of complex numbers \newcommand\cC{{\cal C}} % caligraphic C \newcommand{\common}{{\sf C}} % the common knowledge operator \newcommand\D{{\cal D}} % " " " " D \newcommand\E{{\cal E}} % " " " " E %\newcommand\f{\mbox{{\bf false}}} \newcommand\cF{{\cal F}} % caligraphic F --- for the set of PDL formulas \newcommand\F{\mbox{\bf F}} % Finite Field \newcommand{\rF}{\mbox{{\rm F}}} \newcommand\G{{\cal G}} % The game G \newcommand\cH{{\cal H}} % caligraphic H \newcommand\I{{\cal I}} % caligraphic I \newcommand\J{{\cal J}} % caligraphic J \newcommand\K{{\cal K}} % caligraphic K \newcommand{\know}{{\sf K}} % the knowledge operator \newcommand\sel{{\cal L}} % the logical language L \newcommand\bM{{\bf M}} % bold M \newcommand\M{{\cal M}} % caligraphic M \newcommand\N{\mbox{\bf N}} % the set of natural numbers \newcommand\bP{{\bf P}} % bold P \newcommand\cP{{\cal P}} % caligraphic P \newcommand\Q{\mbox{\bf Q}} % the set of rationals \newcommand\R{\mbox{\bf R}} % the set of reals \newcommand\cR{{\cal R}} % caligraphic R --- for random restrictions \newcommand\rl{{\cal RL}} % reachability logic \newcommand\cS{{\cal S}} % caligraphic S --- \newcommand\cT{{\cal T}} % caligraphic T --- for the set of transition terms \newcommand\T{\mbox{\bf T}} % truth table true \newcommand\bV{{\bf V}} % bold V \newcommand\W{{\cal W}} % world W \newcommand\cX{{\cal X}} % caligraphic X \newcommand\Z{\mbox{\bf Z}} % the set of integers %Abbreviations \newcommand{\abox}{\framebox{.25in}{$\;$}} \newcommand{\adtc}{\mbox{{\rm A(DTC[$E$])}}} \newcommand{\ac}{\mbox{{\rm AC}}} \newcommand{\acc}{\mbox{{\rm ACC}}} \newcommand{\accept}{\mbox{{\rm ACCEPT}}} \newcommand{\agap}{\mbox{{\rm AGAP}}} \newcommand{\allevendegree}{{\rm\sc ALL-EVEN-DEGREE}} \newcommand{\am}{\mbox{{\rm AM}}} %\renewcommand{\And}{\mbox{{\bf AND}}} \newcommand{\ans}{\mbox{{\rm ANS}}} \newcommand{\areach}{\mbox{{\rm\sc AREACH}}} \newcommand{\arity}{\mbox{{\rm arity }}} \newcommand{\aspace}{\mbox{{\rm ASPACE}}} \newcommand{\atime}{\mbox{{\rm ATIME}}} \newcommand{\atom}{\mbox{{\rm atom}}} \newcommand{\aspacetime}[2]{\mbox{{\rm ASPACE-TIME}}[#1,#2]} \newcommand{\aspacealt}[2]{\mbox{{\rm ASPACE-ALT}}[#1,#2]} \newcommand{\atc}{\mbox{{\rm ATC}}} \newcommand{\atimealt}[2]{\mbox{{\rm ATIME-ALT}}[#1,#2]} \newcommand{\bb}{\mbox{{\rm bb}}} % Busy Beaver function \newcommand{\bin}{\mbox{bin}} \newcommand{\bit}{\mbox{{\rm BIT}}} \newcommand{\bmn}{\overline{0}} %min with a bar over it \newcommand{\bmx}{\overline{\mx}} %max with a bar over it \newcommand{\bool}{\mbox{{\rm bool}}} \newcommand{\bpp}{\mbox{{\rm BPP}}} \newcommand{\bpl}{\mbox{{\rm BPL}}} \newcommand{\bra}[1]{<\!#1|} \newcommand{\braket}[2]{|<\! #1 | #2\! >} \newcommand{\bsum}{\mbox{{\rm BSUM}}} \newcommand{\canon}{\mbox{{\rm\sc CANON}}} \newcommand{\cflSigStar}{\mbox{$\Sigma^\star${\rm CFL}}} \newcommand{\cl}{\mbox{{\sl cl}}} \newcommand{\cg}{\mbox{{\rm CompGraph}}} \newcommand{\clause}{\mbox{{\rm Clause}}} \newcommand{\cland}{\,\land\,} \newcommand{\sland}{\;\land\;} \newcommand{\clor}{\,\lor\,} \newcommand{\slor}{\;\lor\;} \newcommand{\scup}{\;\cup\;} \newcommand{\scap}{\;\cap\;} \newcommand{\clique}{\mbox{{\rm\sc CLIQUE}}} \newcommand{\cmod}[3]{#1\equiv #2\,({\rm mod}\, #3)} \newcommand{\cnmod}[3]{#1\not\equiv #2\,({\rm mod}\, #3)} \newcommand{\cnf}{\mbox{{\rm CNF}}} \newcommand{\cnfsat}{\mbox{{\rm CNF-SAT}}} \newcommand{\curlylt}{\prec} \newcommand{\curlyle}{\preceq} \renewcommand{\bin}{\mbox{bin}} \newcommand{\co}{\mbox{co-}} \newcommand{\code}{\mbox{code}} \newcommand{\Color}{\mbox{{\rm\sc COLOR}}} \newcommand{\Col}{\mbox{{\rm\sc 3-COLOR}}} \newcommand{\Comp}{\mbox{{\rm COMP}}} \newcommand{\connected}{\mbox{{\rm\sc CONNECTED}}} \newcommand{\const}{\mbox{{\rm const}}} \newcommand{\cownt}{\mbox{{\rm COUNT}}} \newcommand{\Cownt}{\mbox{{\rm count}}} \newcommand{\cram}{\mbox{{{\rm CRAM}}}} \newcommand{\cramhard}[2]{\mbox{{{\rm CRAM-HARD}}}[#1,#2]} \newcommand{\cramproc}[2]{\mbox{{{\rm CRAM-PROC}}}[#1,#2]} \newcommand{\ctl}{\mbox{{\rm CTL}}} \newcommand{\ctlp}{\mbox{{\rm CTL$^+$}}} \newcommand{\ctls}{\mbox{{\rm CTL$^\star$}}} \newcommand{\csp}{\mbox{{\rm CSP}}} \newcommand{\Csp}[2]{\mbox{{\rm $_{#1}$CSP$_{#2}$}}} \newcommand{\cvp}{\mbox{{\rm\sc CVP}}} \newcommand{\cycle}{\mbox{{\rm\sc CYCLE}}} \newcommand{\datarule}{{\,:\!\!-\,}} % Datalog command (March 2010) \newcommand\DEF{\mbox{DEFINED}} \newcommand{\del}{\mbox{{\bf del}}} \newcommand{\dfo}{\mbox{{\rm Dyn-FO}}} \newcommand{\disc}{\mbox{disc}} \newcommand{\dist}{\textrm{dist}} \newcommand{\distinct}{\mbox{{\rm distinct}}} \newcommand{\dom}{\mbox{{\rm dom}}} \newcommand{\dyn}{\mbox{{\rm Dyn-}}} \newcommand{\dlog}{\mbox{{\rm dlog}}} \newcommand{\dspace}{\mbox{{\rm DSPACE}}} \newcommand{\dspacetime}[2]{\mbox{{{\rm DSPACE-TIME}}}[#1,#2]} \newcommand{\dst}{\,.\,} % dot such that \newcommand{\dtc}{\mbox{{\rm DTC}}} \newcommand{\dtime}{\mbox{{\rm DTIME}}} \newcommand{\ea}{\mbox{{\rm EA}}} \newcommand{\ef}{\mbox{Ehrenfeucht-Fra\"{\i}ss\'e}} \newcommand{\esub}{\preceq} % elementary substructure \newcommand{\EnF}{Ehrenfeucht and Fra\"{\i}ss\'e } \newcommand{\Eh}{\mbox{Ehrenfeucht}} \newcommand{\emp}{\mbox{\rm emp}} \newcommand{\emptyClause}{\Box} \newcommand{\etime}{\mbox{{\rm ETIME}}} \newcommand{\exptime}{\mbox{{\rm EXPTIME}}} %\newcommand{\false}{\mbox{{\bf false}}} \newcommand{\first}{\mbox{{\rm first}}} \newcommand{\find}{\mbox{{\rm find}}} \newcommand{\First}{\mbox{{\it First}}} \newcommand{\fl}{\mbox{{\rm FL}}} % logspace computable functions \newcommand{\flip}{\mbox{{\rm\sc FLIP}}} \newcommand{\fo}{\mbox{{\rm FO}}} \newcommand{\fom}{\mbox{{\rm FOM}}} \newcommand{\foT}[1]{(\mbox{{\rm FO}}+ \Theta)[#1]} \newcommand{\fovar}[2]{\mbox{{{\rm FO-VAR}}}[#1,#2]} \newcommand{\fobinvar}[2]{\mbox{{{\rm FO-BINVAR}}}[#1,#2]} \newcommand{\fobit}[2]{\mbox{{{\rm FO-VBIT}}}[#1,#2]} \newcommand{\form}{\mbox{{\rm form}}} \newcommand{\fosat}{\mbox{{\rm\sc FO-SAT}}} \newcommand{\fsat}{\mbox{{\rm\sc Finite-FO-SAT}}} \newcommand{\founsat}{\mbox{{\rm\sc FO-UNSAT}}} \newcommand{\fovalid}{\mbox{{\rm\sc FO-VALID}}} \newcommand{\fvalid}{\mbox{{\rm\sc Finite-FO-VALID}}} \newcommand{\fovarb}[2]{\mbox{{{\rm FO-VAR}}}(\leq,\bit)[#1,#2]} \newcommand{\fovars}[2]{\mbox{{{\rm FO-VAR}}}(\leq)[#1,#2]} \newcommand{\fovarw}[2]{\mbox{{{\rm FO-VAR}}}\wo[#1,#2]} \newcommand{\fosize}{\fo\mbox{-SIZE}} \newcommand{\fp}{\mbox{{\rm FP}}} \newcommand{\Fr}{\mbox{Fra\"{\i}ss\'e }} \newcommand{\free}{\mbox{{\rm free}}} %\newcommand{\gcd}{\mbox{{\rm\sc GCD}}} \newcommand{\geo}{\mbox{{\rm\sc GEOGRAPHY}}} \newcommand{\graphiso}{\mbox{{\rm\sc GRAPH-ISO}}} \newcommand{\half}{\frac{1}{2}} \newcommand{\halt}{\mbox{{\rm HALT}}} \newcommand{\hc}{\mbox{{\rm\sc HC}}} \newcommand{\head}{\mbox{{\rm head}}} \newcommand{\hsat}{\mbox{{\rm\sc Horn-SAT}}} \newcommand{\unsat}{\mbox{{\rm\sc UNSAT}}} \newcommand{\valid}{\mbox{{\rm\sc VALID}}} \newcommand{\hyperexp}{\mbox{{\rm hyperExp}}} \newcommand{\id}{\mbox{{\rm ID}}} \newcommand{\iden}{\mbox{{\rm id}}} \newcommand{\ifp}{\mbox{{\rm IFP}}} \newcommand{\im}{\mbox{$\prod$}} \newcommand{\ind}{\mbox{{\rm IND}}} \newcommand{\indvar}[2]{\mbox{{{\rm IND-VAR}}}[#1,#2]} \newcommand{\init}{\mbox{{\bf init}}} \newcommand{\inj}{\mbox{{\rm Inj}}} \newcommand{\inv}{\mbox{{\rm inv}}} \newcommand{\ip}{\mbox{{\rm IP}}} \newcommand{\ins}{\mbox{{\rm ins}}} \newcommand{\insb}{\mbox{{\bf ins}}} \newcommand{\isomap}{\stackrel{\iso}{\rightarrow}} \newcommand{\length}{\mbox{{\rm length}}} \newcommand{\lca}{\mbox{{\rm lca}}} % least common ancestor relation \newcommand{\lcaf}{\!\uparrow\!} % least common ancestor function symbol \newcommand{\lfp}{\mbox{{\rm LFP}}} \newcommand{\lt}{\mbox{{\bf let}}} \newcommand{\logr}{\leq_{\mbox{{\scriptsize log}}}} \newcommand{\loopy}{\mbox{{\rm loopy}}} \newcommand{\Accept}{\mbox{{\bf accept }}} \newcommand{\Else}{\mbox{{ \bf else }}} \newcommand{\For}{\mbox{{\bf for }}} \newcommand{\Halt}{\mbox{{\bf halt }}} \newcommand{\If}{\mbox{{\bf if }}} \newcommand{\Or}{\mbox{{\bf OR }}} \newcommand{\Output}{\mbox{{\bf output }}} \newcommand{\Reject}{\mbox{{\bf reject }}} \newcommand{\Return}{\mbox{{\bf return}}} \newcommand{\Then}{\mbox{{ \bf then }}} \newcommand{\While}{\mbox{{\bf while }}} \newcommand{\Do}{\mbox{{ \bf do }}} \newcommand{\To}{\mbox{{ \bf to }}} \newcommand{\Item}{\mbox{{\rm Item}}} \newcommand{\iter}{\mbox{{\rm ITER}}} \newcommand{\itera}[1]{\mbox{{\rm ITER}}[\mbox{{\rm arity }}#1]} \newcommand{\iterd}[2]{\mbox{{\rm ITER}}[#1,\mbox{{\rm arity }}#2]} \newcommand{\iterp}{\mbox{{\rm ITER}}} \newcommand{\ket}[1]{|#1\! >} \newcommand{\ksat}{\mbox{{\rm\sc 2-SAT}}} \newcommand{\lgc}{\sel_{\hbox{{\scriptsize GC}}}} \newcommand{\lh}{\mbox{{\rm LH}}} \newcommand{\logspace}{\mbox{{\rm L}}} \newcommand{\lollipop}{\multimap} \newcommand{\ltl}{\mbox{{\rm LTL}}} \newcommand{\Last}{\mbox{{\it Last}}} \newcommand{\maj}{\mbox{{\rm\sc MAJ}}} \newcommand{\Math}{\mbox{{\rm\sc MATH}}} \newcommand{\maparg}[1]{\stackrel{#1}{\rightarrow}} \newcommand{\mclique}{\mbox{{\rm\sc MAX-CLIQUE}}} \newcommand{\maxkf}{\mbox{{\rm\sc MAX-$k$-FSAT}}} \newcommand{\maxthree}{\mbox{{\rm\sc MAX-$3$-SAT}}} \newcommand{\mcvp}{\mbox{{\rm\sc MCVP}}} \newcommand{\mdist}{\mbox{{\rm min-dist}}} \newcommand{\mn}{{\it min}} % and that's final \newcommand{\modm}[1]{\hspace*{.5em}({\rm mod }\, #1)} \newcommand{\monadic}{\mbox{{\rm monadic}}} \newcommand{\mult}{\mbox{{\rm MULT}}} \newcommand{\mx}{\mbox{{\it max}}} % and that's final \newcommand{\MX}{\mbox{{\sc MAX}}} % for max degree of a fixed point \newcommand{\mychoose}[2]{\left({#1 \atop #2}\right)} \newcommand{\mymod}{\mbox{{\rm mod }}} \newcommand{\pctmod}{\,\%\,} \newcommand{\fmod}[1]{\mbox{{\rm MOD$_{\mbox{fin}}$}}[#1]} \newcommand{\Mod}[1]{\mbox{MOD}[#1]} \newcommand{\mvd}{\ensuremath{\rightarrow\!\!\!\!\rightarrow}} \newcommand{\nc}{\mbox{{\rm NC}}} \newcommand{\ncs}[1]{\mbox{{\rm NC$^{#1}$}}} \newcommand{\acs}[1]{\mbox{{\rm AC$^{#1}$}}} \newcommand{\sacs}[1]{\mbox{{\rm sAC$^{#1}$}}} \newcommand{\ncmod}[3]{#1\not\equiv #2\,({\rm mod}\, #3)} \newcommand{\ncomp}{\mbox{{\rm \#comp}}} \newcommand{\ndist}{\mbox{{\rm\sc NDIST}}} \newcommand{\negskip}{\vspace{-1.0em}} \newcommand{\New}{\mbox{{\rm New}}} \newcommand{\Next}{\mbox{{\rm\sc NEXT}}} \newcommand{\nil}{\mbox{{\bf nil}}} \newcommand{\nl}{\mbox{{\rm NL}}} \newcommand{\nmax}{\mbox{{\rm Not-Max}}} \newcommand{\nmsf}{\mbox{{\rm Not-MSF}}} \newcommand{\nopath}{\mbox{{\rm NOPATH}}} \newcommand{\np}{\mbox{{\rm NP}}} \newcommand{\npc}{\mbox{{\rm NPC}}} \newcommand{\nramtime}{\mbox{{\rm NRAM-TIME}}} \newcommand{\nspace}{\mbox{{\rm NSPACE}}} \newcommand{\ntime}{\mbox{{\rm NTIME}}} \newcommand{\numb}{\mbox{{\rm NUMBER}}} \newcommand{\nx}{\mbox{{\rm NEXT}}} \newcommand{\oneLO}{\mbox{{\rm 1LO}}} \newcommand{\twoLO}{\mbox{{\rm 2LO}}} \newcommand{\occur}{\mbox{{\rm Occur}}} \newcommand{\op}{\mbox{{\rm op}}} \newcommand{\opt}{\mbox{{\rm OPT}}} \newcommand{\ord}{\mbox{Ord}} \newcommand{\ov}{\overline} \newcommand{\p}{\mbox{{\rm P}}} \newcommand{\parity}{\mbox{{\rm\sc PARITY}}} \newcommand{\Path}{\mbox{{\rm\sc PATH}}} \newcommand{\pay}{\mbox{$\mapsto$}} % arrow in todo list \newcommand{\pcp}{\mbox{{\rm PCP}}} \newcommand\pF{{\cal PF}} % the set of partial, recursive functions \newcommand{\ph}{\mbox{{\rm PH}}} \newcommand{\plus}{\mbox{{\rm PLUS}}} \newcommand{\poly}{/\mbox{{\rm poly}}} \newcommand{\polylog}{\mbox{{\rm polylog}}} \newcommand{\power}{\wp} \newcommand{\primrec}{\mbox{{\bf Primitive Recursive}}} \newcommand{\primrecF}{\mbox{{\bf PrimRecFcns}}} \newcommand{\primrecP}{\mbox{{\bf PrimRecPreds}}} \newcommand{\recF}{\mbox{{\rm Partial RecursiveFcns}}} \newcommand{\grecF}{\mbox{{\rm G\"odelRecFcns}}} \newcommand{\pr}{\leq_{\mbox{{\scriptsize p}}}} \newcommand{\prob}{\mbox{{\rm Prob}}} \newcommand{\prog}{\mbox{{\rm\sc PROG}}} \newcommand{\pspace}{\mbox{{\rm PSPACE}}} \newcommand{\psubset}{{\raisebox{.03in}{\mbox{{\tiny \begin{tabular}{c} $\subset$\\[-.5ex] $\ne$ \end{tabular}}}}}} \newcommand{\pstc}{\mbox{{\rm pos STC}}} \newcommand{\ptc}{\mbox{{\rm pos TC}}} \newcommand{\qb}{\mbox{{\rm QB}}} \newcommand{\uqb}{\mbox{{\rm UQB}}} % universal quantifier block \newcommand{\pce}{+\!:=} \newcommand{\spce}{\;+\!:=\;} \newcommand{\mce}{-\!:=} \newcommand{\smce}{\;-\!:=\;} \newcommand{\pe}{+\!=} \newcommand{\spe}{\;+\!=\;} \newcommand{\me}{-\!=} \newcommand{\sme}{\;-\!=\;} \newcommand{\qe}{\quad =\quad} \newcommand{\qE}{\quad \equiv\quad} \newcommand{\qqe}{\qquad =\qquad} \newcommand{\qqE}{\qquad \equiv\qquad} %\newcommand{\qfr}{\leq_{\hbox{{\scriptsize qf}}}} \newcommand{\qsep}{\, . \,} \newcommand{\qLra}{\quad\Leftrightarrow\quad} \newcommand{\qlra}{\quad\leftrightarrow\quad} \newcommand{\qqLra}{\qquad\Leftrightarrow\qquad} \newcommand{\qqlra}{\qquad\leftrightarrow\qquad} \newcommand{\qr}{\mbox{qr}} \newcommand{\qra}{\quad \rightarrow\quad} \newcommand{\qR}{\quad \Rightarrow\quad} \newcommand{\qRa}{\quad \Rightarrow\quad} \newcommand{\qsat}{\mbox{{\rm\sc QSAT}}} \newcommand{\query}{\mbox{{\bf query}}} \newcommand{\ramtime}{\mbox{{\rm RAM-TIME}}} \newcommand{\rank}{\mbox{rank} } \newcommand{\rng}{\mbox{{\rm rng}}} \newcommand{\Rdual}{\raisebox{0.2ex}{$\stackrel{\sim}{{\cal R}}$}} \newcommand{\reach}{\mbox{{\rm\sc REACH}}} \newcommand{\RE}{\mbox{{\rm r.e.}}} \newcommand{\reacha}{\mbox{{\rm\sc REACH$_a$}}} \newcommand{\reachd}{\mbox{{\rm\sc REACH$_d$}}} \newcommand{\reachdl}{\mbox{{\rm\sc REACH$_{d\ell}$}}} \newcommand{\reachl}{\mbox{{\rm\sc REACH$_\ell$}}} \newcommand{\reachu}{\mbox{{\rm\sc REACH$_u$}}} \newcommand{\recursive}{\mbox{{\rm Recursive}}} \newcommand{\regular}{\mbox{{\rm Regular}}} \newcommand{\Res}{\mbox{{\rm Res}}} \newcommand{\rst}[2]{#1|_{#2}} \newcommand{\rr}{\leq_{\mbox{{\scriptsize r}}}} \newcommand{\sac}{\mbox{{\rm sAC}}} \newcommand{\sat}{\mbox{{\rm\sc SAT}}} \newcommand{\Sat}{\mbox{{\rm\sc 3-SAT}}} \newcommand{\sbar}{\; |\;} \newcommand{\sdot}{\; .\;} \newcommand{\se}{\; =\;} \newcommand{\sE}{\; \equiv\;} \newcommand{\Sin}{\;\in\;} \newcommand{\lsyn}{\lbrack\!\lbrack} \newcommand{\rsyn}{\rbrack\!\rbrack} \newcommand{\semp}[1]{\lsyn #1 \rsyn} \newcommand{\sIn}{\;\in\;} \newcommand{\qIn}{\quad\in\quad} \newcommand{\sLra}{\;\Leftrightarrow\;} \newcommand{\sla}{\;\leftarrow\;} \newcommand{\slra}{\;\leftrightarrow\;} \newcommand{\sra}{\;\rightarrow\;} \newcommand{\sepimplies}{-\!\!\star\;} \newcommand{\Set}{\mbox{{\bf set}}} \newcommand{\size}{\mbox{{\rm SIZE}}} \newcommand{\smb}[1]{\;\mbox{{\rm #1}}\;} \newcommand{\so}{\mbox{{\rm SO}}} \newcommand{\soa}{\mbox{{\rm SO}$\forall$}} \newcommand{\soe}{\mbox{{\rm SO}$\exists$}} \newcommand{\soh}{\mbox{{\rm SO-Horn}}} \newcommand{\soeh}{\mbox{\soe{\rm -Horn}}} \newcommand{\sok}{\mbox{{\rm SO-Krom}}} \newcommand{\som}{\mbox{{\rm SOM}}} \newcommand{\Space}{\mbox{{\rm SPACE}}} \newcommand{\ess}{\mbox{{\red\bf S}}} \newcommand{\dee}{\mbox{{\green\bf D}}} \newcommand{\spec}{\mbox{{\rm spec}}} \newcommand{\sq}{\mbox{{\rm sq}}} \newcommand{\sRa}{\; \Rightarrow\;} \newcommand{\sss}{\;\subseteq\;} \newcommand{\qsubseteq}{\quad\subseteq\quad} \newcommand{\Sol}{\mbox{{\rm Sol}}} \newcommand{\St}{\mbox{{\rm \,s.t.\,}}} \newcommand{\straight}{\mbox{{\rm\sc STRAIGHT}}} \newcommand{\strs}{\mbox{{\rm Stars}}} \newcommand{\struct}[1]{\mbox{{\rm STRUC}}[#1]} \newcommand{\strucn}[2]{\mbox{{\rm STRUC}}_{#1}[#2]} \newcommand{\fstruc}[1]{\mbox{{\rm STRUC$_{\mbox{fin}}$}}[#1]} \newcommand{\struc}[1]{\mbox{{\rm STRUC}}[#1]} \newcommand{\sx}[1]{_{\mbox{{\scriptsize #1}}}} \newcommand{\suc}{\mbox{{\rm Suc}}} \newcommand{\succinct}{\mbox{{\rm\sc SUCCINCT }}} \newcommand{\sub}[2]{#1/#2} % substitute a/x \newcommand{\superset}{\supset} \newcommand{\superseteq}{\supseteq} % temporal logic operators \newcommand{\tA}{\mbox{{\bf A}}} \newcommand{\tB}{\mbox{{\bf B}}} \newcommand{\tE}{\mbox{{\bf E}}} \newcommand{\tF}{\mbox{{\bf F}}} \newcommand{\tG}{\mbox{{\bf G}}} \newcommand{\tR}{\mbox{{\bf R}}} \newcommand{\tU}{\mbox{{\bf U}}} \newcommand{\tW}{\mbox{{\bf W}}} \newcommand{\tX}{\mbox{{\bf X}}} \newcommand{\ta}{\mbox{{\scriptsize\bf A}}} \newcommand{\tb}{\mbox{{\scriptsize\bf B}}} \newcommand{\te}{\mbox{{\scriptsize\bf E}}} \newcommand{\tu}{\mbox{{\scriptsize\bf U}}} \newcommand{\tx}{\mbox{{\scriptsize\bf X}}} \newcommand{\tail}{\mbox{{\rm tail}}} \newcommand{\taut}{\mbox{{\rm\sc TAUT}}} \newcommand{\tc}{\mbox{{\rm TC}}} \newcommand{\term}{\mbox{{\rm term}}} \newcommand{\Th}{\mbox{{\rm Theory}}} \newcommand{\thc}{\mbox{{\rm ThC}}} \newcommand{\thOrd}{\mbox{$^{\rm th}$}} \newcommand{\Times}{\mbox{{\rm TIMES}}} \newcommand{\tr}{\mbox{{\bf Tr}}} % trace \newcommand{\trianglelt}{\lhd} \newcommand{\trianglele}{\unlhd} \newcommand{\trianglegt}{\rhd} \newcommand{\trianglege}{\unrhd} \newcommand{\tridown}{\bigtriangledown} \newcommand{\triup}{\bigtriangleup} %\newcommand{\true}{\mbox{{\bf true}}} \newcommand{\tsp}{\mbox{{\rm\sc TSP}}} \newcommand{\tw}{\mbox{{\rm tw}}} \newcommand{\two}{\mbox{{\rm\sc TWO}}} \newcommand{\ultra}{\mbox{{{\rm ULTRA}}}} \newcommand{\un}[1]{\underline{#1}} \newcommand{\unary}{\mbox{{\rm unary}}} \newcommand{\union}{\mbox{{\rm union}}} \newcommand{\undir}{\mbox{{\rm undir}}} \newcommand{\yesC}{\mbox{{\rm YesComp}}} \newcommand{\val}{\mbox{{\rm val}}} \newcommand{\Value}{\mbox{{\rm Value}}} \newcommand{\var}{\mbox{{\rm var}}} \newcommand{\vargr}{\mbox{{\it var}}} \newcommand{\vc}{\mbox{{\it vc}}} \newcommand{\vbit}{\mbox{{\rm VBIT}}} \newcommand{\varsz}[2]{\mbox{{{\rm VAR-SZ}}}[#1,#2]} \newcommand{\varszw}[2]{\mbox{{{\rm VAR-SZ}}}\wo[#1,#2]} \newcommand{\wo}{\mbox{{\rm \small (wo$\leq$)}}} \newcommand{\wob}{\mbox{{\rm \small (wo BIT)}}} \newcommand{\wtc}{\mbox{{\rm W$_5$TC}}} \newcommand{\zpa}{\hspace*{.25in}} \newcommand{\zpb}{\hspace*{.5in}} \newcommand{\zpc}{\hspace*{.75in}} \newcommand{\zpd}{\hspace*{1.0in}} \newcommand{\zpl}{\mbox{{\rm ZPL}}} \newcommand\pf{\smallskip\noindent{\bf Proof:}} %\newcommand{\oldqed}{\penalty 1000 \hfill\penalty 1000\rule{5pt}{8pt}\par\medskip} \newcommand{\qed}{\penalty 1000 \hfill\penalty 1000$\Box$\par\medskip} \newenvironment{proof}{\pf }{\qed } \newenvironment{slide}{\newpage }{} \newenvironment{framework}{\medskip\noindent\refstepcounter{theorem}{\bf Framework \thetheorem\ }}{\qed } \newenvironment{sproof}{\pf }{ } \newenvironment{sql}{\medskip\noindent\refstepcounter{theorem}{\bf SQL Query \thetheorem\ }}{ } \newenvironment{datalog}{\medskip\noindent\refstepcounter{theorem}{\bf Datalog Query \thetheorem\ }}{ } \newenvironment{definition}{\medskip\noindent\refstepcounter{theorem}{\bf Definition \thetheorem\ }}{\qed } \newenvironment{remark}{\medskip\noindent\refstepcounter{theorem}{{\color{dg}\bf Remark \thetheorem\ }}}{{\color{dg}\qed}} \newenvironment{problem}{\medskip\noindent\refstepcounter{theorem}{\bf Open Problem \thetheorem\ }}{ } \newenvironment{sdefinition}{\medskip\noindent\refstepcounter{theorem}{\bf Definition \thetheorem\ }}{ } \newenvironment{invariant}{\medskip\noindent\refstepcounter{theorem}{\bf Invariant \thetheorem\ }}{\qed } \newenvironment{sinvariant}{\medskip\noindent\refstepcounter{theorem}{\bf Invariant \thetheorem\ }}{ } \newenvironment{sexample}{\medskip\noindent\refstepcounter{theorem}{\bf Example \thetheorem\ }}{ } \newenvironment{example}{\medskip\noindent\refstepcounter{theorem}{\bf Example \thetheorem\ }}{\qed } \newenvironment{exercise}{\medskip\noindent\refstepcounter{theorem}{\bf Exercise \thetheorem\ }}{\qed } \newenvironment{sexercise}{\medskip\noindent\refstepcounter{theorem}{\bf Exercise \thetheorem\ }}{ } \newcounter{myfig} \newcommand{\startfig}{\begin{figure}\refstepcounter{theorem} \setcounter{myfig}{\value{theorem}} } \newcommand{\eJJ}{\end{figure}} \newenvironment{myfigure}{\startfig}{\eJJ} \newcommand{\pdfFig}[3]{\refstepcounter{theorem}\label{#1} \begin{center} \includegraphics[width=#3\textwidth]{#1.pdf} \end{center} \vspace*{-.3in} \noindent{\bf Figure \thetheorem}: {\small #2} \par\smallskip} \newcommand{\epsFig}[3]{\refstepcounter{theorem}\label{#1} \begin{center} \includegraphics[width=#3\textwidth]{#1.eps} \end{center} \vspace*{-.3in} \noindent{\bf Figure \thetheorem}: {\small #2} \par\smallskip} \newcounter{myeqn} \newcommand{\myequation}[2]{\par\refstepcounter{theorem} \setcounter{myeqn}{\value{theorem}}\label{#1} \noindent\makebox[\textwidth]{\hfill${\displaystyle #2 }$\hfill {\mbox{\rm (\ref{#1})}}} \par\smallskip} % same for two-column, conferences \newcounter{dmyeqn} \newcommand{\dmyequation}[2]{\par\refstepcounter{theorem} \setcounter{dmyeqn}{\value{theorem}}\label{#1} \smallskip\noindent\makebox[3.25in]{\hfill${\displaystyle #2 }$\hfill {\rm (\ref{#1})}} \par\smallskip} \newcommand{\regequation}[2]{\begin{equation}\label{#1} #2 \end{equation}} \newcommand{\lline}[1]{\par\medskip \noindent\hspace*{-.4in}\makebox[\textwidth]{#1\hfill} \par\medskip\noindent} \newcommand{\labeleqn}[2]{\par\medskip \noindent\makebox[\textwidth]{\hfill${\displaystyle #2 }$\hfill $#1$} \par\medskip\noindent} \newcommand{\oneLine}[1]{\par\smallskip \noindent\makebox[\textwidth]{#1} \par\smallskip\noindent} \newcommand{\seqn}[1]{\labeleqn{\Box}{#1}} \newcommand{\narrowlabeleqn}[2]{\par\medskip \noindent\makebox[6.8in]{\hfill${\displaystyle #2 }$\hfill $#1$} \par\medskip\noindent} % MYfig: same as myfig but it is not a figure so it can't move where it shouldn't \newcounter{MYfig} \newcommand{\Startfig}{\par\smallskip\refstepcounter{theorem} \setcounter{MYfig}{\value{theorem}} } \newcommand{\Ejj}{\par\smallskip} \newenvironment{MYfigure}{\Startfig}{\Ejj} \newcommand{\snieqn}{\begin{equation}\refstepcounter{theorem}} \newcommand{\enieqn}{\end{equation}} \newenvironment{nieqn}{\snieqn}{\enieqn} \newcommand{\sniarray}{\begin{eqnarray}\refstepcounter{theorem}} \newcommand{\eniarray}{\end{eqnarray}} \newenvironment{niarray}{\sniarray}{\eniarray} \renewcommand{\theequation}{\thetheorem} \newcommand{\nilabel}[1]{\\ \refstepcounter{theorem}\label{#1}} % place at end of % each additional % labeled line in % an niarray \newcommand{\nn}{\nonumber \\} % right justified equation for two-column, conferences \newcommand{\drteqn}[1]{\noindent\makebox[3.25in]{\hfill${\displaystyle #1 }$}} %left justified equation for two-column, conferences \newcommand{\dlteqn}[1]{\noindent\makebox[3.25in]{${\displaystyle #1 }$\hfill}} \hyphenation{Abite-boul Bool-ean it-er-at-ed poly-no-mial poly-no-mial-time quan-ti-fier quan-ti-fier-free De-li-lah Sam-son} %the following makes atheorem numbered numerically: \newtheorem{atheorem}{Theorem} \newtheorem{acorollary}[atheorem]{Corollary} \newtheorem{alemma}[atheorem]{Lemma} \newtheorem{aprop}[atheorem]{Proposition} \newtheorem{afact}[atheorem]{Fact} \newtheorem{aconjecture}[atheorem]{Conjecture} \newcommand{\amyequation}[2]{\par\refstepcounter{atheorem} \setcounter{myeqn}{\value{atheorem}}\label{#1} \smallskip\noindent\makebox[\textwidth]{\hfill${\displaystyle #2 }$\hfill {\rm (\ref{#1})}} } \newcounter{myafig} \newcommand{\startafig}{\begin{figure}\refstepcounter{atheorem} \setcounter{myafig}{\value{atheorem}} } \newenvironment{myafigure}{\startafig}{\eJJ} \newcounter{myaeqn} \newcommand{\myaequation}[2]{\par\refstepcounter{atheorem} \setcounter{myaeqn}{\value{atheorem}}\label{#1} \medskip \noindent\makebox[\textwidth]{\hfill${\displaystyle #2 }$\hfill {\mbox{\rm (\ref{#1})}}} \par\medskip\noindent} \newcommand{\narrowEquation}[2]{\par\refstepcounter{atheorem} \setcounter{myaeqn}{\value{atheorem}}\label{#1} \medskip \noindent\makebox[6.5in]{\hfill${\displaystyle #2 }$\hfill {\mbox{\rm (\ref{#1})}}} \par\medskip\noindent} \newcommand{\leftPicture}[2]{\par\noindent\begin{minipage}[t]{.48\textwidth} #1 \end{minipage} \ \begin{minipage}[t]{.48\textwidth} #2 \end{minipage}} %\renewcommand{\Box}{\fbox{\rule{0cm}{.04cm}\rule{.04cm}{0cm}}}% theorem_section.tex %the following make everything numbered like theorems, within sections. \newtheorem{theorem}{Theorem}[section] \newtheorem{algorithm}[theorem]{Algorithm} \newtheorem{claim}[theorem]{Claim} \newtheorem{conjecture}[theorem]{Conjecture} \newtheorem{corollary}[theorem]{Corollary} \newtheorem{fact}[theorem]{Fact} \newtheorem{lemma}[theorem]{Lemma} \newtheorem{meta-proposition}[theorem]{Meta-Proposition} \newtheorem{notation}[theorem]{Notation} \newtheorem{note}[theorem]{Note} \newtheorem{observation}[theorem]{Observation} \newtheorem{proposition}[theorem]{Proposition} \newtheorem{proviso}[theorem]{Proviso} \newtheorem{question}[theorem]{Question} %\newtheorem{remark}[theorem]{Remark} \setcounter{theorem}{0} % new 12/17/13: \newcommand{\colonDash}{\;\mbox{{\rm :-}}\;} % 250 abbreviations: \newcommand{\pvar}{\mbox{\bf P$_{\textrm{var}}$}} \newcommand{\pwff}{\mbox{\bf P$_{\textrm{wff}}$}} \newcommand{\pfmla}{\mbox{\bf P$_{\textrm{fmla}}$}} \newcommand{\true}{\mbox{{\bf T}}} \newcommand{\bT}{\mbox{{\bf T}}} \newcommand{\false}{\mbox{{\bf F}}} \newcommand{\bF}{\mbox{{\bf F}}} \newcommand{\bbf}[1]{{\color{blue}\bf #1}} %boldface and blue \newcommand{\gbf}[1]{{\color{dg}\bf #1}} %boldface and dark green \newcommand{\gf}[1]{{\color{dg} #1}} %dark green \newcommand{\mbf}[1]{{\color{magenta}\bf #1}} %boldface and magenta \newcommand{\tbf}[1]{\mbox{{\color{magenta}\fbox{{#1}}}}} % TM box \newcommand{\mdeg}{\mbox{{\color{magenta}\bf deg}}} % undirected degree of a vertex \newcommand{\rbf}[1]{{\color{red}\bf #1}} %boldface and red \newcommand{\brbf}[1]{{\color{brown}\bf #1}} %boldface and brown \newcommand{\sbf}[1]{{\color{silver}\bf #1}} %boldface and silver\ \newcommand{\jbf}[1]{{\bf #1}} %just boldface \newcommand{\bfb}[1]{\mbox{ {\bf #1} }} \newcommand{\rmb}[1]{\mbox{{\rm #1}}} % roman in a box \newcommand{\hrb}[1]{\mbox{\color{blue} \(#1\)}} % EPR paper: \newcommand{\QFR}{\rmb{QF}^R} \newcommand{\AFR}{\rmb{AF}^R} \newcommand{\AER}{\rmb{AE}^R} \newcommand{\QFAR}{\rmb{QF}^{AR}} \newcommand{\AFAR}{\rmb{AF}^{AR}} \newcommand{\AEAR}{\rmb{AE}^{AR}} \newcommand{\qfr}{\rmb{QF}^R} \newcommand{\afr}{\rmb{AF}^R} \newcommand{\aer}{\rmb{AE}^R} \newcommand{\qfar}{\rmb{QF}^{AR}} \newcommand{\afar}{\rmb{AF}^{AR}} \newcommand{\aear}{\rmb{AE}^{AR}} \newcommand{\black}{\color{black}} \newcommand{\blue}{\color{blue}} \newcommand{\red}{\color{red}} \newcommand{\magenta}{\color{magenta}} \newcommand{\darkgreen}{\color{dg}} \newcommand{\fromSlide}[2]{#2} \newcommand{\overlays}[2]{#2} \newcommand{\ap}{\mbox{{\rm AP}}} \newcommand{\siff}{\mbox{{\rm $\;$ iff $\;$}}} \newcommand{\labelAbove}[2]{\draw (#1.north) node[above] {#2};} % mark node above \newcommand{\labelBelow}[2]{\draw (#1.south) node[below] {#2};} % mark node below \newcommand{\labelLeft}[2]{\draw (#1.west) node[left] {#2};} % mark node left \newcommand{\labelRight}[2]{\draw (#1.east) node[right] {#2};} % mark node right \newcommand{\slabelAbove}[1]{\draw (#1.north) node[above] {{\bf s}};} % label s above \newcommand{\slabelBelow}[1]{\draw (#1.south) node[below] {{\bf s}};} % label s below \newcommand{\stlabelAbove}[1]{\draw (#1.north) node[above] {{\bf s t}};} % label st above \newcommand{\indexLabelBelow}[2]{\draw (#1.south) node[below] {{\bf #2}};} % label s below \newcommand{\tlabelAbove}[1]{\draw (#1.north) node[above] {{\bf t}};} % label t above \newcommand{\finalState}[2]{\draw (#1) circle (.2 * #2);} % final state \newcommand{\startState}[2]{\draw[line width=2pt] ([shift=(225:.14 * #2)]#1.west) -- (#1.west) -- ([shift=(135:.14 * #2)]#1.west);} % start state \newcommand{\startMyState}[2]{\draw[line width=2pt,color=dg] ([shift=(225:2ex * #2)]#1.west) -- (#1.west) -- ([shift=(135:2ex * #2)]#1.west);} % start state \newcommand{\vState}[1]{\draw (#1.north east) -- (#1.south east)} % draw vertical state \newcommand{\hState}[1]{\draw (#1.north east) -- (#1.north west)} % draw vertical state \newcommand{\labelGraph}[2]{\draw (#1.west) node[left,xshift=-2ex] {{\Large #2}};} \newcommand{\labelGraphDist}[3]{\draw (#1.west) node[left,xshift=-#3] {{\Large #2}};} \newcommand{\emmaAutomataStyle}{ \tikzstyle{every initial by arrow}=[-triangle 90,initial text=,initial distance=0.01,fill=white] \tikzstyle{every picture}=[->,>=stealth',shorten >=1pt,auto,node distance=2.8cm,semithick]}