Add correctness proof sketches

This commit is contained in:
Théophile Bastian 2018-03-05 00:29:59 +01:00
parent c319c28c53
commit 2ae3e1aa2b
1 changed files with 35 additions and 2 deletions

View File

@ -376,9 +376,43 @@
\end{frame}
\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}
\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}
\section*{}
@ -400,8 +434,7 @@
\alert{pretends otherwise}
\item Unusably \alert{small toy language}
\item Absurdly \alert{hard to read} toy language
\item Proof \wrt{} some $\alpha$ which is not
\textit{that} realistic
\item Proof \wrt{} some $\alpha$ which does not handle effects
\item Please, stop claiming every line or two that your paper
is better than Guo and Palsberg's
\end{itemize}