trivial/popl-2017/fig-elab1.tex
2016-06-27 16:00:01 -04:00

33 lines
511 B
TeX

\fbox{$\elabsto{e}{e}{\tau}$}
\begin{mathpar}
\inferrule*[left=S-RefPass]{
\elabsto{e_1}{\vectorvn}{\tarray}
\\
\elabsto{e_2}{i}{\tint}
\\\\
i \in \ints
\\
0 \le i < n
}{
\elabsto{\aref{e_1}{e_2}}{\unsaferef~\vectorvn~i}{\tint}
}
\inferrule*[left=S-RefFail]{
\elabsto{e_1}{\vectorvn}{\tarray}
\\
\elabsto{e_2}{i}{\tint}
\\\\
i \in \ints
\\
i < 0 ~~\vee~~ i \ge n
}{
\elabsto{\aref{e_1}{e_2}}{\indexerror}{\tint}
}
\end{mathpar}