Suppose we have a \(k\)-tuple \(\langle\bP_1, \ldots, \bP_k\rangle\) of partial relations, where for each \(i\) the arity of \(\bP_i\) matches that of the partial relation variable \(P_i\). This is our input (‘before’ values). For each \(i\) we want to define an output partial relation which we call \(\bP'_i\), of the same arity as \(\bP_i\), so that \(\langle\bP'_1, \ldots, \bP'_k\rangle\) serves as our overall output (‘after’ values). To do this we must say when \(\bP'_i(\bd)\) maps to \({\textsf{t}}\), when it maps to \({\textsf{f}}\), and when it is undefined, for each \(\bd\) with components from \(\bD\). Well, take \(v\) to be a valuation assigning to each auxiliary relation symbol \(P_i\) the corresponding partial relation \(\bP_i\) (this is how ‘before’ values for our partial relation symbols come in), and assigning to the variables in \(\bx_i\) the corresponding members of \(\bd\). Now, simply let \(\bP'_i(\bd)\simeq T_v(\phi_i)\). In this way a new partial relation \(\bP'_i\) is specified, and more generally a vector of them, \(\langle\bP'_1, \ldots, \bP'_k\rangle\). The set of equations \(E\) can be thought of as specifying a functional transforming \(k\)-tuple \(\langle\bP_1, \ldots, \bP_k\rangle\) into \(\langle\bP'_1, \ldots, \bP'_k\rangle\). Let us call this functional \([E]\), and write \([E](\langle\bP_1, \ldots, \bP_k\rangle) = \langle\bP'_1, \ldots, \bP'_k\rangle\).