root / CSL17 / preliminaries.tex @ 260
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. |