@@ -21769,7 +21769,7 @@ \subsection{Subtypes}
2176921769may arise during static analysis due to type promotion
2177021770(\ref{typePromotion}).
2177121771They never occur during execution,
21772- and there are many other restrictions on where they can occur
21772+ and there are several other restrictions on where they can occur
2177321773(\ref{intersectionTypes}).
2177421774However, their subtype relations are specified without restrictions.
2177521775\commentary{%
@@ -23496,9 +23496,6 @@ \section*{Appendix: Algorithmic Subtyping}
2349623496with good performance.
2349723497
2349823498\LMHash{}%
23499- In this algorithm, types are considered to be the same when they have
23500- the same canonical syntax
23501- (\ref{theCanonicalSyntaxOfTypes}).
2350223499The algorithm must be performed such that the first case that matches
2350323500is always the case which is performed.
2350423501The algorithm produces results which are both positive and negative
@@ -23672,8 +23669,11 @@ \section*{Appendix: Algorithmic Subtyping}
2367223669 \item \SubtypeNE{[Z_0/Y_0, \ldots, Z_k/Y_k]S_i}{[Z_0/X_0, \ldots, Z_k/X_k]V_i}
2367323670 for $i \in 0 .. q$.
2367423671 \item \SubtypeNE{[Z_0/X_0, \ldots, Z_k/X_k]U_0}{[Z_0/Y_0, \ldots, Z_k/Y_k]U_1}.
23675- \item $[Z_0/X_0, \ldots, Z_k/X_k]B_{0i}$ and $[Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}$
23676- have the same canonical syntax, for $i \in 0 .. k$.
23672+ \item
23673+ \MutualSubtypeNE{%
23674+ [Z_0/X_0, \ldots, Z_k/X_k]B_{0i}}{%
23675+ [Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}},
23676+ for $i \in 0 .. k$.
2367723677 \end{itemize}
2367823678\item
2367923679 \textbf{Named Function Types:}
@@ -23713,8 +23713,9 @@ \section*{Appendix: Algorithmic Subtyping}
2371323713 \item
2371423714 \SubtypeNE{[Z_0/X_0, \ldots, Z_k/X_k]U_0}{[Z_0/Y_0, \ldots, Z_k/Y_k]U_1}.
2371523715 \item
23716- $[Z_0/X_0, \ldots, Z_k/X_k]B_{0i}$ and $[Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}$
23717- have the same canonical syntax,
23716+ \MutualSubtypeNE{%
23717+ [Z_0/X_0, \ldots, Z_k/X_k]B_{0i}}{%
23718+ [Z_0/Y_0, \ldots, Z_k/Y_k]B_{1i}},
2371823719 for each $i \in 0 .. k$.
2371923720 \end{itemize}
2372023721
0 commit comments