Groupoid Semigroup And Category Definition