Category theory formalizes mathematical structure and its concepts in terms of a collection of objects and of arrows (also called morphisms). A category has two basic properties: the ability to compose the arrows associatively and the existence of an identity arrow for each object. Category theory can be used to formalize concepts of other high-level abstractions such as sets, rings, and groups.