Note: this section is a work in progress!

[1] We assume that we have previously defined a function is_prime that tests whether numbers are prime. Even with is_prime defined, the prime_sum_pair function may look suspiciously like the unhelpful pseudo-JavaScript attempt to define the square-root function, which we described at the beginning of section 1.1.7. In fact, a square-root function along those lines can actually be formulated as a nondeterministic program. By incorporating a search mechanism into the evaluator, we are eroding the distinction between purely declarative descriptions and imperative specifications of how to compute answers. We'll go even farther in this direction in section 4.4.
4.3 Nondeterministic Computing