Category Logic and Reasoning