Combinatorics and Reasoning