A solving strategy that works like this: 1. yesExamples := examples where output is not empty 2. noExamples := examples where output is empty 3. subsolve: find predicate to distinguish between yes and no examples 4. subsolve: find solution for yes examples 5. combine results of 3 and 4