root / CharacterizingPH / soundness.tex @ 258
Historique | Voir | Annoter | Télécharger (5,4 ko)
1 | 143 | adas | \documentclass{amsart} |
---|---|---|---|
2 | 143 | adas | \usepackage{amsthm} |
3 | 143 | adas | |
4 | 143 | adas | |
5 | 143 | adas | \input{macros} |
6 | 143 | adas | |
7 | 143 | adas | \begin{document} |
8 | 143 | adas | \section{Logical operations as programs} |
9 | 143 | adas | |
10 | 143 | adas | Any polynomial-time predicate can be conservatively added to BC with only safe inputs. |
11 | 143 | adas | Thus all logical connectives $\neg, \vee, \wedge$ and equality testing $=$ can be implemented as programs with only safe arguments. |
12 | 143 | adas | |
13 | 143 | adas | \section{Soundness} |
14 | 143 | adas | We show that any provably convergent function of $I\Sigma^{N}_i$ is in $\Box_i$. |
15 | 143 | adas | |
16 | 143 | adas | \subsection{Interpreting $\Pi_{i-1}$ formulae as programs} |
17 | 143 | adas | Each $\Pi_{i-1}$ formula is directly interpreted, as in usual WFM, as a descriptive program evaluating whether it is true or not. |
18 | 143 | adas | We define it by induction on formula structure: |
19 | 143 | adas | |
20 | 143 | adas | |
21 | 143 | adas | \[ |
22 | 143 | adas | \begin{array}{rcl} |
23 | 143 | adas | \wit{s,t}{s=t} (;x) & \dfn & =(;s,t) \\ |
24 | 143 | adas | \smallskip |
25 | 143 | adas | \wit{t}{N(t)} (;x) & \dfn & =(;x,t)\\ |
26 | 143 | adas | \smallskip |
27 | 144 | adas | \wit{t}{\Box N(t)} (u;) & \dfn & =(;u,t) \\ |
28 | 144 | adas | \smallskip |
29 | 143 | adas | \wit{\vec t}{A\star B} (;x) & \dfn & \star (; \wit{\vec t}{A} (;x), \wit{\vec t}{B} (;x) ) \\ |
30 | 143 | adas | \smallskip |
31 | 143 | adas | \wit{\vec t}{\exists x^N . A(x)} (;x) & \dfn & \begin{cases} |
32 | 143 | adas | 1 & \exists a^N . \wit{a , \vec t}{A(a)} (;x) = 1 \\ |
33 | 143 | adas | 0 & \text{otherwise} |
34 | 143 | adas | \end{cases} \\ |
35 | 143 | adas | \smallskip |
36 | 143 | adas | \wit{\vec t}{\forall x^N . A(x)} (;x) & \dfn & |
37 | 143 | adas | \begin{cases} |
38 | 143 | adas | 0 & \exists a^N. \wit{a, \vec t}{ A(a)} (;x) = 0 \\ |
39 | 143 | adas | 1 & \text{otherwise} |
40 | 143 | adas | \end{cases} |
41 | 143 | adas | \end{array} |
42 | 143 | adas | \] |
43 | 143 | adas | |
44 | 144 | adas | (Notice that, by free-cut elimination, $\Box$-formulae are always of the form $\Box N(t)$, so any composite formulae can be assumed to have only safe arguments. |
45 | 144 | adas | We can also assume that they always occur on the LHS of a sequent.) |
46 | 143 | adas | \subsection{Witness predicate for $\Sigma_i$ formulae} |
47 | 143 | adas | % We give the witness predicate for $\Sigma_i$ formulae assumed to be in prenex form. |
48 | 143 | adas | When $A,B$ are $\Sigma_{i}$ we define: |
49 | 143 | adas | \[ |
50 | 143 | adas | \begin{array}{rcl} |
51 | 143 | adas | \wit{\vec t}{A\star B} (;\vec x , \vec y) & \dfn & \star (; \wit{\vec t}{A} (;\vec x), \wit{\vec t}{B} (;\vec y) ) \\ |
52 | 143 | adas | \smallskip |
53 | 143 | adas | \wit{\vec t}{\exists x . A( x)} (; x, \vec x) & \dfn & \wit{a, \vec t}{A( a)}(;\vec x) \left[ x^N / a\right] |
54 | 143 | adas | \end{array} |
55 | 143 | adas | \] |
56 | 143 | adas | (Notice that this covers all $\Sigma_i$ formulae). |
57 | 143 | adas | |
58 | 143 | adas | \subsection{Witness extraction invariant} |
59 | 143 | adas | % We will show the following result: |
60 | 143 | adas | |
61 | 143 | adas | We will show that, if there is a proof $\pi$ of $\Gamma \seqar \Delta$, then there are programs $\vec f$ such that: |
62 | 143 | adas | \[ |
63 | 143 | adas | \wit{\vec t}{\bigwedge \Gamma} (; \vec x) |
64 | 143 | adas | \quad \implies \quad |
65 | 143 | adas | \wit{\vec t}{\bigvee \Delta } (; \vec f (; \vec x) ) |
66 | 143 | adas | \] |
67 | 143 | adas | |
68 | 143 | adas | \subsection{Defining the programs} |
69 | 143 | adas | We define the extracted programs inductively on a free-cut free proof. |
70 | 143 | adas | |
71 | 143 | adas | \begin{itemize} |
72 | 144 | adas | \item $\forall$ right case. Auxiliary formula $A$ must be $\Pi_{i-1}$ by free-cut elimination. |
73 | 143 | adas | \[ |
74 | 143 | adas | \dfrac{N(a), \Gamma \seqar \Delta , A(a)}{\Gamma \seqar \Delta , \forall x^N. A(x)} |
75 | 143 | adas | \] |
76 | 144 | adas | By the inductive hypothesis we have functions $\vec f^\Delta , \vec f^A$ such that: |
77 | 144 | adas | \[ |
78 | 144 | adas | \wit{a , \vec t}{N(a)} (;x) |
79 | 144 | adas | \wedge |
80 | 144 | adas | \wit{a , \vec t}{\bigwedge \Gamma} (\vec u; \vec x) |
81 | 144 | adas | \implies |
82 | 144 | adas | \wit{a , \vec t}{\bigvee \Delta}{ (; \vec f^\Delta (\vec u ; x , \vec x))} |
83 | 144 | adas | \vee |
84 | 144 | adas | \wit{a , \vec t}{ A} (; \vec f^A (\vec u ; x , \vec x) ) |
85 | 144 | adas | \] |
86 | 144 | adas | Since $A$ is $\Pi_{i-1}$ we can forget about $\vec f^A$. |
87 | 144 | adas | We define $\vec g^\Delta , \vec g^{\forall x^N . A}$ as follows: |
88 | 144 | adas | \[ |
89 | 144 | adas | \begin{array}{rcl} |
90 | 144 | adas | \vec g^{\forall x^N . A} (\vec u ; \vec x) & \dfn & 0 \\ |
91 | 144 | adas | \vec g^\Delta (\vec u ; \vec x) & \dfn & |
92 | 144 | adas | \vec f^\Delta ( \vec u ; \mu a^N . ( \wit{a , \vec t}{A} (;0) = 0 ) , \vec x ) |
93 | 144 | adas | \end{array} |
94 | 144 | adas | \] |
95 | 144 | adas | (Notice that the minimisation program has the same complexity as the witness predicate for $\forall x^N . A(x)$, i.e.\ $\Pi_{i-1}$.) |
96 | 144 | adas | \item Contraction right case. Need to test the witness predicate using conditional. (No need for $\mu$s.). |
97 | 144 | adas | Given such a step, |
98 | 144 | adas | \[ |
99 | 144 | adas | \dfrac{\Gamma \seqar \Delta , A , A}{\Gamma \seqar \Delta , A} |
100 | 144 | adas | \] |
101 | 144 | adas | by the inductive hypothesis we have programs $\vec f^\Delta , \vec f^0 , \vec f^1$ such that: |
102 | 144 | adas | \[ |
103 | 144 | adas | \wit{\vec t}{\bigwedge \Gamma} (\vec u ; \vec x) |
104 | 144 | adas | \implies |
105 | 144 | adas | \wit{\vec t}{\bigvee \Delta} (; \vec f^\Delta (\vec u ; \vec x) ) |
106 | 144 | adas | \vee |
107 | 144 | adas | \wit{\vec t}{A} (;\vec f^0 (\vec u ; \vec x)) |
108 | 144 | adas | \vee |
109 | 144 | adas | \wit{\vec t}{A} (; \vec f^1 (\vec u ; \vec x)) |
110 | 144 | adas | \] |
111 | 144 | adas | Construct the programs $\vec g^\Delta, \vec g^A$ as follows: |
112 | 144 | adas | \[ |
113 | 144 | adas | \begin{array}{rcl} |
114 | 144 | adas | \vec g^\Delta (\vec u ; \vec x) & \dfn & \vec f^\Delta (\vec u ; \vec x) \\ |
115 | 144 | adas | \vec g^A (\vec u; \vec x) & \dfn & |
116 | 144 | adas | \begin{cases} |
117 | 144 | adas | \vec f^0 (\vec u ; \vec x) & \wit{\vec t}{A} (;\vec f^0(\vec u ; \vec x) =1 ) \\ |
118 | 144 | adas | \vec f^1 (\vec u ; \vec x) & \text{otherwise} |
119 | 144 | adas | \end{cases} |
120 | 144 | adas | \end{array} |
121 | 144 | adas | \] |
122 | 145 | adas | \item Induction. NB: Can assume no side-formulae on the right!! |
123 | 145 | adas | \[ |
124 | 145 | adas | \dfrac{\Box N(a), \Gamma, A(a) \seqar A(s_i a)}{\Box N(s), \Gamma , A(0) \seqar A(s)} |
125 | 145 | adas | \] |
126 | 145 | adas | We need to keep track of all the terms in the witness predicate. |
127 | 145 | adas | \[ |
128 | 145 | adas | % \begin{array}{rl} |
129 | 145 | adas | % &\wit{a, t(a), t(s_i a), \vec t}{LHS} (u , \vec u ; \vec x , \vec y) |
130 | 145 | adas | % \\ |
131 | 145 | adas | % \implies & |
132 | 145 | adas | % \wit{a , t(a), t(s_i a), \vec t}{A(s_i a)} (; \vec f^A (u , \vec u ; \vec x , \vec y) ) |
133 | 145 | adas | % \vee |
134 | 145 | adas | % \wit{a , t(a), t(s_i a), \vec t}{\bigvee \Delta} (; \vec f^\Delta (u , \vec u ; \vec x , \vec y) ) |
135 | 145 | adas | % \end{array} |
136 | 145 | adas | \wit{a, t(a), t(s_i a), \vec t}{LHS} (u , \vec u ; \vec x , \vec y) |
137 | 145 | adas | \implies |
138 | 145 | adas | \wit{a , t(a), t(s_i a), \vec t}{A(s_i a)} (; \vec f^i (u , \vec u ; \vec x , \vec y) ) |
139 | 145 | adas | \] |
140 | 145 | adas | Define $\vec g$ by safe recursion as follows: |
141 | 145 | adas | \[ |
142 | 145 | adas | \begin{array}{rcl} |
143 | 145 | adas | \vec g (0 , \vec u ; \vec x , \vec y) & \dfn & \vec y \\ |
144 | 145 | adas | \vec g (s_i u, \vec u ; \vec x , \vec y) & \dfn & \vec f^i ( u, \vec u; \vec x, \vec g (u, \vec u ; \vec x , \vec y) ) |
145 | 145 | adas | \end{array} |
146 | 145 | adas | \] |
147 | 143 | adas | \end{itemize} |
148 | 143 | adas | \subsection{Proof of correctness} |
149 | 143 | adas | |
150 | 143 | adas | \end{document} |