summaryrefslogtreecommitdiffstats
path: root/proof.tex
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2020-11-18 13:03:25 +0000
committerYann Herklotz <git@yannherklotz.com>2020-11-18 13:03:36 +0000
commitac0c5651fb855d28eaeed5fb71dbf8f654944ae8 (patch)
tree64dd9046f3d895176fdfe8f5581dde6fd79ab530 /proof.tex
parentdca94ceaf47afd42298fea1812c8549ca7f55462 (diff)
downloadoopsla21_fvhls-ac0c5651fb855d28eaeed5fb71dbf8f654944ae8.tar.gz
oopsla21_fvhls-ac0c5651fb855d28eaeed5fb71dbf8f654944ae8.zip
Add proof and verilog
Diffstat (limited to 'proof.tex')
-rw-r--r--proof.tex2
1 files changed, 1 insertions, 1 deletions
diff --git a/proof.tex b/proof.tex
index a25e81f..4d617b5 100644
--- a/proof.tex
+++ b/proof.tex
@@ -2,7 +2,7 @@
This section describes the main correctness theorem that was proven and the main ideas behind the proofs.
-The main correctness theorem states that for all Clight source programs $C$, if the translation from the source to the target Verilog code succeeds, assuming that $C$ has correct observable behaviour $B$ when executed, then the target Verilog code will simulate with the same behaviour $B$. The following backwards simulation theorem describes this property.
+The main correctness theorem is the exact same correctness theorem as stated in \compcert{}~\cite{leroy09_formal_verif_realis_compil} and states that for all Clight source programs $C$, if the translation from the source to the target Verilog code succeeds, assuming that $C$ has correct observable behaviour $B$ when executed, then the target Verilog code will simulate with the same behaviour $B$, where behaviour can either be convergent, divergent or ``going wrong'' and is associated with a trace $t$ of any external function calls. The following backwards simulation theorem describes this property, where $\Downarrow_{s}$ and $\Downarrow$ stand for simulation and execution respectively.
\begin{equation*}
\forall C, V, B \notin \texttt{Wrong},\, \yhfunction{HLS} (C) = \yhconstant{OK} (V) \land V \Downarrow_{s} B \implies C \Downarrow B.