root / CSL17 / appendix-soundness.tex @ 268
Historique | Voir | Annoter | Télécharger (8,07 ko)
1 | 222 | adas | \section{Proof of soundness} |
---|---|---|---|
2 | 225 | adas | |
3 | 225 | adas | \begin{definition} |
4 | 225 | adas | [Length bounded characteristic functions] |
5 | 225 | adas | We define $\mubci{}$ programs $\charfn{}{A} (l , \vec u; \vec x)$, parametrised by a formula $A$ and a compatible typing $(\vec u ; \vec x)$ of its varables, as follows. |
6 | 225 | adas | % If $A$ is a $\Pi_{i}$ formula then: |
7 | 225 | adas | \[ |
8 | 225 | adas | \begin{array}{rcl} |
9 | 225 | adas | \charfn{\vec u ; \vec x}{s\leq t} (l, \vec u ; \vec x) & \dfn & \leqfn(l;s,t) \\ |
10 | 225 | adas | \smallskip |
11 | 225 | adas | % \charfn{}{s=t} (l, \vec u ; \vec x) & \dfn & \eq(l;s,t) \\ |
12 | 225 | adas | % \smallskip |
13 | 225 | adas | \charfn{\vec u ; \vec x}{\neg A} (l, \vec u ; \vec x) & \dfn & \notfn (;\charfn{\vec u ; \vec x}{A}(l , \vec u ; \vec x)) \\ |
14 | 225 | adas | \smallskip |
15 | 225 | adas | \charfn{\vec u ; \vec x}{A\cor B} (l, \vec u ; \vec x ) & \dfn & \orfn(; \charfn{\vec u ; \vec x}{A} (l, \vec u ; \vec x , w), \charfn{\vec u ; \vec x}{B} (\vec u ;\vec x) ) \\ |
16 | 225 | adas | \smallskip |
17 | 225 | adas | \charfn{\vec u ; \vec x}{A\cand B} (l, \vec u ; \vec x ) & \dfn & \andfn(; \charfn{\vec u ; \vec x}{A} (l, \vec u ; \vec x , w), \charfn{\vec u ; \vec x}{B} (\vec u ;\vec x) ) |
18 | 225 | adas | % \end{array} |
19 | 225 | adas | % \quad |
20 | 225 | adas | % \begin{array}{rcl} |
21 | 225 | adas | \\ \smallskip |
22 | 225 | adas | \charfn{\vec u ; \vec x}{\exists x^\safe . A(x)} (l, \vec u ;\vec x) & \dfn & \begin{cases} |
23 | 225 | adas | 1 & \exists x^\safe . \charfn{}{A(x)} (l, \vec u ;\vec x , x) = 1 \\ |
24 | 225 | adas | 0 & \text{otherwise} |
25 | 225 | adas | \end{cases} \\ |
26 | 225 | adas | \smallskip |
27 | 225 | adas | \charfn{\vec u ; \vec x}{\forall x^\safe . A(x)} (l, \vec u ;\vec x ) & \dfn & |
28 | 225 | adas | \begin{cases} |
29 | 225 | adas | 0 & \exists x^\sigma. \charfn{\vec u ; \vec x}{ A(x)} (l, \vec u; \vec x , x) = 0 \\ |
30 | 225 | adas | 1 & \text{otherwise} |
31 | 225 | adas | \end{cases} |
32 | 225 | adas | \end{array} |
33 | 225 | adas | \] |
34 | 225 | adas | \end{definition} |
35 | 225 | adas | |
36 | 222 | adas | For the implication above, let us simply refer to the LHS as $\Wit{\vec u ; \vec x}{\Gamma} (l , \vec u ; \vec x , \vec w)$ and the RHS as $\Wit{\vec u ; \vec x}{ \Delta} (l, \vec u ; \vec x , \vec w')$, with $\vec w'$ in place of $\vec f( \cdots )$, which is a slight abuse of notation: we assume that LHS and RHS are clear from context. |
37 | 222 | adas | |
38 | 222 | adas | \begin{proof} |
39 | 222 | adas | Since the proof is in typed variable normal form we have that each line of the proof is of the same form, i.e.\ $\normal (\vec u), \safe (\vec x) , \Gamma \seqar \Delta$ over free variables $\vec u ; \vec x$. |
40 | 222 | adas | We define the function $f$ inductively, by considering the various final rules of $\pi$. |
41 | 222 | adas | |
42 | 222 | adas | |
43 | 222 | adas | \paragraph*{Negation} |
44 | 222 | adas | Can assume only on atomic formulae, so no effect. |
45 | 222 | adas | |
46 | 222 | adas | \paragraph*{Logical rules} |
47 | 222 | adas | Pairing, depairing. Need length-boundedness. |
48 | 222 | adas | |
49 | 222 | adas | If we have a left conjunction step: |
50 | 222 | adas | \[ |
51 | 222 | adas | \vlinf{\lefrul{\cand}}{}{ \normal (\vec u ), \safe (\vec x) , A\cand B , \Gamma \seqar \Delta }{ \normal (\vec u ), \safe (\vec x) , A, B , \Gamma \seqar \Delta} |
52 | 222 | adas | \] |
53 | 222 | adas | By inductive hypothesis we have functions $\vec f (\vec u ; \vec x , w_A , w_B , \vec w)$ such that, |
54 | 222 | adas | \[ |
55 | 222 | adas | \Wit{\vec u ; \vec x}{\Gamma} (l, \vec u ; \vec x , w_A , w_B , \vec w) |
56 | 222 | adas | \quad \implies \quad |
57 | 222 | adas | \Wit{\vec u ; \vec x}{\Delta} (l, \vec u ; \vec x , \vec f ( (\vec u ; \vec x) \mode l , (w_A , w_B , \vec w) \mode p(l) )) |
58 | 222 | adas | \] |
59 | 222 | adas | for some polynomial $p$. |
60 | 222 | adas | % |
61 | 222 | adas | We define $\vec f^\pi (\vec u ; \vec x , w , \vec w) \dfn \vec f (\vec u ; \vec x , \beta (p(l),0; w) , \beta(p(l),1;w),\vec w )$ and, by the bounding polynomial for pairing, it suffices to set $p^\pi = O(p)$. |
62 | 222 | adas | |
63 | 222 | adas | |
64 | 222 | adas | Right disjunction step: |
65 | 222 | adas | \[ |
66 | 222 | adas | \vlinf{\rigrul{\cor}}{}{ \normal (\vec u ), \safe (\vec x) , \Gamma \seqar \Delta , A \cor B}{ \normal (\vec u ), \safe (\vec x) , \Gamma \seqar \Delta, A, B } |
67 | 222 | adas | \] |
68 | 222 | adas | $\vec f^\pi_\Delta$ remains the same as that of premiss. |
69 | 222 | adas | Let $f_A, f_B$ be the functions corresponding to $A$ and $B$ in the premiss, so that: |
70 | 222 | adas | \[ |
71 | 222 | adas | \Wit{\vec u ; \vec x}{\Gamma} (l, \vec u ; \vec x , \vec w) |
72 | 222 | adas | \quad \implies \quad |
73 | 222 | adas | \Wit{\vec u ; \vec x}{\Delta} (l, \vec u ; \vec x , f_C ( (\vec u ; \vec x) \mode l , \vec w \mode p(l) )) |
74 | 222 | adas | \] |
75 | 222 | adas | for $C = A,B$ and for some $p$, such that $f_A , f_B$ are bounded by $q(l)$ (again by IH). |
76 | 222 | adas | We define $f^\pi_{A\cor B} (\vec u ; \vec x, \vec w) \dfn \pair{q(l)}{f_A ((\vec u ; \vec x, \vec w))}{f_B ((\vec u ; \vec x, \vec w))}$. |
77 | 222 | adas | \paragraph*{Quantifiers} |
78 | 222 | adas | \anupam{Do $\exists$-right and $\forall$-right, left rules are symmetric.} |
79 | 222 | adas | |
80 | 222 | adas | |
81 | 222 | adas | |
82 | 222 | adas | Sharply bounded quantifiers are generalised versions of logical rules. |
83 | 222 | adas | \[ |
84 | 222 | adas | \vlinf{|\forall|}{}{\normal (\vec u) , \safe (\vec x) , \Gamma \seqar \Delta , \forall u^\normal \leq |t(\vec u;)| . A(u) }{ \normal(u) , \normal (\vec u) , \safe (\vec x) , u \leq |t(\vec u;)| , \Gamma \seqar \Delta, A(u) } |
85 | 222 | adas | \] |
86 | 222 | adas | By the inductive hypothesis we have functions $\vec f(u , \vec u ; \vec x , w , \vec w)$ such that: |
87 | 222 | adas | \[ |
88 | 222 | adas | \Wit{u ,\vec u ; \vec x}{\lhs} ( u , \vec u ;\vec x , w , \vec w ) |
89 | 222 | adas | \quad \implies \quad |
90 | 222 | adas | \Wit{u , \vec u ; \vec x}{\rhs} (u, \vec u ; \vec x , \vec f ((\vec u ; \vec x) \mode l , \vec w \mode p(l) ) ) |
91 | 222 | adas | \] |
92 | 222 | adas | with $|f|\leq q(|l|)$. |
93 | 222 | adas | |
94 | 222 | adas | By Lemma~\ref{lem:sequence-creation}, we have a function $F (l , u , \vec u ; \vec x , w , \vec w) $ such that.... |
95 | 222 | adas | |
96 | 222 | adas | We set $f^\pi_{\forall u^\normal \leq t . A} (\vec u ; \vec x , \vec w) \dfn F(q(|l|), t(\vec u;), \vec u ; \vec x , 0, \vec w )$. |
97 | 222 | adas | |
98 | 222 | adas | |
99 | 222 | adas | Right existential: |
100 | 222 | adas | \[ |
101 | 222 | adas | \vlinf{\rigrul{\exists}}{}{\normal(\vec u ) , \safe (\vec x) , \Gamma \seqar \Delta , \exists x . A(x)}{\normal(\vec u ) , \safe (\vec x) , \Gamma \seqar \Delta , A(t)} |
102 | 222 | adas | \] |
103 | 222 | adas | Here we assume the variables of $t$ are amongst $(\vec u ; \vec x)$, since we are in typed variable normal form. |
104 | 222 | adas | |
105 | 222 | adas | |
106 | 222 | adas | \paragraph*{Contraction} |
107 | 222 | adas | Left contraction simply duplicates an argument, whereas right contraction requires a conditional on a $\Sigma^\safe_i$ formula. |
108 | 222 | adas | |
109 | 222 | adas | \[ |
110 | 222 | adas | \vlinf{\cntr}{}{\normal (\vec u) , \safe (\vec x) , \Gamma \seqar \Delta , A }{\normal (\vec u) , \safe (\vec x) , \Gamma \seqar \Delta , A , A} |
111 | 222 | adas | \] |
112 | 222 | adas | |
113 | 222 | adas | $\vec f^\pi_\Delta$ remains the same as that of premiss. Let $f_0 ,f_1$ correspond to the two copies of $A$ in the premiss. |
114 | 222 | adas | We define: |
115 | 222 | adas | \[ |
116 | 222 | adas | f^\pi_A ( \vec u ; \vec x , \vec w ) |
117 | 222 | adas | \quad \dfn \quad |
118 | 222 | adas | \cond (; \wit{\vec u ; \vec x}{A} ( l , \vec u ; \vec x , f_0(\vec u ; \vec x , \vec w) ) , f_1(\vec u ; \vec x , \vec w) , f_0(\vec u ; \vec x , \vec w) ) |
119 | 222 | adas | \] |
120 | 222 | adas | |
121 | 222 | adas | |
122 | 222 | adas | \anupam{For $\normal (\vec u), \safe (\vec x)$ in antecedent, we always consider as a set, so do not display explicitly contraction rules. } |
123 | 222 | adas | \paragraph*{Induction} |
124 | 222 | adas | Corresponds to safe recursion on notation. |
125 | 222 | adas | Suppose final step is (wlog): |
126 | 222 | adas | \[ |
127 | 222 | adas | \vlinf{\pind}{}{ \normal (\vec u), \safe (\vec x) , \Gamma, A(0) \seqar A(t(\vec u ;)) , \Delta}{ \left\{\normal (u) , \normal (\vec u) , \safe (\vec x) , \Gamma, A(u) \seqar A(\succ i u ) , \Delta \right\}_{i=0,1} } |
128 | 222 | adas | \] |
129 | 222 | adas | \anupam{need to say in normal form part that can assume induction of this form} |
130 | 222 | adas | For simplicity we will assume $\Delta $ is empty, which we can always do by Prop.~\todo{DO THIS!} |
131 | 222 | adas | |
132 | 222 | adas | Now, by the inductive hypothesis, we have functions $h_i$ such that: |
133 | 222 | adas | \[ |
134 | 222 | adas | \Wit{u , \vec u ; \vec x}{\Gamma, A(0)} (l , u , \vec u ; \vec x , \vec w) |
135 | 222 | adas | \quad \implies \quad |
136 | 222 | adas | \Wit{u , \vec u ; \vec x}{A(\succ i u)} (l , u , \vec u ; \vec x , h_i ((u , \vec u) \mode l ; \vec x \mode l , \vec w) ) |
137 | 222 | adas | \] |
138 | 222 | adas | First let us define $ f$ as follows: |
139 | 222 | adas | \[ |
140 | 222 | adas | \begin{array}{rcl} |
141 | 222 | adas | f (0 , \vec u ; \vec x, \vec w, w ) & \dfn & w\\ |
142 | 222 | adas | f( \succ i u , \vec u ; \vec x , \vec w, w) & \dfn & |
143 | 222 | adas | h_i (u , \vec u ; \vec x , \vec w , f(u , \vec u ; \vec x , \vec w , w )) |
144 | 222 | adas | \end{array} |
145 | 222 | adas | \] |
146 | 222 | adas | where $\vec w$ corresponds to $\Gamma $ and $w$ corresponds to $A(0)$. |
147 | 222 | adas | \anupam{Wait, should $\normal (t)$ have a witness? Also there is a problem like Patrick said for formulae like: $\forall x^\safe . \exists y^\safe. (\normal (z) \cor \cnot \normal (z))$, where $z$ is $y$ or otherwise.} |
148 | 222 | adas | |
149 | 222 | adas | Now we let $f^\pi (\vec u ; \vec x , \vec w) \dfn f(t(\vec u ; ) , \vec u ; \vec x , \vec w)$. |
150 | 222 | adas | |
151 | 222 | adas | \paragraph*{Cut} |
152 | 222 | adas | If it is a cut on an induction formula, which is safe, then it just corresponds to a safe composition since everything is substituted into a safe position. |
153 | 222 | adas | Otherwise it is a `raisecut': |
154 | 222 | adas | \[ |
155 | 222 | adas | \vliinf{\rais\cut}{}{\normal (\vec u ) , \normal (\vec v) , \safe (\vec x) ,\Gamma \seqar \Delta }{ \normal (\vec u) \seqar \exists x^\safe . A(x) }{ \normal (u) , \normal (\vec v) , \safe (\vec x) , A(u), \Gamma \seqar \Delta } |
156 | 222 | adas | \] |
157 | 222 | adas | In this case we have functions $f(\vec u ; )$ and $\vec g (u, \vec v ; \vec x , w , \vec w )$, in which case we construct $\vec f^\pi$ as: |
158 | 222 | adas | \[ |
159 | 222 | adas | \vec f^\pi ( \vec u , \vec v ; \vec x , \vec w ) |
160 | 222 | adas | \quad \dfn \quad |
161 | 222 | adas | \vec g ( \beta (1 ; f(\vec u ;) ) , \vec v ; \vec x , \beta(0;f(\vec u ;)) , \vec w ) |
162 | 222 | adas | \] |
163 | 222 | adas | \end{proof} |