Groupoid Semigroup And Category Theory