root / CSL17 / preliminaries.tex @ 156
Historique | Voir | Annoter | Télécharger (5,69 ko)
1 |
|
---|---|
2 |
\section{Preliminaries} |
3 |
We introduce the polynomial hierarchy and its basic properties, then the Bellantoni characterisation. |
4 |
|
5 |
\subsection{Polynomial hierarchy} |
6 |
(include closure properties) |
7 |
|
8 |
\subsection{Bellantoni's characterisation using predicative minimisation} |
9 |
(perhaps compare with Cobham's using limited recursion) |
10 |
|
11 |
\anupam{copied below from last year's paper} |
12 |
|
13 |
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}. |
14 |
%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. |
15 |
%We say that an expression is well-sorted if the arities of function symbols in it is respected. |
16 |
|
17 |
%\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.} |
18 |
\begin{definition} |
19 |
[BC programs] |
20 |
BC is the set of functions generated as follows: |
21 |
% \paragraph{Initial functions} |
22 |
% The initial functions are: |
23 |
\begin{enumerate} |
24 |
\item The constant functions $\epsilon^k$ which takes $k$ arguments and outputs $\epsilon \in \Word$. |
25 |
\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$. |
26 |
\item The successor functions $\succ_i ( ; x) := xi$ for $i = 0,1$. |
27 |
\item The predecessor function $\pred (; x) := \begin{cases} |
28 |
\epsilon & \mbox{ if } x = \epsilon \\ |
29 |
x' & \mbox{ if } x = x'i |
30 |
\end{cases}$. |
31 |
\item The conditional function |
32 |
\[ |
33 |
%\begin{array}{rcl} |
34 |
%C (; \epsilon, y_\epsilon , y_0, y_1 ) & = & y_\epsilon \\ |
35 |
%C(; x0 , y_\epsilon , y_0, y_1) & = & y_0 \\ |
36 |
%C(; x1 , y_\epsilon , y_0, y_1) & = & y_1 |
37 |
%\end{array} |
38 |
C (; \epsilon, y_\epsilon , y_0, y_1 ) := y_\epsilon |
39 |
\quad |
40 |
C(; x0 , y_\epsilon , y_0, y_1) := y_0 |
41 |
\quad |
42 |
C(; x1 , y_\epsilon , y_0, y_1) := y_1 |
43 |
\] |
44 |
% $\cond (;x,y,z) := \begin{cases} |
45 |
% y & \mbox{ if } x=x' 0 \\ |
46 |
% z & \text{otherwise} |
47 |
% \end{cases}$. |
48 |
\end{enumerate} |
49 |
|
50 |
% One considers the following closure schemes: |
51 |
\begin{enumerate} |
52 |
\setcounter{enumi}{5} |
53 |
\item Predicative recursion on notation (PRN). If $g, h_0, h_1 $ are in BC then so is $f$ defined by, |
54 |
\[ |
55 |
\begin{array}{rcl} |
56 |
f(0, \vec v ; \vec x) & := & g(\vec v ; \vec x) \\ |
57 |
f (\succ_i u , \vec v ; \vec x ) & := & h_i ( u , \vec v ; \vec x , f (u , \vec v ; \vec x) ) |
58 |
\end{array} |
59 |
\] |
60 |
for $i = 0,1$, so long as the expressions are well-formed. % (i.e.\ in number/sort of arguments). |
61 |
\item Safe composition. If $g, \vec h, \vec h'$ are in BC then so is $f$ defined by, |
62 |
\[ |
63 |
f (\vec u ; \vec x) \quad := \quad g ( \vec h(\vec u ; ) ; \vec h' (\vec u ; \vec x) ) |
64 |
\] |
65 |
so long as the expression is well-formed. |
66 |
\end{enumerate} |
67 |
\end{definition} |
68 |
%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. |
69 |
|
70 |
We will implicitly identify a BC function with the equational specification it induces. |
71 |
The main property of BC programs is: |
72 |
\begin{theorem}[\cite{BellantoniCook92}] |
73 |
The class of functions representable by BC programs is $\fptime$. |
74 |
\end{theorem} |
75 |
Actually this property remains true if one replaces the PRN scheme by the following more general simultaneous PRN scheme \cite{BellantoniThesis}: |
76 |
|
77 |
$(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: |
78 |
\[ |
79 |
\begin{array}{rcl} |
80 |
f^j(0, \vec v ; \vec x) & := & g^j(\vec v ; \vec x) \\ |
81 |
f^j(\succ_i u , \vec v ; \vec x ) & := & h^j_i ( u , \vec v ; \vec x , \vec{f} (u , \vec v ; \vec x) ) |
82 |
\end{array} |
83 |
\] |
84 |
for $i = 0,1$, so long as the expressions are well-formed. |
85 |
|
86 |
%\anupam{simultaneous recursion?} |
87 |
|
88 |
%\anupam{also identity, hereditarily safe, expressions, etc.} |
89 |
|
90 |
%\anupam{we implicitly associate a BC program with its equational specification} |
91 |
|
92 |
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$. |
93 |
For instance $y$ occurs hereditarily safe in $f(u;y,g(v;y))$, but not in $f(g(v;y);x)$. |
94 |
\begin{proposition} |
95 |
[Properties of BC programs] |
96 |
\label{prop:bc-properties} |
97 |
We have the following properties: |
98 |
\begin{enumerate} |
99 |
\item The identity function is in BC. |
100 |
\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. |
101 |
\item If $f$ is a BC function, then the function $g(\vec{u},v;\vec{x})$ defined as $f(\vec{u};v,\vec{x})$ |
102 |
is also a BC program. |
103 |
\end{enumerate} |
104 |
|
105 |
%\begin{proposition} |
106 |
%[Properties of BC programs] |
107 |
%\label{prop:bc-properties} |
108 |
%We have the following properties: |
109 |
%\begin{enumerate} |
110 |
%\item Hereditarily safe expressions over BC programs are BC definable. |
111 |
%\item Can pass safe input to normal input. |
112 |
%\end{enumerate} |
113 |
\end{proposition} |
114 |
|
115 |
\nb{TODO: extend with $\mu$s.} |