Statistiques
| Révision :

root / CSL16 / appendix-wfm.tex @ 225

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}