50 lines
881 B
TeX
50 lines
881 B
TeX
\fbox{$\elabsto{e}{e}{\tau}$}
|
|
|
|
\begin{mathpar}
|
|
\inferrule*[left=S-Var]{
|
|
\Gamma(x) = \tau
|
|
}{
|
|
\elabsto{x}{x}{\tau}
|
|
}
|
|
|
|
\inferrule*[left=S-Int]{
|
|
n \in \ints
|
|
}{
|
|
\elabsto{n}{n}{\tint}
|
|
}
|
|
|
|
\inferrule*[left=S-Lam]{
|
|
\elabsto{e}{e'}{\tau'}
|
|
}{
|
|
\elabsto{\vlam{x}{e}}{\vlam{x}{e'}}{\tau \rightarrow \tau'}
|
|
}
|
|
|
|
\inferrule*[left=S-Arr]{
|
|
\elabsto{e_0}{e_0'}{\tint}
|
|
\\
|
|
\ldots
|
|
\\
|
|
\elabsto{e_{n-1}}{e_{n-1}'}{\tint}
|
|
}{
|
|
\elabsto{\vectoren}{\vectorgen{e_0',\ldots,e_{n-1}'}}{\tarray}
|
|
}
|
|
|
|
\inferrule*[left=S-App]{
|
|
\elabsto{e_1}{e_1'}{\tau \rightarrow \tau'}
|
|
\\
|
|
\elabsto{e_2}{e_2'}{\tau}
|
|
}{
|
|
\elabsto{e_1~e_2}{e_1'~e_2'}{\tau'}
|
|
}
|
|
|
|
\inferrule*[left=S-Ref]{
|
|
\elabsto{e_1}{e_1'}{\tarray}
|
|
\\
|
|
\elabsto{e_2}{e_2'}{\tint}
|
|
}{
|
|
\elabsto{\aref{e_1}{e_2}}{\checkedref~e_1'~e_2'}{\tint}
|
|
}
|
|
|
|
\end{mathpar}
|
|
|