@@ -126,7 +126,7 @@ Derving the algorithm from these rules is then straightforward:
Notice that the effect of doing $\recdel t \ell+\crecord{\ell\eqq
\Any}$ corresponds to setting the field $\ell$ of the (record) type
$t$ to the type $\Any\vee\Undef$, that is, to the type of all
undefined fields in an open record. So \Rule{PDel} and \Rule{PExt1}
undefined fields in an open record. So \Rule{PDel} and \Rule{PUpd1}
mean that if we remove, add, or redefine a field $\ell$ in an expression $e$
then all we can deduce for $e$ is that its field $\ell$ is undefined: since the original field was destroyed we do not have any information on it apart from the static one.
To ease our analysis we used different directions for each kind of
term. So we have $0$ and $1$ for the function and argument of an
application, $l$ and $r$ for the $l$eft and $r$ight expressions forming a pair,
and $f$ and $s$ for the argument of a $f$irst or of a $s$econd projection. Note also that we do not consider occurrences
under $\lambda$'s (since their type is frozen in their annotations) and type-cases (since they reset the analysis).\beppe{Is it what I wrote here true?}
The judgments $\Gamma\evdash e t \Gamma'$ are then deduced by the following two rules:
\begin{mathpar}
The judgments $\Gamma\evdash e t \Gamma'$ are then deduced by the following two rules: \begin{mathpar}
% \Infer[Base]
% { \Gamma \vdash e':t' }
% { \Gamma \cvdash p e t e':t' }
...
...
@@ -346,7 +350,6 @@ algorithmic viewpoint, this will imply the computation of a fix-point
judgements of the form $\pvdash{\Gamma} e t \varpi:t'$ where
$\varpi$ is a path to an expression occurring in $e$. This is given by the following set