Statistiques
| Révision :

root / CSL17 / preliminaries.tex @ 256

Historique | Voir | Annoter | Télécharger (16,09 ko)

1 154 adas
2 154 adas
\section{Preliminaries}
3 219 adas
\label{sect:prelims}
4 226 pbaillot
We introduce the polynomial hierarchy and its basic properties, then Bellantoni's characterisation of it based on safe recursion and minimisation \cite{bellantoni1995fph}.
5 154 adas
6 220 adas
%\anupam{Should recall polymax bounded functions and the polychecking lemma, e.g.\ from Bellantoni's FPH paper or thesis. Quite important, even if proof not given.}
7 157 adas
8 154 adas
\subsection{Polynomial hierarchy}
9 161 pbaillot
%(include closure properties)
10 154 adas
11 161 pbaillot
\begin{definition}
12 163 pbaillot
Given $i\geq 0$, a  language $L$ belongs to the class $\sigp{i}$ if there exists a polynomial time predicate $A$ and a polynomial $q$ such that:
13 161 pbaillot
$$ x \in L \Leftrightarrow \exists y_1 \in \{0,1\}^{q(\size{x})}\forall y_2 \in \{0,1\}^{q(\size{x})}\dots Q_iy_i\in \{0,1\}^{q(\size{x})}\ A(x,y_1,\dots,y_i)=1$$
14 161 pbaillot
where $Q_i=\forall$ (resp. $Q_i=\exists$) if $i$ is even (resp. odd).
15 161 pbaillot
16 161 pbaillot
The class $\pip{i}$ is defined similarly but with first quantifier $\forall$ instead of $\exists$.
17 161 pbaillot
\end{definition}
18 162 pbaillot
In particular: $\sigp{0}=\pip{0}=\ptime$, $\sigp{1}=\np$, $\pip{1}=\conp$. Note that for any $i$ we have $\pip{i}=\mathbf{co}\sigp{i}$ and $\sigp{i}\subseteq \pip{i+1}$,  $\pip{i}\subseteq \sigp{i+1}$.
19 161 pbaillot
20 161 pbaillot
The polynomial hierarchy is defined as $\ph:=\cup_i \sigp{i}$, and we also have $\ph=\cup_i \pip{i}$.
21 161 pbaillot
22 161 pbaillot
Given a language $L$ we denote as $\fptime(L)$ the class of functions computable by a deterministic
23 161 pbaillot
polynomial time Turing machine with oracle $L$.
24 161 pbaillot
25 161 pbaillot
We now define the following function classes:
26 220 adas
\[
27 220 adas
\begin{array}{lcl}
28 162 pbaillot
 \fphi{i+1} &:= & \fptime(\sigp{i}),\\
29 162 pbaillot
 \fph &:=& \cup_i  \fphi{i}.
30 220 adas
\end{array}
31 220 adas
\]
32 220 adas
Notice that $ \fphi{i+1} =  \fptime(\pip{i})=  \fptime(\sigp{i}\cup \pip{i})$.
33 161 pbaillot
34 220 adas
\subsection{Bellantoni-Cook characterisation of $\fptime$ using predicative recursion}
35 220 adas
%(perhaps compare with Cobham's using limited recursion)
36 220 adas
%
37 220 adas
%\anupam{copied below from last year's paper}
38 156 adas
39 220 adas
We recall the Bellantoni-Cook  algebra $\bc$ of functions defined by \emph{safe} (or \emph{predicative}) recursion on notation \cite{BellantoniCook92}.
40 220 adas
These will be employed for proving both the soundness and completeness results later on.
41 156 adas
42 220 adas
We consider functions $f$ over the domain $\Nat$ with sorted arguments $(\vec u ; \vec x)$, where the inputs $\vec u$ are called \textit{normal} and $\vec x$ are called \textit{safe}.
43 156 adas
%Each symbol is given with an arity $m$ and a number $n\leq m$ of normal arguments, and will be denoted as $f(\vec{u};\vec{x})$ where $\vec{u}$ (resp. $\vec{x}$) are the normal (resp. safe) arguments.
44 156 adas
%We say that an expression is well-sorted if the arities of function symbols in it is respected.
45 156 adas
46 156 adas
%\patrick{Note that below I used the terminology 'BC programs', to distinguish them from 'functions' in the extensional sense, which I find clearer. But if you prefer to keep 'BC functions' it is all right for me.}
47 156 adas
\begin{definition}
48 220 adas
	[$\bc$ programs]
49 220 adas
	$\bc$ contains the following initial functions:
50 156 adas
	%	\paragraph{Initial functions}
51 156 adas
	%	The initial functions are:
52 220 adas
53 156 adas
	\begin{enumerate}
54 220 adas
		\item The constant functions $0 (\vec u ; \vec x) \dfn 0$, for each $|\vec u|$ and $| \vec x|$.
55 220 adas
		\item The projection functions $\pi^{m,n}_k ( a_1 , \dots , a_m ; a_{m+1} , \dots, a_{m+n} )  := a_k$ for $1 \leq k \leq m+n$.
56 220 adas
		\item The successor functions $\succ i ( ; x) \dfn 2x +i$ for $i = 0,1$.
57 220 adas
		\item The predecessor function $\pred (; x) \dfn \hlf{x}$.
58 156 adas
		\item The conditional function
59 220 adas
		\(
60 220 adas
		\cond(;x,y,z)
61 220 adas
		 \dfn
62 220 adas
		\begin{cases}
63 220 adas
		y & x = 0\  \mathrm{mod}\  2 \\
64 220 adas
		z & x = 1\  \mathrm{mod}\  2
65 220 adas
		\end{cases}
66 220 adas
		\)
67 156 adas
	\end{enumerate}
68 156 adas
69 220 adas
	\medskip
70 220 adas
	\noindent
71 220 adas
$\bc$ is closed under the following operations:
72 220 adas
73 220 adas
74 220 adas
75 156 adas
	\begin{enumerate}
76 156 adas
		\setcounter{enumi}{5}
77 156 adas
		\item Predicative recursion on notation (PRN). If $g, h_0, h_1 $ are in BC then so is $f$ defined by,
78 156 adas
		\[
79 220 adas
		\begin{array}{rcll}
80 220 adas
		f(0, \vec v ; \vec x) & := & g(\vec v ; \vec x) & \\
81 220 adas
		f (\succ 0 u , \vec v ; \vec x ) & := & h_0 ( u , \vec v ; \vec x , f (u , \vec v ; \vec x) ) & \text{when $u \neq 0$} \\
82 220 adas
		f (\succ 1 u , \vec v ; \vec x ) & := & h_1 ( u , \vec v ; \vec x , f (u , \vec v ; \vec x) ) &
83 156 adas
		\end{array}
84 156 adas
		\]
85 220 adas
		so long as the expressions are well-formed. % (i.e.\ in number/sort of arguments).
86 156 adas
		\item Safe composition. If $g, \vec h, \vec h'$ are in BC then so is $f$ defined by,
87 156 adas
		\[
88 156 adas
		f (\vec u ; \vec x) \quad := \quad g ( \vec h(\vec u ; ) ; \vec h' (\vec u ; \vec x) )
89 156 adas
		\]
90 156 adas
		so long as the expression is well-formed.
91 156 adas
	\end{enumerate}
92 156 adas
\end{definition}
93 156 adas
%Note that the  programs of this class can be defined by equational specifications in a natural way, and in the following we will thus silently identify a BC program with the corresponding equational specification.
94 156 adas
95 220 adas
We will refer to the expressions or terms built up from the rules above as `$\bc$-programs', although we consider $\bc$ itself to be an algebra of functions.
96 220 adas
The main property of $\bc$ is:
97 156 adas
\begin{theorem}[\cite{BellantoniCook92}]
98 220 adas
	$\bc =\fptime$.
99 156 adas
\end{theorem}
100 156 adas
101 220 adas
%Actually this property remains true if one replaces the PRN scheme by the following more general simultaneous PRN scheme \cite{BellantoniThesis}:
102 220 adas
%
103 220 adas
%$(f^j)_{1\leq j\leq n}$ are defined by simultaneous PRN scheme  from $(g^j)_{1\leq j\leq n}$, $(h^j_0, h^j_1)_{1\leq j\leq n}$ if for $1\leq j\leq n$ we have:
104 220 adas
%\[
105 220 adas
%\begin{array}{rcl}
106 220 adas
%f^j(0, \vec v ; \vec x) & := & g^j(\vec v ; \vec x) \\
107 220 adas
%f^j(\succ i u , \vec v ; \vec x ) & := & h^j_i ( u , \vec v ; \vec x , \vec{f} (u , \vec v ; \vec x) )
108 220 adas
%\end{array}
109 220 adas
%\]
110 220 adas
%for $i = 0,1$,  so long as the expressions are well-formed.
111 156 adas
112 156 adas
%\anupam{simultaneous recursion?}
113 156 adas
114 156 adas
%\anupam{also identity, hereditarily safe, expressions, etc.}
115 156 adas
116 156 adas
%\anupam{we implicitly associate a BC program with its equational specification}
117 156 adas
118 156 adas
Consider a well-formed expression $t$ built from function symbols and variables. We say that a variable $y$ occurs \textit{hereditarily safe} in $t$ if, for every subexpression $f(\vec{r}; \vec{s})$ of $t$, the terms in $\vec{r}$ do not contain $y$.
119 156 adas
For instance $y$ occurs hereditarily safe in $f(u;y,g(v;y))$, but not in $f(g(v;y);x)$.
120 156 adas
\begin{proposition}
121 220 adas
	[Properties of $\bc$ programs]
122 156 adas
	\label{prop:bc-properties}
123 156 adas
	We have the following properties:
124 156 adas
	\begin{enumerate}
125 220 adas
		\item The identity function is in $\bc$.
126 220 adas
		\item Let $t$ be a well-formed expression built from $\bc$ programs and variables, denote its free variables as $\{u_1,\dots, u_n,x_1,\dots, x_k\}$, and assume for each $1\leq i\leq k$, $x_i$ is hereditarily safe in $t$. Then the function $f(u_1,\dots, u_n; x_1,\dots, x_k):=t$ is in $\bc$.
127 220 adas
		\item If $f$ is a $\bc$ program, then the function $g(\vec{u},v;\vec{x})$ defined as $f(\vec{u};v,\vec{x})$
128 220 adas
		is also a $\bc $ program.
129 156 adas
	\end{enumerate}
130 156 adas
131 156 adas
	%\begin{proposition}
132 156 adas
	%[Properties of BC programs]
133 156 adas
	%\label{prop:bc-properties}
134 156 adas
	%We have the following properties:
135 156 adas
	%\begin{enumerate}
136 156 adas
	%\item Hereditarily safe expressions over BC programs are BC definable.
137 156 adas
	%\item Can pass safe input to normal input.
138 156 adas
	%\end{enumerate}
139 156 adas
\end{proposition}
140 156 adas
141 159 pbaillot
%\nb{TODO: extend with $\mu$s.}
142 158 adas
143 212 pbaillot
%\anupam{Should add $+(;x,y)$ as a basic function (check satisfies polychecking lemma!), since otherwise not definable with safe input. Then define unary successor $\succ{} (;x)$ as $+(;x,\succ 1 0)$. }
144 158 adas
145 252 pbaillot
We denote $|x|=\ulcorner \log(x+1) \urcorner.$
146 201 adas
\begin{example}
147 201 adas
	[Some simple functions]
148 201 adas
	\label{ex:simple-bc-fns}
149 213 pbaillot
%	\todo{Boolean predicates $\notfn, \andfn, \orfn, \equivfn$ .}
150 213 pbaillot
%	\todo{$\bit$}
151 213 pbaillot
Observe that:
152 213 pbaillot
	\begin{itemize}
153 220 adas
	\item The boolean predicates $\notfn (;x)$,  $\andfn(;x,y)$, $\orfn(;x,y)$, $\equivfn(;x,y)$ can all be defined on safe arguments, simply by computing by case distinction using the conditional function.
154 213 pbaillot
	%\item $\bit(l;x)$ returns the $\mode l$th bit of $x$.
155 243 pbaillot
	\item We can define the function $\bit(l;x)$ which returns the $|l|$th least significant bit of $x$. For instance $\bit(11;1101)=0$.
156 201 adas
157 252 pbaillot
	For that let us first define the function $\shorten(l;x)$ which returns the $|x|- |l|$ prefix of $x$, as follows:
158 213 pbaillot
	\begin{eqnarray*}
159 242 pbaillot
	\shorten(0;x) &=&x\\
160 253 pbaillot
	\shorten(\succ{i}l;x) &=&p(;\shorten(l;x))
161 213 pbaillot
	\end{eqnarray*}
162 213 pbaillot
	Then we define $\bit(l;x)$  as follows:
163 242 pbaillot
	$$\bit(l;x)=C(;\shorten(l;x),0,1).$$
164 213 pbaillot
	\end{itemize}
165 201 adas
	\end{example}
166 201 adas
167 201 adas
168 213 pbaillot
%\nb{Remember polymax bounded checking lemma! Quite important. Also need to bear this in mind when adding functions.}
169 159 pbaillot
170 226 pbaillot
\subsection{Bellantoni's characterisation of $\fphi{i}$ using predicative minimisation}
171 220 adas
172 226 pbaillot
Now, in order to characterize $\fph$ and its subclasses $\fphi{i}$ we consider Bellantoni's function algebra $\mubc$, extending $\bc$ by predicative minimisation:
173 159 pbaillot
\begin{definition}[$\mubc$ and $\mubc^i$ programs]
174 220 adas
The algebra $\mubc$ is generated from $\bc$ by the following additional operation:
175 159 pbaillot
176 220 adas
\begin{enumerate}
177 220 adas
			\setcounter{enumi}{7}
178 226 pbaillot
	\item Predicative minimisation. If $h$ is in $\mubc$, then so is $f$ defined by
179 220 adas
	$$f(\vec u; \vec x):= \begin{cases}
180 220 adas
	s_1 \mu y.(h(\vec u; \vec x, y)\mod 2 = 0)& \mbox{ if  there exists such a $y$,} \\
181 220 adas
	0  & \mbox{ otherwise,}
182 220 adas
	\end{cases}
183 220 adas
	$$
184 220 adas
\end{enumerate}
185 220 adas
where $\mu y.(h(\vec u; \vec x , y)\mod 2 = 0)$ is the least $y$ such that the equality holds.
186 220 adas
%We will denote this function $f$ as $\mu y^{+1} . h(\vec u ; \vec x , y) =_2 0$.
187 159 pbaillot
188 245 adas
 For each $i\geq 0$, $\mubc^i$ is the set of $\mubc$ functions obtained by at most $i$ applications of predicative minimisation.\footnote{This is the number of nestings of $\mu$ in a $\mubc$ program, written as a derivation tree or dag.} So $\mubc^0=\bc$ and $\mubc =\cup_i \mubc^i$.
189 159 pbaillot
190 220 adas
 \end{definition}
191 220 adas
192 246 adas
Bellantoni showed the following result:
193 159 pbaillot
194 212 pbaillot
 \begin{theorem}[\cite{BellantoniThesis, Bellantoni95}]\label{thm:mubc}
195 220 adas
$\mubc =\fph$. Furthermore, for $i\geq 1$, $\mubc^{i-1} = \fphi{i}$.
196 159 pbaillot
 \end{theorem}
197 220 adas
198 246 adas
In what follows we will recall some of the intermediate results and state a slightly stronger result that directly follows from \cite{bellantoni1995fph}.
199 246 adas
%
200 246 adas
%\medskip
201 246 adas
%\noindent
202 246 adas
%\textbf{Some computational properties of $\mubc$ programs.}
203 246 adas
  	At the same time these results give us access to bounds for $\mubc$ functions that we use later on.
204 220 adas
205 159 pbaillot
 \begin{definition}
206 159 pbaillot
  A function $f(\vec u; \vec x)$ is \textit{polymax bounded} if there exists a polynomial $q$ such that,
207 159 pbaillot
  for any $\vec u$ and $\vec x$ one has:
208 159 pbaillot
209 159 pbaillot
%$\size{u}$
210 159 pbaillot
  $$ \size{f(\vec u; \vec x)} \leq q(\size{u_1} , \dots , \size{u_k}) + \max_j \size{x_j}.$$
211 159 pbaillot
 \end{definition}
212 160 pbaillot
213 216 pbaillot
 We define the function $\mode$ by $u\mode x:= u \mod 2^{\size{x}}$. Note that this means that as a binary string $u\mode x$ is the suffix of $u$ of length $\size{x}$.
214 160 pbaillot
 \begin{definition}
215 160 pbaillot
 A function $f(\vec u; \vec x)$ is a \textit{polynomial checking function} on $\vec u$ if there exists a polynomial $q$
216 160 pbaillot
 such that, for any $\vec u$, $\vec x$, $y$ and $z$ such that $\size{y} \geq q(\size{\vec u})+ \size{z}$ we have:
217 160 pbaillot
 $$ f(\vec u; \vec x) \mode z = f(\vec u; \vec x \mode y)\mode z.$$
218 160 pbaillot
 A polynomial $q$ satisfying this condition is called a \textit{threshold} for $f$.
219 160 pbaillot
 \end{definition}
220 160 pbaillot
 One then has:
221 226 pbaillot
 \begin{lemma}[Bounded minimisation, \cite{BellantoniThesis}]
222 219 adas
 	\label{lem:bounded-minimisation}
223 160 pbaillot
If  $f(\vec u; \vec x,y)$ is a polynomial checking function on $\vec u$ and $q$ is a threshold, then for any $\vec u$ and $\vec x$ we have:
224 160 pbaillot
$$ (\exists y.   f(\vec u; \vec x,y)\mbox{ mod } 2=0) \Rightarrow (\exists y.  (\size{y}\leq q(\size{\vec{x}})+2) \mbox{ and } f(\vec u; \vec x,y) \mbox{ mod } 2=0) .$$
225 160 pbaillot
 \end{lemma}
226 220 adas
227 220 adas
 Finally we can state an important lemma about $\mubc$.
228 220 adas
  If $\Phi$ is a class of functions, we denote by $\mubc(\Phi)$ the class obtained as $\mubc$ but adding $\Phi$ to the set of initial functions.
229 160 pbaillot
 \begin{lemma}[Polychecking Lemma, \cite{BellantoniThesis}]
230 219 adas
 	\label{lem:polychecking}
231 164 pbaillot
 Let $\Phi$ be a class of polymax bounded polynomial checking functions. If $f(\vec u; \vec x)$ is in $\mubc(\Phi)$, then $f$ is  a polymax bounded function  polynomial checking function on $\vec u$.
232 160 pbaillot
 \end{lemma}
233 245 adas
234 245 adas
In particular, we also have the following strengthening of Thm.~\ref{thm:mubc},
235 245 adas
 following from \cite{BellantoniThesis, Bellantoni95}.
236 220 adas
237 245 adas
238 245 adas
 \begin{theorem}
239 245 adas
 	\label{thm:mubc-phi}
240 245 adas
  If $\Phi$ is a class of polymax bounded polynomial checking functions, then  $\mubci {i-1} (\Phi) = \fphi i$.
241 245 adas
 \end{theorem}
242 245 adas
%
243 224 pbaillot
 \subsection{Some properties and extensions of $\bc$ and $\mubc$}\label{sect:somepropertiesofmubc}
244 220 adas
245 229 adas
We will state some results here that we rely on in the later sections.
246 220 adas
247 212 pbaillot
  Consider the addition function $+$ with two safe arguments, so denoted as $+(;x,y)$. It is clear that if $+(;x,y)=z$, then we have $|z| \leq \max(|x|,|y|)+1$, so $+$ is a polymax bounded function. Moreover for any $n$, the $n$th least significant bits of $z$ only depend on the $n$th least significant bits  of $x$ and $y$, so $+(;x,y)$ is a polynomial checking function (on no normal argument), with threshold $q(x,y)=0$.
248 212 pbaillot
249 245 adas
  Thus, we will freely add $+(;x,y)$ to the $\mubc $ framework, under Thm.~\ref{thm:mubc-phi}, and define unary successor $\succ{} (;x) \dfn +(;x, \succ 1 0)$.
250 229 adas
%  In the following we will consider $\mubc(\Phi)$ with $\Phi$ containing the function $+(;x,y)$, but write it simply as $\mubc$. Note that addition could be defined in $\bc$ (hence in $\mubc$), but not with two safe arguments because the definition would use safe recursion. We will also use the unary successor $\succ{} (;x)$, which is defined thanks to addition as  as $\succ{} (;x)=+(;x,\succ 1 0)$.
251 229 adas
%
252 229 adas
In the same way, although for more simple reasons, we may add the functions $\#$ and $|\cdot|$ that we introduce later in Sect.~\ref{sect:arithmetic} to $\mubc$ containing only normal arguments since they are polynomial-time computable.
253 220 adas
254 220 adas
255 229 adas
  One important closure property we will need for $\mubc $ functions, namely to define `witness functions' later on, is the following:
256 220 adas
  \begin{lemma}
257 220 adas
  	[Sharply bounded lemma]
258 220 adas
  	\label{lem:sharply-bounded-recursion}
259 220 adas
  	Let $f_A$ be the characteristic function of a predicate $A(u , \vec u ; \vec x)$.
260 229 adas
  	Then the characteristic functions of $\forall u \leq |v| . A(u,\vec u ; \vec x)$ and $\exists u \leq |v| . A(u , \vec u ; \vec x)$ are in $\bc(f_A)$.
261 220 adas
  \end{lemma}
262 220 adas
  \begin{proof}
263 229 adas
  	For the $\forall$ case, we define the characteristic function $f(v , \vec u ; \vec x)$ by predicative recursion on $v$ as:
264 220 adas
  	\[
265 220 adas
  	\begin{array}{rcl}
266 220 adas
  	f(0, \vec u ; \vec x) & \dfn & f_A (0 , \vec u ; \vec x) \\
267 229 adas
  	f(\succ i v , \vec u ; \vec x) & \dfn & \cond ( ; f_A (|\succ i v|, \vec u ; \vec x) , 0 , f(v , \vec u ; \vec x) )
268 220 adas
  	\end{array}
269 220 adas
  	\]
270 229 adas
  	The $\exists$ case is similar.
271 220 adas
  \end{proof}
272 220 adas
273 229 adas
Finally, we will briefly outline some basic functions for (de)coding sequences. The functions we introduce here will in fact be representable in the theory $\arith^1$ that we introduce in the next section, which, along with proofs of their basic properties, will be important for the completeness result in Sect.~\ref{sect:completeness}.
274 229 adas
275 229 adas
  We assume the existence of a simple pairing function in $\bc$ for elements of fixed size: $\pair{k,l}{x}{y}$ identifies the pair $(x \mode k , y \mode l )$.
276 220 adas
  An appropriate such function would `interleave' $x$ and $y$, adding delimiters as necessary.
277 220 adas
  We assume that $|\pair{k,l}{x}{y}| = k+O(l)$ and $\pair{k,l}{x}{y}$ satisfies the polychecking lemma.
278 229 adas
  %
279 220 adas
  We will simply write $\pair{l}{x}{y}$ for $\pair{l,l}{x}{y}$.
280 220 adas
281 220 adas
  \begin{lemma}
282 229 adas
  	[Coding sequences]
283 220 adas
  	\label{lem:sequence-creation}
284 229 adas
  	Given a function $f(u , \vec u ; \vec x)$ there is a $\bc(f)$ function $F(l, u , \vec u ; \vec x)
285 229 adas
%  	$ such that:
286 229 adas
%  	\[
287 229 adas
%  	F(l,u,\vec u ; \vec x)
288 229 adas
 % 	\quad = \quad
289 229 adas
  =
290 229 adas
  	\langle \cdots \langle f(0, \vec u ; \vec x) \mode l , f(1, \vec u ; \vec x) \mode l \rangle , \cdots , f(|u|, \vec u ; \vec x) \mode l \rangle
291 229 adas
  %	\]
292 229 adas
  $
293 220 adas
  \end{lemma}
294 220 adas
  \begin{proof}
295 220 adas
  	We simply define $F$ by safe recursion from $f$:
296 220 adas
  	\[
297 220 adas
  	\begin{array}{rcl}
298 220 adas
  	F(l,0, \vec u ; \vec x) & \dfn & \langle ; f(0) \mode l \rangle \\
299 229 adas
  	F(l, \succ i u , \vec u ; \vec x ) & \dfn & \pair{p(u l) , l}{F(l, u , \vec u ; \vec x)}{f( |\succ i u| , \vec u ; \vec x )}
300 220 adas
  	\end{array}
301 220 adas
  	\]
302 229 adas
  	where $p(u l)$ is a sufficiently large polynomial.
303 220 adas
  \end{proof}
304 220 adas
305 220 adas
  \begin{lemma}
306 220 adas
  	[Decoding sequences]
307 220 adas
  	We can define $\beta(l,i;x)$ as $(i\text{th element of x}) \mode l$.
308 220 adas
  \end{lemma}
309 229 adas
  \begin{proof}[Proof sketch]
310 229 adas
  	First define $\beta (j,i;x)$ as $|j|$th bit of $|i|$th element of $x$, of the form $\bit(p(i,j) ; x)$ for some quasipolynomial $p$,\footnote{A quasipolynomial is just a polynomial that may contain $\smsh$.} then use similar idea to the proof above, concatenating the bits of the $i$th element by a recursion on $j$.
311 220 adas
  \end{proof}
312 220 adas
313 229 adas
  %Notice that $\beta (l,i;x)$ satisfies the polychecking lemma.