3. Synthesis algorithm: Most of these algorithms work by applying divide-and-conquer deductive techniques that systematically reduce the problem to the synthesis of subexpressions of the original expression (by translating the examples for the expression to the examples for the sub-expressions).