Révision 220 CSL17/preliminaries.tex

preliminaries.tex (revision 220)
1 1

  
2 2
\section{Preliminaries}
3 3
\label{sect:prelims}
4
We introduce the polynomial hierarchy and its basic properties, then the Bellantoni characterisation.
4
We introduce the polynomial hierarchy and its basic properties, then Bellantoni's characterisation of it based on safe recursion and minimization \cite{bellantoni1995fph}.
5 5

  
6
\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.}
6
%\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 7

  
8 8
\subsection{Polynomial hierarchy}
9 9
%(include closure properties)
......
23 23
polynomial time Turing machine with oracle $L$.
24 24

  
25 25
We now define the following function classes:
26
\begin{eqnarray*}
26
\[
27
\begin{array}{lcl}
27 28
 \fphi{i+1} &:= & \fptime(\sigp{i}),\\
28 29
 \fph &:=& \cup_i  \fphi{i}. 
29
\end{eqnarray*}
30
One can then check that $ \fphi{i+1} =  \fptime(\pip{i})=  \fptime(\sigp{i}\cup \pip{i})$.
30
\end{array}
31
\]
32
Notice that $ \fphi{i+1} =  \fptime(\pip{i})=  \fptime(\sigp{i}\cup \pip{i})$.
31 33

  
32
\subsection{Bellantoni's characterisation using predicative minimisation}
33
(perhaps compare with Cobham's using limited recursion)
34
\subsection{Bellantoni-Cook characterisation of $\fptime$ using predicative recursion}
35
%(perhaps compare with Cobham's using limited recursion)
36
%
37
%\anupam{copied below from last year's paper}
34 38

  
35
\anupam{copied below from last year's paper}
39
We recall the Bellantoni-Cook  algebra $\bc$ of functions defined by \emph{safe} (or \emph{predicative}) recursion on notation \cite{BellantoniCook92}. 
40
These will be employed for proving both the soundness and completeness results later on. 
36 41

  
37
We recall the Bellantoni-Cook  algebra BC of functions defined by \emph{safe} (or \emph{predicative}) recursion on notation \cite{BellantoniCook92}. These will be employed for proving both the completeness   (all polynomial time functions are provably convergent) and the soundness result (all provably total functions are polynomial time) of THEORY. We consider function symbols $f$ over the domain  $\Word$ with sorted arguments $(\vec u ; \vec x)$, where the inputs $\vec u$ are called \textit{normal} and $\vec x$ are called \textit{safe}. 
42
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}. 
38 43
%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.
39 44
%We say that an expression is well-sorted if the arities of function symbols in it is respected.
40 45

  
41 46
%\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.}
42 47
\begin{definition}
43
	[BC programs]
44
	BC is the set of functions generated as follows:
48
	[$\bc$ programs]
49
	$\bc$ contains the following initial functions:
45 50
	%	\paragraph{Initial functions}
46 51
	%	The initial functions are:
52
	
47 53
	\begin{enumerate}
48
		\item The constant functions $\epsilon^k$ which takes $k$ arguments and outputs $\epsilon \in \Word$.
49
		\item The projection functions $\pi^{m,n}_k ( x_1 , \dots , x_m ; x_{m+1} , \dots, x_{m+n} )  := x_k$ for $n,m \in \Word$ and $1 \leq k \leq m+n$.
50
		\item The successor functions $\succ i ( ; x) := xi$ for $i = 0,1$.
51
		\item The predecessor function $\pred (; x) := \begin{cases}
52
		\epsilon &  \mbox{ if }  x = \epsilon \\
53
		x' &  \mbox{ if }  x = x'i
54
		\end{cases}$.
54
		\item The constant functions $0 (\vec u ; \vec x) \dfn 0$, for each $|\vec u|$ and $| \vec x|$.
55
		\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
		\item The successor functions $\succ i ( ; x) \dfn 2x +i$ for $i = 0,1$.
57
		\item The predecessor function $\pred (; x) \dfn \hlf{x}$.
55 58
		\item The conditional function 
56
		\[
57
		%\begin{array}{rcl}
58
		%C (; \epsilon, y_\epsilon , y_0, y_1  ) & = & y_\epsilon \\
59
		%C(; x0 , y_\epsilon , y_0, y_1) & = & y_0 \\
60
		%C(; x1 , y_\epsilon , y_0, y_1) & = & y_1 
61
		%\end{array}
62
		C (; \epsilon, y_\epsilon , y_0, y_1  ) := y_\epsilon 
63
		\quad
64
		C(; x0 , y_\epsilon , y_0, y_1) := y_0 
65
		\quad
66
		C(; x1 , y_\epsilon , y_0, y_1) := y_1 
67
		\]
68
		%		$\cond (;x,y,z) := \begin{cases}
69
		%		y & \mbox{ if } x=x' 0 \\
70
		%		z & \text{otherwise}
71
		%		\end{cases}$.
59
		\(
60
		\cond(;x,y,z)
61
		 \dfn 
62
		\begin{cases}
63
		y & x = 0\  \mathrm{mod}\  2 \\
64
		z & x = 1\  \mathrm{mod}\  2
65
		\end{cases}
66
		\)
72 67
	\end{enumerate}
73 68
	
74
	%	One considers the following closure schemes:
69
	\medskip
70
	\noindent
71
$\bc$ is closed under the following operations:
72

  
73

  
74

  
75 75
	\begin{enumerate}
76 76
		\setcounter{enumi}{5}
77 77
		\item Predicative recursion on notation (PRN). If $g, h_0, h_1 $ are in BC then so is $f$ defined by,
78 78
		\[
79
		\begin{array}{rcl}
80
		f(0, \vec v ; \vec x) & := & g(\vec v ; \vec x) \\
81
		f (\succ i u , \vec v ; \vec x ) & := & h_i ( u , \vec v ; \vec x , f (u , \vec v ; \vec x) )
79
		\begin{array}{rcll}
80
		f(0, \vec v ; \vec x) & := & g(\vec v ; \vec x) & \\
81
		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
		f (\succ 1 u , \vec v ; \vec x ) & := & h_1 ( u , \vec v ; \vec x , f (u , \vec v ; \vec x) ) & 
82 83
		\end{array}
83 84
		\]
84
		for $i = 0,1$,  so long as the expressions are well-formed. % (i.e.\ in number/sort of arguments).
85
		so long as the expressions are well-formed. % (i.e.\ in number/sort of arguments).
85 86
		\item Safe composition. If $g, \vec h, \vec h'$ are in BC then so is $f$ defined by,
86 87
		\[
87 88
		f (\vec u ; \vec x) \quad := \quad g ( \vec h(\vec u ; ) ; \vec h' (\vec u ; \vec x) )
......
91 92
\end{definition}
92 93
%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.
93 94

  
94
We will implicitly identify a BC function with the equational specification it induces.
95
The main property of BC programs is:
95
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
The main property of $\bc$ is:
96 97
\begin{theorem}[\cite{BellantoniCook92}]
97
	The class of functions representable by BC programs is $\fptime$.
98
	$\bc =\fptime$.
98 99
\end{theorem}	
99
Actually this property remains true if one replaces the PRN scheme by the following more general simultaneous PRN scheme \cite{BellantoniThesis}:
100 100

  
101
$(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:
102
\[
103
\begin{array}{rcl}
104
f^j(0, \vec v ; \vec x) & := & g^j(\vec v ; \vec x) \\
105
f^j(\succ i u , \vec v ; \vec x ) & := & h^j_i ( u , \vec v ; \vec x , \vec{f} (u , \vec v ; \vec x) )
106
\end{array}
107
\]
108
for $i = 0,1$,  so long as the expressions are well-formed.
101
%Actually this property remains true if one replaces the PRN scheme by the following more general simultaneous PRN scheme \cite{BellantoniThesis}:
102
%
103
%$(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
%\[
105
%\begin{array}{rcl}
106
%f^j(0, \vec v ; \vec x) & := & g^j(\vec v ; \vec x) \\
107
%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
%\end{array}
109
%\]
110
%for $i = 0,1$,  so long as the expressions are well-formed.
109 111

  
110 112
%\anupam{simultaneous recursion?}
111 113

  
......
116 118
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$.
117 119
For instance $y$ occurs hereditarily safe in $f(u;y,g(v;y))$, but not in $f(g(v;y);x)$.
118 120
\begin{proposition}
119
	[Properties of BC programs]
121
	[Properties of $\bc$ programs]
120 122
	\label{prop:bc-properties}
121 123
	We have the following properties:
122 124
	\begin{enumerate}
123
		\item The identity function is in BC.
124
		\item Let $t$ be a well-formed expression built from BC functions 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.
125
		\item If $f$ is a BC function, then the function $g(\vec{u},v;\vec{x})$ defined as $f(\vec{u};v,\vec{x})$
126
		is also a BC program.
125
		\item The identity function is in $\bc$.
126
		\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
		\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
		is also a $\bc $ program.
127 129
	\end{enumerate}
128 130
	
129 131
	%\begin{proposition}
......
147 149
%	\todo{$\bit$}
148 150
Observe that:
149 151
	\begin{itemize}
150
	\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 $C(;x,y_{\epsilon}, y_0,y_1)$ function.
152
	\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.
151 153
	%\item $\bit(l;x)$ returns the $\mode l$th bit of $x$.
152 154
	\item We can define the function $\bit(l;x)$ which returns the $|l|$th least significant bit of $x$. For instance $\bit(11;1010)=0$.
153 155
	
......
164 166

  
165 167
%\nb{Remember polymax bounded checking lemma! Quite important. Also need to bear this in mind when adding functions.}
166 168

  
167
Now, in order to characterize $\fph$ and its subclasses $\fphi{i}$ we consider Bellantoni's function algebra $\mubc$, defined by using predicative minimization: 
169
\subsection{Bellantoni's characterisation of $\fphi{i}$ using predicative minimization}
170

  
171
Now, in order to characterize $\fph$ and its subclasses $\fphi{i}$ we consider Bellantoni's function algebra $\mubc$, extending $\bc$ by predicative minimization: 
168 172
\begin{definition}[$\mubc$ and $\mubc^i$ programs]
169
We define:
170
\begin{itemize}
171
\item The class $\mubc$ is the set of functions defined as the BC functions, but with the following additional generation rule:
173
The algebra $\mubc$ is generated from $\bc$ by the following additional operation:
172 174

  
173
8. Predicative minimization. If $h$ is in $\mubc$, then so is $f$ defined by
175
\begin{enumerate}
176
			\setcounter{enumi}{7}
177
	\item Predicative minimization. If $h$ is in $\mubc$, then so is $f$ defined by
178
	$$f(\vec u; \vec x):= \begin{cases}
179
	s_1 \mu y.(h(\vec u; \vec x, y)\mod 2 = 0)& \mbox{ if  there exists such a $y$,} \\
180
	0  & \mbox{ otherwise,}
181
	\end{cases}
182
	$$
183
\end{enumerate}
184
where $\mu y.(h(\vec u; \vec x , y)\mod 2 = 0)$ is the least $y$ such that the equality holds.
185
%We will denote this function $f$ as $\mu y^{+1} . h(\vec u ; \vec x , y) =_2 0$.
174 186

  
175
$f(\vec u; \vec x):= \begin{cases}
176
 s_1(\mu y.h(\vec u; \vec x, y)\mod 2 = 0)& \mbox{ if  there exists such a $y$,} \\
177
0  & \mbox{ otherwise,}
178
\end{cases}
179
$
187
 For each $i\geq 0$, $\mubc^i$ is the set of $\mubc$ functions obtained by at most $i$ applications of predicative minimization.\footnote{This is the number of nestings of $\mu$ in a $\mubc$ program.} So $\mubc^0=BC$ and $\mubc =\cup_i \mubc^i$.
180 188

  
181
where $\mu y.h(\vec u; \vec x , y)\mod 2 = 0$ is the least $y$ such that the equality holds.
189
 \end{definition}
190
 
182 191

  
183
We will denote this function $f$ as $\mu y^{+1} . h(\vec u ; \vec x , y) =_2 0$.
184 192

  
185
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.
186
 
187
\item For each $i\geq 0$, $\mubc^i$ is the set of $\mubc$ functions obtained by at most $i$ applications of predicative minimization. So $\mubc^0=BC$ and $\mubc =\cup_i \mubc^i$.
188
\end{itemize}
189
 \end{definition}
190
 One then obtains:
191 193
 \begin{theorem}[\cite{BellantoniThesis, Bellantoni95}]\label{thm:mubc}
192
 The class of functions representable by $\mubc$ programs is $\fph$, and for each $i\geq 1$ the class representable by $\mubc^{i-1}$ programs is $\fphi{i}$.
194
$\mubc =\fph$. Furthermore, for $i\geq 1$, $\mubc^{i-1} = \fphi{i}$.
193 195
 \end{theorem}
194
 We will also need an intermediary lemma, also proved in \cite{BellantoniThesis}.
196

  
197

  
198
\medskip 
199
\noindent
200
\textbf{Some computational properties of $\mubc$ programs.}
201
  	We will need some bounds for $\mubc$ functions that we use later on;
202
  	all of this material is from \cite{bellantoni1995fph}.
203
  	
195 204
 \begin{definition}
196 205
  A function $f(\vec u; \vec x)$ is \textit{polymax bounded} if there exists a polynomial $q$ such that,
197 206
  for any $\vec u$ and $\vec x$ one has:
......
213 222
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:
214 223
$$ (\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) .$$
215 224
 \end{lemma}
216
 Finally we can state an important lemma about $\mubc$:
225
 
226
 Finally we can state an important lemma about $\mubc$.
227
  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.
217 228
 \begin{lemma}[Polychecking Lemma, \cite{BellantoniThesis}]
218 229
 	\label{lem:polychecking}
219 230
 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$.
......
222 233
 \begin{proposition}
223 234
  If $\Phi$ is a class of polymax bounded polynomial checking functions, then  $\mubc(\Phi)$ satisfies the properties of Thm \ref{thm:mubc}.
224 235
 \end{proposition}
236
 
237
 \subsection{Some properties and extensions of $\bc$ and $\mubc$}
238
 
239
 \anupam{done a pass up to here. Resuming at next section.}
240
 
225 241
  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$.
226 242
  
227 243
  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)$.
228
  
244
  
245
  \anupam{also add $\#$ and $|\cdot|$, for simplicity.}
246
  
247
  \begin{lemma}
248
  	[Sharply bounded lemma]
249
  	\label{lem:sharply-bounded-recursion}
250
  	Let $f_A$ be the characteristic function of a predicate $A(u , \vec u ; \vec x)$.
251
  	Then the characteristic functions of $\forall u \prefix v . A(u,\vec u ; \vec x)$ and $\exists u \prefix v . A(u , \vec u ; \vec x)$ are in $\bc(f_A)$.
252
  \end{lemma}
253
  \begin{proof}
254
  	We give the $\forall$ case, the $\exists$ case being dual.
255
  	The characteristic function $f(v , \vec u ; \vec x)$ is defined by predicative recursion on $v$ as:
256
  	\[
257
  	\begin{array}{rcl}
258
  	f(0, \vec u ; \vec x) & \dfn & f_A (0 , \vec u ; \vec x) \\
259
  	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) )
260
  	\end{array}
261
  	\]
262
  \end{proof}
263
  
264
\medskip
265
\noindent
266
\textbf{Encoding of sequences.}
267
  Assume the existence of a simple pairing function for elements of fixed size: $\pair{k,l}{x}{y}$ denotes the pair $(x \mode k , y \mode l )$.
268
  An appropriate such function would `interleave' $x$ and $y$, adding delimiters as necessary.
269
  We assume that $|\pair{k,l}{x}{y}| = k+O(l)$ and $\pair{k,l}{x}{y}$ satisfies the polychecking lemma.
270
  
271
  We will simply write $\pair{l}{x}{y}$ for $\pair{l,l}{x}{y}$.
272
  
273
  \begin{lemma}
274
  	[Creating sequences]
275
  	\label{lem:sequence-creation}
276
  	Given a function $f(u , \vec u ; \vec x)$ there is a $\bc(f)$ function $F(l, u , \vec u ; \vec x)$ such that:
277
  	\[
278
  	F(l,u,\vec u ; \vec x)
279
  	\quad = \quad
280
  	\langle f(0, \vec u ; \vec x) \mode l , f(1, \vec u ; \vec x) \mode l , \dots , f(|u|, \vec u ; \vec x) \mode l \rangle
281
  	\]
282
  \end{lemma}
283
  \begin{proof}
284
  	We simply define $F$ by safe recursion from $f$:
285
  	\[
286
  	\begin{array}{rcl}
287
  	F(l,0, \vec u ; \vec x) & \dfn & \langle ; f(0) \mode l \rangle \\
288
  	F(l, \succ i u , \vec u ; \vec x ) & \dfn & \pair{O(|u| l) , l}{F(l, u , \vec u ; \vec x)}{f( |\succ i u| , \vec u ; \vec x )}
289
  	\end{array}
290
  	\]
291
  	where the constants for $O(|u|l)$ are sufficiently large.
292
  \end{proof}
293
  
294
  \begin{lemma}
295
  	[Decoding sequences]
296
  	We can define $\beta(l,i;x)$ as $(i\text{th element of x}) \mode l$.	
297
  \end{lemma}
298
  \begin{proof}
299
  	First define $\beta (j,i;x)$ as $j$th bit of $i$th element of $x$, then use similar idea to above, by a recursion on $j$.
300
  \end{proof}
301
  
302
  Notice that $\beta (l,i;x)$ satisfies the polychecking lemma.
303
  
304
  We define

Formats disponibles : Unified diff