집합 [math(G)] 위에 닫혀있는 이항연산 [math(* : G\times G \to G)][1]이 결합법칙 [math(a*\left(b*c\right)=\left(a*b\right)*c)] 를 만족하면, 순서쌍 [math(\left(G,*\right))]를 반군(半群, Semigroup)이라 부른다. 여기서 결합법칙마저 빠지면 마그마(Magma)가 된다.
(예) 양의 정수와 덧셈은 반군을 이룬다. 여기서 ([math(0)]을 자연수로 본다면) 양의 정수의 집합 내에 덧셈의 항등원 [math(0)]이 없음을 알 수 있다.
다만 반군만으로는 쓸만한 성질이 없기 때문에, 대개는 항등원 [math(e\in G)][2]가 존재함을 추가로 가정해, [math(\left(G,*\right))]를 모노이드(monoid)로 만들어 다루기도 한다.
대표적인 반군으로 자연수 [math(\mathbb N)]가 있다. 이 때 연산은 더하기나 곱하기 중 원하는 것 하나로 주어진다.
[1] [math(G)]의 두 원소 [math(a)], [math(b)]를 받아 [math(G)] 내에 있는 어떤 값 [math(a*b)]를 내놓는 함수.[2] [math(G)]의 임의의 원소 [math(a)]에 대해 [math(a*e = e*a = a)] 라는 성질을 만족하는 특수한 원소.