mirror of
https://github.com/dhil/phd-dissertation
synced 2026-03-13 19:18:25 +00:00
Theorem 8.9
This commit is contained in:
230
thesis.tex
230
thesis.tex
@@ -14560,35 +14560,26 @@ $N'$ such that $N' \approxa \sdtrans{N}$ and $M' \reducesto^+ N'$.
|
|||||||
\end{theorem}
|
\end{theorem}
|
||||||
%
|
%
|
||||||
\begin{proof}
|
\begin{proof}
|
||||||
By case analysis on $\reducesto$ and induction on $\approxa$ using
|
% By case analysis on $\reducesto$ and induction on $\approxa$ using
|
||||||
Lemma~\ref{lem:sdtrans-subst} and Lemma~\ref{lem:sdtrans-admin}.
|
% Lemma~\ref{lem:sdtrans-subst} and Lemma~\ref{lem:sdtrans-admin}.
|
||||||
%
|
%
|
||||||
By induction on $M' \approxa \sdtrans{M}$ and side induction on
|
By induction on $M' \approxa \sdtrans{M}$ and side induction on
|
||||||
$M \reducesto N$.
|
$M \reducesto N$ using Lemma~\ref{lem:sdtrans-subst} and Lemma~\ref{lem:sdtrans-admin}.
|
||||||
%
|
%
|
||||||
The interesting case is reflexivity of $\approxa$ where
|
The interesting case is reflexivity of $\approxa$ where
|
||||||
$M \reducesto N$ is an application of $\semlab{Op^\dagger}$.
|
$M \reducesto N$ is an application of $\semlab{Op^\dagger}$, which
|
||||||
|
we will show.
|
||||||
|
|
||||||
\noindent\textbf{Case} $\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H \reducesto
|
In the reflexivity case we have $M' \approxa \sdtrans{M}$, where
|
||||||
N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]$ where
|
$M = \ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H$ and
|
||||||
$\ell \notin \BL(\EC)$ and
|
$N = N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]$ such that
|
||||||
$H^\ell = \{\OpCase{\ell}{p}{r} \mapsto N_\ell\}$. \smallskip\\
|
$M \reducesto N$ where $\ell \notin \BL(\EC)$ and
|
||||||
There are three subcases to consider.
|
$H^\ell = \{\OpCase{\ell}{p}{r} \mapsto N_\ell\}$.
|
||||||
\begin{enumerate}
|
%
|
||||||
\item Base step:
|
Hence by reflexivity of $\approxa$ we have
|
||||||
$M' = \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}$. We
|
$M' = \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}$. Now we
|
||||||
can compute $N'$ by direct calculation starting from $M'$ yielding
|
can compute $N'$ by direct calculation starting from $M'$ yielding
|
||||||
%
|
\begin{derivation}
|
||||||
% \begin{derivation}
|
|
||||||
% & \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}\\
|
|
||||||
% =\reducesto^+& \reason{\semlab{Op} ($\ell \notin \BL(\sdtrans{\EC})$), $2\times$\semlab{Let},\semlab{Split},\semlab{App}, Lemma~\ref{lem:sdtrans-subst}}\\
|
|
||||||
% &\sdtrans{N_\ell[\lambda x.
|
|
||||||
% \bl
|
|
||||||
% \Let\;z \revto (\lambda y.\Handle\;\EC[\Return\;y]\;\With\;H)~x\;\In\\
|
|
||||||
% \Let\;\Record{f;g} = z\;\In\;f\,\Unit/r,V/p]}
|
|
||||||
% \el\\
|
|
||||||
% \end{derivation}
|
|
||||||
\begin{derivation}
|
|
||||||
& \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}\\
|
& \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}\\
|
||||||
=& \reason{definition of $\sdtrans{-}$}\\
|
=& \reason{definition of $\sdtrans{-}$}\\
|
||||||
&\bl
|
&\bl
|
||||||
@@ -14596,23 +14587,6 @@ $N'$ such that $N' \approxa \sdtrans{N}$ and $M' \reducesto^+ N'$.
|
|||||||
\Let\;\Record{f;g} = z\;\In\;g\,\Unit
|
\Let\;\Record{f;g} = z\;\In\;g\,\Unit
|
||||||
\el\\
|
\el\\
|
||||||
\reducesto^+& \reason{\semlab{Op} using assumption $\ell \notin \BL(\sdtrans{\EC})$, \semlab{Let}, \semlab{Let}}\\
|
\reducesto^+& \reason{\semlab{Op} using assumption $\ell \notin \BL(\sdtrans{\EC})$, \semlab{Let}, \semlab{Let}}\\
|
||||||
% &\bl
|
|
||||||
% \Let\;z \revto
|
|
||||||
% (\bl
|
|
||||||
% \Let\;r \revto \lambda x.\Let\;z \revto r~x\;\In\;\Let\;\Record{f;g} = z\;\In\;f\,\Unit\;\In\\
|
|
||||||
% \Return\;\Record{
|
|
||||||
% \bl
|
|
||||||
% \lambda\Unit.\Let\;x \revto \Do\;\ell~p\;\In\;r~x;\\
|
|
||||||
% \lambda\Unit.\sdtrans{N_\ell}})[
|
|
||||||
% \bl
|
|
||||||
% \sdtrans{V}/p,\\
|
|
||||||
% \lambda y.\Handle\;\sdtrans{\EC}[\Return\;y]\;\With\;\sdtrans{H}/r]
|
|
||||||
% \el
|
|
||||||
% \el
|
|
||||||
% \el\\
|
|
||||||
% \In\;\Let\;\Record{f;g} = z\;\In\;g\,\Unit
|
|
||||||
% \el\\
|
|
||||||
% \reducesto^+& \reason{\semlab{Let}, \semlab{Let}}\\
|
|
||||||
&\bl
|
&\bl
|
||||||
\Let\;\Record{f;g} = \Record{
|
\Let\;\Record{f;g} = \Record{
|
||||||
\bl
|
\bl
|
||||||
@@ -14642,55 +14616,161 @@ $N'$ such that $N' \approxa \sdtrans{N}$ and $M' \reducesto^+ N'$.
|
|||||||
$r \notin \FV(N_\ell)$ then the two terms $N'$ and
|
$r \notin \FV(N_\ell)$ then the two terms $N'$ and
|
||||||
$\sdtrans{N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]}$ are the
|
$\sdtrans{N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]}$ are the
|
||||||
identical, and thus the result follows immediate by reflexivity of
|
identical, and thus the result follows immediate by reflexivity of
|
||||||
the $\approxa$-relation. Otherwise $N'$ approximates
|
the $\approxa$-relation. Otherwise the proof reduces to showing that
|
||||||
$N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]$ at least up to a use of
|
the larger resumption term simulates the smaller resumption term,
|
||||||
$r$. We need to show that the approximation remains faithful during
|
i.e (note we lift the $\approxa$-relation to value terms).
|
||||||
any application of $r$. Specifically, we proceed to show that for
|
|
||||||
any value $W \in \ValCat$
|
|
||||||
%
|
%
|
||||||
\[
|
\[
|
||||||
(\bl
|
(\bl
|
||||||
\lambda x.\Let\;z \revto (\lambda y.\Handle\;\sdtrans{\EC}[\Return\;y]\;\With\;\sdtrans{H})~x\;\In\\
|
\lambda x.\Let\;z \revto (\lambda y.\Handle\;\sdtrans{\EC}[\Return\;y]\;\With\;\sdtrans{H})~x\;\In\\
|
||||||
\Let\;\Record{f;g} = z \;\In\;f\,\Unit)~W \approxa (\lambda y.\sdtrans{\EC}[\Return\;y])~W.
|
\Let\;\Record{f;g} = z \;\In\;f\,\Unit) \approxa (\lambda y.\sdtrans{\EC}[\Return\;y]).
|
||||||
\el
|
\el
|
||||||
\]
|
\]
|
||||||
%
|
%
|
||||||
The right hand side reduces to $\sdtrans{\EC}[\Return\;W]$. Two
|
We use the congruence rules to apply a single $\semlab{App}$ on the
|
||||||
applications of \semlab{App} on the left hand side yield the term
|
left hand side to obtain
|
||||||
%
|
%
|
||||||
\[
|
\[
|
||||||
\Let\;z \revto \Handle\;\sdtrans{\EC}[\Return\;W]\;\With\;\sdtrans{H}\;\In\;\Let\;\Record{f;g} = z \;\In\;f\,\Unit.
|
(\bl
|
||||||
|
\lambda x.\Let\;z \revto \Handle\;\sdtrans{\EC}[\Return\;x]\;\With\;\sdtrans{H}\;\In\\
|
||||||
|
\Let\;\Record{f;g} = z \;\In\;f\,\Unit) \approxa (\lambda y.\sdtrans{\EC}[\Return\;y]).
|
||||||
|
\el
|
||||||
\]
|
\]
|
||||||
%
|
%
|
||||||
Define
|
Now the trick is to define the following context
|
||||||
%
|
%
|
||||||
$\EC' \defas \Let\;z \revto \Handle\; [\,]\;\With\;\sdtrans{H}\;\In\;\Let\;\Record{f;g} = z \;\In\;f\,\Unit$
|
\[
|
||||||
|
\EC' \defas \Let\;z \revto \Handle\; [\,]\;\With\;\sdtrans{H}\;\In\;\Let\;\Record{f;g} = z \;\In\;f\,\Unit.
|
||||||
|
\]
|
||||||
%
|
%
|
||||||
such that $\EC'$ is an administrative evaluation context by
|
The context $\EC'$ is an administrative evaluation context by
|
||||||
Lemma~\ref{lem:sdtrans-admin}. Then it follows by
|
Lemma~\ref{lem:sdtrans-admin}. Now it follows by
|
||||||
Defintion~\ref{def:approx-admin} that
|
Defintion~\ref{def:approx-admin} that
|
||||||
$\EC'[\sdtrans{\EC}[\Return\;W]] \approxa
|
$(\lambda x.\EC'[\sdtrans{\EC}[\Return\;x]]) \approxa
|
||||||
\sdtrans{\EC}[\Return\;W]$.
|
(\lambda y.\sdtrans{\EC}[\Return\;y])$.
|
||||||
|
%
|
||||||
|
% \noindent\textbf{Case} $\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H \reducesto
|
||||||
|
% N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]$ where
|
||||||
|
% $\ell \notin \BL(\EC)$ and
|
||||||
|
% $H^\ell = \{\OpCase{\ell}{p}{r} \mapsto N_\ell\}$. \smallskip\\
|
||||||
|
% There are three subcases to consider.
|
||||||
|
% \begin{enumerate}
|
||||||
|
% \item Base step:
|
||||||
|
% $M' = \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}$. We
|
||||||
|
% can compute $N'$ by direct calculation starting from $M'$ yielding
|
||||||
|
% %
|
||||||
|
% % \begin{derivation}
|
||||||
|
% % & \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}\\
|
||||||
|
% % =\reducesto^+& \reason{\semlab{Op} ($\ell \notin \BL(\sdtrans{\EC})$), $2\times$\semlab{Let},\semlab{Split},\semlab{App}, Lemma~\ref{lem:sdtrans-subst}}\\
|
||||||
|
% % &\sdtrans{N_\ell[\lambda x.
|
||||||
|
% % \bl
|
||||||
|
% % \Let\;z \revto (\lambda y.\Handle\;\EC[\Return\;y]\;\With\;H)~x\;\In\\
|
||||||
|
% % \Let\;\Record{f;g} = z\;\In\;f\,\Unit/r,V/p]}
|
||||||
|
% % \el\\
|
||||||
|
% % \end{derivation}
|
||||||
|
% \begin{derivation}
|
||||||
|
% & \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}\\
|
||||||
|
% =& \reason{definition of $\sdtrans{-}$}\\
|
||||||
|
% &\bl
|
||||||
|
% \Let\;z \revto \Handle\;\sdtrans{\EC}[\Do\;\ell~\sdtrans{V}]\;\With\;\sdtrans{H}\;\In\\
|
||||||
|
% \Let\;\Record{f;g} = z\;\In\;g\,\Unit
|
||||||
|
% \el\\
|
||||||
|
% \reducesto^+& \reason{\semlab{Op} using assumption $\ell \notin \BL(\sdtrans{\EC})$, \semlab{Let}, \semlab{Let}}\\
|
||||||
|
% % &\bl
|
||||||
|
% % \Let\;z \revto
|
||||||
|
% % (\bl
|
||||||
|
% % \Let\;r \revto \lambda x.\Let\;z \revto r~x\;\In\;\Let\;\Record{f;g} = z\;\In\;f\,\Unit\;\In\\
|
||||||
|
% % \Return\;\Record{
|
||||||
|
% % \bl
|
||||||
|
% % \lambda\Unit.\Let\;x \revto \Do\;\ell~p\;\In\;r~x;\\
|
||||||
|
% % \lambda\Unit.\sdtrans{N_\ell}})[
|
||||||
|
% % \bl
|
||||||
|
% % \sdtrans{V}/p,\\
|
||||||
|
% % \lambda y.\Handle\;\sdtrans{\EC}[\Return\;y]\;\With\;\sdtrans{H}/r]
|
||||||
|
% % \el
|
||||||
|
% % \el
|
||||||
|
% % \el\\
|
||||||
|
% % \In\;\Let\;\Record{f;g} = z\;\In\;g\,\Unit
|
||||||
|
% % \el\\
|
||||||
|
% % \reducesto^+& \reason{\semlab{Let}, \semlab{Let}}\\
|
||||||
|
% &\bl
|
||||||
|
% \Let\;\Record{f;g} = \Record{
|
||||||
|
% \bl
|
||||||
|
% \lambda\Unit.\Let\;x \revto \Do\;\ell~\sdtrans{V}\;\In\;r~x;\\
|
||||||
|
% \lambda\Unit.\sdtrans{N_\ell}}[\lambda x.
|
||||||
|
% \bl
|
||||||
|
% \Let\;z \revto (\lambda y.\Handle\;\sdtrans{\EC}[\Return\;y]\;\With\;\sdtrans{H})~x\;\In\\
|
||||||
|
% \Let\;\Record{f;g} = z\;\In\;f\,\Unit/r,\sdtrans{V}/p]\;\In\; g\,\Unit
|
||||||
|
% \el
|
||||||
|
% \el\\
|
||||||
|
% \el\\
|
||||||
|
% \reducesto^+ &\reason{\semlab{Split}, \semlab{App}}\\
|
||||||
|
% &\sdtrans{N_\ell}[\lambda x.
|
||||||
|
% \bl
|
||||||
|
% \Let\;z \revto (\lambda y.\Handle\;\sdtrans{\EC}[\Return\;y]\;\With\;\sdtrans{H})~x\;\In\\
|
||||||
|
% \Let\;\Record{f;g} = z\;\In\;f\,\Unit/r,\sdtrans{V}/p]
|
||||||
|
% \el\\
|
||||||
|
% =& \reason{by Lemma~\ref{lem:sdtrans-subst}}\\
|
||||||
|
% &\sdtrans{N_\ell[\lambda x.
|
||||||
|
% \bl
|
||||||
|
% \Let\;z \revto (\lambda y.\Handle\;\EC[\Return\;y]\;\With\;H)~x\;\In\\
|
||||||
|
% \Let\;\Record{f;g} = z\;\In\;f\,\Unit/r,V/p]}
|
||||||
|
% \el
|
||||||
|
% \end{derivation}
|
||||||
|
% %
|
||||||
|
% Take the final term to be $N'$. If the resumption
|
||||||
|
% $r \notin \FV(N_\ell)$ then the two terms $N'$ and
|
||||||
|
% $\sdtrans{N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]}$ are the
|
||||||
|
% identical, and thus the result follows immediate by reflexivity of
|
||||||
|
% the $\approxa$-relation. Otherwise $N'$ approximates
|
||||||
|
% $N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]$ at least up to a use of
|
||||||
|
% $r$. We need to show that the approximation remains faithful during
|
||||||
|
% any application of $r$. Specifically, we proceed to show that for
|
||||||
|
% any value $W \in \ValCat$
|
||||||
|
% %
|
||||||
|
% \[
|
||||||
|
% (\bl
|
||||||
|
% \lambda x.\Let\;z \revto (\lambda y.\Handle\;\sdtrans{\EC}[\Return\;y]\;\With\;\sdtrans{H})~x\;\In\\
|
||||||
|
% \Let\;\Record{f;g} = z \;\In\;f\,\Unit)~W \approxa (\lambda y.\sdtrans{\EC}[\Return\;y])~W.
|
||||||
|
% \el
|
||||||
|
% \]
|
||||||
|
% %
|
||||||
|
% The right hand side reduces to $\sdtrans{\EC}[\Return\;W]$. Two
|
||||||
|
% applications of \semlab{App} on the left hand side yield the term
|
||||||
|
% %
|
||||||
|
% \[
|
||||||
|
% \Let\;z \revto \Handle\;\sdtrans{\EC}[\Return\;W]\;\With\;\sdtrans{H}\;\In\;\Let\;\Record{f;g} = z \;\In\;f\,\Unit.
|
||||||
|
% \]
|
||||||
|
% %
|
||||||
|
% Define
|
||||||
|
% %
|
||||||
|
% $\EC' \defas \Let\;z \revto \Handle\; [\,]\;\With\;\sdtrans{H}\;\In\;\Let\;\Record{f;g} = z \;\In\;f\,\Unit$
|
||||||
|
% %
|
||||||
|
% such that $\EC'$ is an administrative evaluation context by
|
||||||
|
% Lemma~\ref{lem:sdtrans-admin}. Then it follows by
|
||||||
|
% Defintion~\ref{def:approx-admin} that
|
||||||
|
% $\EC'[\sdtrans{\EC}[\Return\;W]] \approxa
|
||||||
|
% \sdtrans{\EC}[\Return\;W]$.
|
||||||
|
|
||||||
\item Inductive step: Assume $M' \reducesto M''$ and
|
% \item Inductive step: Assume $M' \reducesto M''$ and
|
||||||
$M'' \approxa \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}$. Using a similar argument to above we get that
|
% $M'' \approxa \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}$. Using a similar argument to above we get that
|
||||||
\[
|
% \[
|
||||||
\sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}
|
% \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}
|
||||||
\reducesto^+ \sdtrans{N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]}.
|
% \reducesto^+ \sdtrans{N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]}.
|
||||||
\]
|
% \]
|
||||||
Take $N' = M''$ then by the first induction hypothesis
|
% Take $N' = M''$ then by the first induction hypothesis
|
||||||
$M' \reducesto N'$ and by the second induction hypothesis
|
% $M' \reducesto N'$ and by the second induction hypothesis
|
||||||
$N' \approxa \sdtrans{N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]}$ as
|
% $N' \approxa \sdtrans{N_\ell[V/p,\lambda y.\EC[\Return\;y]/r]}$ as
|
||||||
desired.
|
% desired.
|
||||||
\item Inductive step: Assume $admin(\EC')$ and
|
% \item Inductive step: Assume $admin(\EC')$ and
|
||||||
$M' \approxa \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}$.
|
% $M' \approxa \sdtrans{\ShallowHandle\;\EC[\Do\;\ell~V]\;\With\;H}$.
|
||||||
%
|
% %
|
||||||
By the induction the hypothesis $M' \reducesto N''$. Take
|
% By the induction the hypothesis $M' \reducesto N''$. Take
|
||||||
$N' = \EC'[N'']$. The result follows by an application of the
|
% $N' = \EC'[N'']$. The result follows by an application of the
|
||||||
admin rule.
|
% admin rule.
|
||||||
\item Compatibility step: We check every syntax constructor,
|
% \item Compatibility step: We check every syntax constructor,
|
||||||
however, since the relation is compositional\dots
|
% however, since the relation is compositional\dots
|
||||||
\end{enumerate}
|
% \end{enumerate}
|
||||||
\end{proof}
|
\end{proof}
|
||||||
% \begin{proof}
|
% \begin{proof}
|
||||||
% By case analysis on $\reducesto$ using Lemma~\ref{lem:sdtrans-subst}
|
% By case analysis on $\reducesto$ using Lemma~\ref{lem:sdtrans-subst}
|
||||||
|
|||||||
Reference in New Issue
Block a user