For decades my colleague, Guy Blelloch, and I have promoted a grand synthesis of the two “theories” of computer science, combinatorial theory and logical theory. It is only a small exaggeration to say that these two schools of thought work in isolation. The combinatorial theorists concern themselves with efficiency, based on hypothetical translations of high-level algorithms […]