`Ts = Pass(op, Ts`_{1}, Ps_{1}, …, Ts_{n}, Ps_{n})

, where:
`op` is the operator along with any arguments | |

`Ts` is the set of tuples that have arrived from the i-th input | |

`Ps` is the set of punctuation that has arrived from the i-th input | |

`Ts` is the set of tuples that can be output from the operator. |

`op(Ts`_{1}, …, Ts_{n})

. Note
that pass invariants define all tuples so far that can be output. In practice, pass
invariants are implemented incrementally, to calculate additional tuples based
on each new tuple or punctuation received. We explore two operators: Set Difference and Sort.
Formally, the pass invariant for set difference is:

`Pass(SetDiff, Ts` |

Formally, the pass invariant for sort is:

`Pass(Sort` | ||

```
Initial(SortA, Ps) = maximal contiguous subset Ps' of Ps |
``` |

*Last modified by Pete Tucker on 26 August 2005.*