Statistiques
| Révision :

root / CSL17 / preliminaries.tex @ 195

Historique | Voir | Annoter | Télécharger (9,98 ko)

1

    
2
\section{Preliminaries}
3
We introduce the polynomial hierarchy and its basic properties, then the Bellantoni characterisation.
4

    
5
\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

    
7
\subsection{Polynomial hierarchy}
8
%(include closure properties)
9

    
10
\begin{definition}
11
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:
12
$$ 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$$
13
where $Q_i=\forall$ (resp. $Q_i=\exists$) if $i$ is even (resp. odd).
14

    
15
The class $\pip{i}$ is defined similarly but with first quantifier $\forall$ instead of $\exists$. 
16
\end{definition}
17
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}$.
18

    
19
The polynomial hierarchy is defined as $\ph:=\cup_i \sigp{i}$, and we also have $\ph=\cup_i \pip{i}$.
20

    
21
Given a language $L$ we denote as $\fptime(L)$ the class of functions computable by a deterministic
22
polynomial time Turing machine with oracle $L$.
23

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

    
31
\subsection{Bellantoni's characterisation using predicative minimisation}
32
(perhaps compare with Cobham's using limited recursion)
33

    
34
\anupam{copied below from last year's paper}
35

    
36
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}. 
37
%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.
38
%We say that an expression is well-sorted if the arities of function symbols in it is respected.
39

    
40
%\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.}
41
\begin{definition}
42
	[BC programs]
43
	BC is the set of functions generated as follows:
44
	%	\paragraph{Initial functions}
45
	%	The initial functions are:
46
	\begin{enumerate}
47
		\item The constant functions $\epsilon^k$ which takes $k$ arguments and outputs $\epsilon \in \Word$.
48
		\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$.
49
		\item The successor functions $\succ i ( ; x) := xi$ for $i = 0,1$.
50
		\item The predecessor function $\pred (; x) := \begin{cases}
51
		\epsilon &  \mbox{ if }  x = \epsilon \\
52
		x' &  \mbox{ if }  x = x'i
53
		\end{cases}$.
54
		\item The conditional function 
55
		\[
56
		%\begin{array}{rcl}
57
		%C (; \epsilon, y_\epsilon , y_0, y_1  ) & = & y_\epsilon \\
58
		%C(; x0 , y_\epsilon , y_0, y_1) & = & y_0 \\
59
		%C(; x1 , y_\epsilon , y_0, y_1) & = & y_1 
60
		%\end{array}
61
		C (; \epsilon, y_\epsilon , y_0, y_1  ) := y_\epsilon 
62
		\quad
63
		C(; x0 , y_\epsilon , y_0, y_1) := y_0 
64
		\quad
65
		C(; x1 , y_\epsilon , y_0, y_1) := y_1 
66
		\]
67
		%		$\cond (;x,y,z) := \begin{cases}
68
		%		y & \mbox{ if } x=x' 0 \\
69
		%		z & \text{otherwise}
70
		%		\end{cases}$.
71
	\end{enumerate}
72
	
73
	%	One considers the following closure schemes:
74
	\begin{enumerate}
75
		\setcounter{enumi}{5}
76
		\item Predicative recursion on notation (PRN). If $g, h_0, h_1 $ are in BC then so is $f$ defined by,
77
		\[
78
		\begin{array}{rcl}
79
		f(0, \vec v ; \vec x) & := & g(\vec v ; \vec x) \\
80
		f (\succ i u , \vec v ; \vec x ) & := & h_i ( u , \vec v ; \vec x , f (u , \vec v ; \vec x) )
81
		\end{array}
82
		\]
83
		for $i = 0,1$,  so long as the expressions are well-formed. % (i.e.\ in number/sort of arguments).
84
		\item Safe composition. If $g, \vec h, \vec h'$ are in BC then so is $f$ defined by,
85
		\[
86
		f (\vec u ; \vec x) \quad := \quad g ( \vec h(\vec u ; ) ; \vec h' (\vec u ; \vec x) )
87
		\]
88
		so long as the expression is well-formed.
89
	\end{enumerate}
90
\end{definition}
91
%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.
92

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

    
100
$(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:
101
\[
102
\begin{array}{rcl}
103
f^j(0, \vec v ; \vec x) & := & g^j(\vec v ; \vec x) \\
104
f^j(\succ i u , \vec v ; \vec x ) & := & h^j_i ( u , \vec v ; \vec x , \vec{f} (u , \vec v ; \vec x) )
105
\end{array}
106
\]
107
for $i = 0,1$,  so long as the expressions are well-formed.
108

    
109
%\anupam{simultaneous recursion?}
110

    
111
%\anupam{also identity, hereditarily safe, expressions, etc.}
112

    
113
%\anupam{we implicitly associate a BC program with its equational specification} 
114

    
115
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$.
116
For instance $y$ occurs hereditarily safe in $f(u;y,g(v;y))$, but not in $f(g(v;y);x)$.
117
\begin{proposition}
118
	[Properties of BC programs]
119
	\label{prop:bc-properties}
120
	We have the following properties:
121
	\begin{enumerate}
122
		\item The identity function is in BC.
123
		\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.
124
		\item If $f$ is a BC function, then the function $g(\vec{u},v;\vec{x})$ defined as $f(\vec{u};v,\vec{x})$
125
		is also a BC program.
126
	\end{enumerate}
127
	
128
	%\begin{proposition}
129
	%[Properties of BC programs]
130
	%\label{prop:bc-properties}
131
	%We have the following properties:
132
	%\begin{enumerate}
133
	%\item Hereditarily safe expressions over BC programs are BC definable.
134
	%\item Can pass safe input to normal input.
135
	%\end{enumerate}
136
\end{proposition}
137

    
138
%\nb{TODO: extend with $\mu$s.}
139

    
140

    
141
\nb{Remember polymax bounded checking lemma! Quite important. Also need to bear this in mind when adding functions.}
142

    
143
Now, in order to characterize $\fph$ and its subclasses $\fphi{i}$ we consider Bellantoni's function algebra $\mubc$, defined by using predicative minimization: 
144
\begin{definition}[$\mubc$ and $\mubc^i$ programs]
145
We define:
146
\begin{itemize}
147
\item The class $\mubc$ is the set of functions defined as the BC functions, but with the following additional generation rule:
148

    
149
8. Predicative minimization. If $h$ is in $\mubc$, then so is $f$ defined by
150

    
151
$f(\vec u; \vec x):= \begin{cases}
152
 s_1(\mu y.h(\vec u; \vec x, y)\mod 2 = 0)& \mbox{ if  there exists such a $y$,} \\
153
0  & \mbox{ otherwise,}
154
\end{cases}
155
$
156

    
157
where $\mu y.h(\vec u; \vec x , y)\mod 2 = 0$ is the least $y$ such that the equality holds.
158

    
159
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.
160
 
161
\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$.
162
\end{itemize}
163
 \end{definition}
164
 One then obtains:
165
 \begin{theorem}[\cite{BellantoniThesis, Bellantoni95}]
166
 The class of functions representable by $\mubc$ programs is $\fph$, and for each $i$ the class representable by $\mubc^i$ programs is $\fphi{i}$.
167
 \end{theorem}
168
 We will also need an intermediary lemma, also proved in \cite{BellantoniThesis}.
169
 \begin{definition}
170
  A function $f(\vec u; \vec x)$ is \textit{polymax bounded} if there exists a polynomial $q$ such that,
171
  for any $\vec u$ and $\vec x$ one has:
172

    
173
%$\size{u}$
174
  $$ \size{f(\vec u; \vec x)} \leq q(\size{u_1} , \dots , \size{u_k}) + \max_j \size{x_j}.$$
175
 \end{definition}
176
  
177
 We define the function $\mode$ by $u\mode x:= u \mod 2^{\size{x}}$.
178
 \begin{definition}
179
 A function $f(\vec u; \vec x)$ is a \textit{polynomial checking function} on $\vec u$ if there exists a polynomial $q$
180
 such that, for any $\vec u$, $\vec x$, $y$ and $z$ such that $\size{y} \geq q(\size{\vec u})+ \size{z}$ we have:
181
 $$ f(\vec u; \vec x) \mode z = f(\vec u; \vec x \mode y)\mode z.$$
182
 A polynomial $q$ satisfying this condition is called a \textit{threshold} for $f$.
183
 \end{definition}
184
 One then has:
185
 \begin{lemma}[Bounded Minimization, \cite{BellantoniThesis}]
186
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:
187
$$ (\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) .$$
188
 \end{lemma}
189
 Finally we can state an important lemma about $\mubc$:
190
 \begin{lemma}[Polychecking Lemma, \cite{BellantoniThesis}]
191
 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$.
192
 \end{lemma}
193