root / CSL16 / appendix-wfm.tex @ 247
Historique | Voir | Annoter | Télécharger (6,3 ko)
1 | 113 | adas | \section{Further details on Dfn.~\ref{dfn:translation-of-proofs}, Sect.~\ref{sect:wfm}} |
---|---|---|---|
2 | 107 | adas | \label{sect:app-wfm} |
3 | 107 | adas | |
4 | 113 | adas | %\paragraph*{Further details on Dfn.~\ref{dfn:translation-of-proofs}} |
5 | 113 | adas | The initial steps of $\arith$ are translated as follows, |
6 | 107 | adas | \[ |
7 | 107 | adas | \begin{array}{ccc} |
8 | 107 | adas | % \vlinf{\word_\epsilon}{}{\seqar \word (\epsilon)}{} |
9 | 107 | adas | % & : & |
10 | 107 | adas | % \epsilon |
11 | 107 | adas | % \\ |
12 | 107 | adas | \vlinf{\genzer}{}{\word(t) \seqar \word(\succ_0 t)}{} |
13 | 107 | adas | & \quad :\quad & |
14 | 107 | adas | \succ_0 ( ;x) |
15 | 107 | adas | \\ |
16 | 107 | adas | \vlinf{\genone}{}{\word(t) \seqar \word(\succ_1 t)}{} |
17 | 107 | adas | & \quad : \quad & |
18 | 107 | adas | \succ_1 (; x) |
19 | 107 | adas | \\ |
20 | 107 | adas | % \vlinf{\epsilon^0}{}{ \word (t) , \epsilon = \succ_0 t \seqar }{} |
21 | 107 | adas | % & : & |
22 | 107 | adas | % \epsilon |
23 | 107 | adas | % \\ |
24 | 107 | adas | % \vlinf{\epsilon^1}{}{ \word (t) , \epsilon = \succ_1 t \seqar }{} |
25 | 107 | adas | % & : & |
26 | 107 | adas | % \epsilon |
27 | 107 | adas | % \\ |
28 | 107 | adas | % \vlinf{\succ_0}{}{\word (s) , \word (t) , \succ_0 s = \succ_0 t\seqar s = t }{} |
29 | 107 | adas | % & : & |
30 | 107 | adas | % \epsilon |
31 | 107 | adas | % \\ |
32 | 107 | adas | % \vlinf{\succ_1}{}{\word (s) , \word (t) , \succ_1 s = \succ_1 t\seqar s = t }{} |
33 | 107 | adas | % & : & |
34 | 107 | adas | % \epsilon |
35 | 107 | adas | % \\ |
36 | 107 | adas | % \vlinf{\inj}{}{\word(t), \succ_0 t = \succ_1 t \seqar}{} |
37 | 107 | adas | % & : & |
38 | 107 | adas | % \epsilon |
39 | 107 | adas | % \\ |
40 | 107 | adas | \vlinf{\surj}{}{\word (t) \seqar t = \epsilon \laor \exists y^\word . t = \succ_0 y \laor \exists y^\word. t = \succ_1 y }{} |
41 | 107 | adas | &\quad : \quad & |
42 | 107 | adas | ( \epsilon , \pred ( ;x) , \pred (;x ) ) |
43 | 107 | adas | \\ |
44 | 107 | adas | \vlinf{\wordcntr}{}{\word(t) \seqar \word(t) \land \word(t) }{} |
45 | 107 | adas | & \quad : \quad & |
46 | 107 | adas | ( \id (;x) , \id (;x) ) |
47 | 107 | adas | \end{array} |
48 | 107 | adas | \] |
49 | 113 | adas | and the remaining initial steps are translated to $\epsilon$. |
50 | 107 | adas | |
51 | 107 | adas | |
52 | 107 | adas | Suppose $\pi$ ends with a $\rigrul{\land}$ step: |
53 | 107 | adas | \[ |
54 | 107 | adas | \vlderivation{ |
55 | 107 | adas | \vliin{\land}{}{ \Gamma, \Sigma \seqar \Delta, \Pi, A\land B }{ |
56 | 107 | adas | \vltr{\pi_1}{ \Gamma \seqar \Delta, A }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }} |
57 | 107 | adas | }{ |
58 | 107 | adas | \vltr{\pi_2}{ \Sigma \seqar \Pi, B }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }} |
59 | 107 | adas | } |
60 | 107 | adas | } |
61 | 107 | adas | \] |
62 | 107 | adas | By the inductive hypothesis let us suppose we have functions $\vec g (\vec u; \vec x)$ and $\vec h (\vec v ; \vec y)$ from $\pi_1$ and $\pi_2$ respectively, where $\type\left( \bigotimes\Gamma \right) = (\vec u; \vec x)$ and $\type \left( \bigotimes \Sigma \right) = (\vec v ; \vec y)$. Let us write $\vec g = (\vec g^\Delta , \vec g^A)$ and $\vec h = (\vec h^\Pi , \vec h^B)$, to denote the $\Delta$ and $A$ parts of $\vec g$ and the $\Pi$ and $B$ parts of $\vec h$. |
63 | 107 | adas | % So we have $\vec f^{1} (\vec x ; \vec a)$ and $\vec f^2 (\vec y ; \vec b)$ for $\pi_1 $ and $\pi_2$ respectively, by the inductive hypothesis. |
64 | 108 | adas | |
65 | 108 | adas | |
66 | 108 | adas | |
67 | 108 | adas | |
68 | 108 | adas | |
69 | 108 | adas | |
70 | 107 | adas | We construct $\vec f^\pi$ by simply rearranging these tuples of functions: |
71 | 107 | adas | \[ |
72 | 107 | adas | \vec f^\pi (\vec u , \vec v ; \vec x , \vec y) |
73 | 107 | adas | \quad := \quad |
74 | 107 | adas | \left( |
75 | 107 | adas | \vec g^\Delta (\vec u ; \vec x) , \vec h^\Pi (\vec v ; \vec y) , \vec g^A (\vec u ; \vec x) , \vec h^B (\vec v ; \vec y) |
76 | 107 | adas | \right) |
77 | 107 | adas | \] |
78 | 107 | adas | |
79 | 107 | adas | |
80 | 107 | adas | If $\pi$ ends with a $\lefrul{\exists}$ step, |
81 | 107 | adas | \[ |
82 | 107 | adas | \vlderivation{ |
83 | 107 | adas | \vlin{\lefrul{\exists}}{}{ \Gamma, \exists x^\word . A(x) \seqar \Delta }{ |
84 | 107 | adas | \vltr{\pi'}{ \Gamma , A(a), \word(a) \seqar \Delta }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }} |
85 | 107 | adas | } |
86 | 107 | adas | } |
87 | 107 | adas | \] |
88 | 107 | adas | then $\vec f^{\pi}$ is exactly the same as $\vec f^{\pi'}$. |
89 | 107 | adas | |
90 | 107 | adas | |
91 | 107 | adas | Suppose $\pi$ ends with a $\cut$ step: |
92 | 107 | adas | \[ |
93 | 107 | adas | \vlderivation{ |
94 | 107 | adas | \vliin{\cut}{}{\Gamma , \Sigma \seqar \Delta , \Pi}{ |
95 | 107 | adas | \vltr{\pi_1}{ \Gamma \seqar \Delta, A }{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }} |
96 | 107 | adas | }{ |
97 | 107 | adas | \vltr{\pi_2}{\Sigma , A \seqar \Pi}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }} |
98 | 107 | adas | } |
99 | 107 | adas | } |
100 | 107 | adas | \] |
101 | 107 | adas | |
102 | 107 | adas | We have two cases. First, if $A$ is free of modalities, then $\type (A)$ consists of only safe inputs. Therefore we have functions $\vec g (\vec u; \vec x)$ and $\vec h (\vec v ; \vec y, \vec z)$ from $\pi_1$ and $\pi_2 $ respectively, such that $\type(\Gamma) = (\vec u ; \vec x)$, $\type(\Sigma) = (\vec v ; \vec y )$ and $\type (A) = (;\vec z)$. Let us write $\vec g = (\vec g^\Delta , \vec g^A)$ as before, and we define $\vec f^\pi$ as follows: |
103 | 107 | adas | |
104 | 107 | adas | \[ |
105 | 107 | adas | \vec f^\pi ( \vec u , \vec v ; \vec x, \vec y) |
106 | 107 | adas | \quad := \quad |
107 | 107 | adas | \left( |
108 | 107 | adas | \vec g^\Delta (\vec u ; \vec x) |
109 | 107 | adas | , |
110 | 107 | adas | \vec h ( \vec v ; \vec y , \vec g^A ( \vec u ; \vec x ) ) |
111 | 107 | adas | \right) |
112 | 107 | adas | \] |
113 | 107 | adas | Notice that all safe inputs on the left occur hereditarily safe on the right, and so these expressions are definable in BC by Prop.~\ref{prop:bc-properties}. |
114 | 108 | adas | |
115 | 108 | adas | |
116 | 108 | adas | |
117 | 108 | adas | |
118 | 108 | adas | Suppose $\pi$ ends with a $\lefrul{\cntr}$ step, |
119 | 108 | adas | \[ |
120 | 108 | adas | \vlderivation{ |
121 | 108 | adas | \vlin{\lefrul{\cntr}}{}{ !A , \Gamma \seqar \Delta }{ |
122 | 108 | adas | \vltr{\pi'}{ !A, !A , \Gamma \seqar \Delta}{\vlhy{\quad }}{\vlhy{ }}{\vlhy{\quad }} |
123 | 108 | adas | } |
124 | 108 | adas | } |
125 | 108 | adas | \] |
126 | 108 | adas | so we have functions $\vec f' ( \vec u^1, \vec u^2 , \vec v ; \vec x)$, with $\vec u^1$ and $\vec u^2$ corresponding to the two copies of $!A$ in the conclusion of $\pi'$ and $\type (\Gamma) = (\vec v; \vec x)$. |
127 | 108 | adas | % (Recall that the typing corresponding to $!$ means that all inputs for each $!A$ are normal). |
128 | 108 | adas | We define $\vec f^\pi$ by duplicating the arguments for $!A$: |
129 | 108 | adas | \[ |
130 | 108 | adas | \vec f^\pi (\vec u , \vec v ; \vec x) |
131 | 108 | adas | \quad := \quad |
132 | 108 | adas | \vec f' (\vec u, \vec u , \vec v ; \vec x) |
133 | 110 | adas | \] |
134 | 110 | adas | |
135 | 110 | adas | |
136 | 113 | adas | |
137 | 113 | adas | % \begin{proof} |
138 | 113 | adas | % [Proof of Thm.~\ref{thm:main-result}] |
139 | 113 | adas | % % [Proof sketch] |
140 | 113 | adas | % By Thm.~\ref{thm:free-cut-elim} and Lemma~\ref{lemma:spec-norm-form} we have a free-cut free proof $\pi$ in $\closure{\eqspec} \cup \arith$ of $!\word (\vec x ) \seqar \word (f (\vec x))$. By Lemma~\ref{lemma:witness-invariant} above this means that $\vec a = \vec x \cimp f^\pi (\vec a) = f(\vec x)$ is true in any model of $\qfindth$ satisfying $\eqspec$ and $\eqspec^\pi$. |
141 | 113 | adas | % % Since some model must exist by coherence (cf.\ Prop.~\ref{prop:eq-spec-model}), we have that |
142 | 113 | adas | % Using the fact that $\eqspec \cup \eqspec^\pi$ is coherent we can construct such a model, similarly to Prop.~\ref{prop:eq-spec-model}, which will contain $\Word$ as an initial segment, in which we must have $f^\pi (\vec x) = f (\vec x)$ for every $\vec x \in \Word$, as required.\todo{polish} |
143 | 113 | adas | % \end{proof} |