| TaskDef condition | Violating example | Rationale |
|---|
| τout∈/\dom(Σ) | A=alpha();\pagecolorred!30!whiteA=beta(); | Cannot redefine output entity types. |
| Eout∩D=∅ | A<i>=alpha();B<\pagecolorred!30!whitei>=beta(); | Cannot redefine dimensions. |
| ∣Eout∣≤1 | A<i,\pagecolorred!30!whitej>=alpha(); | Must output at most one dimension. |
| τin, i∈\dom(Σ) | A=alpha(\pagecolorred!30!whiteB);B=beta(); | Must define input entities before use. |
| Ein, i⊆Σ(τin, i) | A<i>=alpha();B=beta(A<i,\pagecolorred!30!whitej>); | Can only collect input entities across the characterizing dimensions. Here, Ein, 0={i,j}⊆Σ(A)={i} . |
| Σ(τin, i)∖Ein, iclosed under ≺ | A<i>=alpha();B<j>=beta(A)fori;C=gamma(\pagecolorred!30!whiteB<i>)forj; | Cannot collect across parent dimensions while leaving some child dimensions free. We have Σ(B)={i,j} with i≺j , and collecting B over Ein, 0={i} would result in a nonsense list with null values. |