Add correctness proof sketches

This commit is contained in:
Théophile Bastian 2018-03-05 00:29:59 +01:00
parent c319c28c53
commit 2ae3e1aa2b

View file

@ -376,9 +376,43 @@
\end{frame} \end{frame}
\begin{frame}{Correctness proof sketch, trace extraction} \begin{frame}{Correctness proof sketch, trace extraction}
\begin{block}{Theorem}
Trace extraction is correct \wrt{} $\alpha_{sc}$, that is, $\forall P,
\forall hp$,
\[ \alpha_{sc}(\tracesOf(P)) = \alpha_{sc}(\tracesOf(\extr{hp}(P))) \]
\end{block}
\begin{itemize}
\item Proved by mapping $\sigma \in \traces$ to its correct trace
through $tr_{hp}(\sigma)$ in $\extr{hp}(P) =: P_{hp}$
\item Then show that
\begin{enumerate}[i]
\item $tr_{hp}(\tracesOf(P)) \subseteq \tracesOf(P_{hp})$
\item $\alpha_{sc}(\tracesOf(P_{hp}))
\subseteq \alpha_{sc}(\tracesOf(P))$
\item $\alpha_{sc} \circ tr_{hp} = \alpha_{sc}$
\end{enumerate}
\end{itemize}
\end{frame} \end{frame}
\begin{frame}{Correctness proof sketch, type specialization} \begin{frame}{Correctness proof sketch, type specialization}
\begin{block}{Theorem}
Type specialization is correct (at traces level)
\end{block}
\begin{itemize}
\item Define $tt(\sigma)$ erasing type specialization (\eg{}
$+_{\text{Int}} \mapsto +$).
\item Then, $tt(\tracesOf(TS_{hp}(stitch_P(hp)))) =
\tracesOf(stitch_P(hp))$
\end{itemize}
\begin{block}{Theorem}
Stitching type specialization to a hot path is correct \wrt{}
$\alpha_{sc}$.
\end{block}
(directly follows)
\end{frame} \end{frame}
\section*{} \section*{}
@ -400,8 +434,7 @@
\alert{pretends otherwise} \alert{pretends otherwise}
\item Unusably \alert{small toy language} \item Unusably \alert{small toy language}
\item Absurdly \alert{hard to read} toy language \item Absurdly \alert{hard to read} toy language
\item Proof \wrt{} some $\alpha$ which is not \item Proof \wrt{} some $\alpha$ which does not handle effects
\textit{that} realistic
\item Please, stop claiming every line or two that your paper \item Please, stop claiming every line or two that your paper
is better than Guo and Palsberg's is better than Guo and Palsberg's
\end{itemize} \end{itemize}