先輩「じゃあ、まず群の定義から入ろうか、
Gクラス(コレクション型)の要素 a, b に対して 要素同士を引数とするメソッドfooが実装され(例 ab = foo(a, b))
かつそれが foo(a, b) でも foo(b, a) でも同じ戻り値を返し
かつ任意のGの要素a に対して foo(a, e) == a を満たす e が存在し、
かつすべてのGの要素a のそれぞれが、それぞれに対してfoo(a, b) == e となる b(右逆元) が存在するとき、
G は群である!
言い換えるとGクラスに上記の仕様を満たすメソッドfoo(郡インターフェース)を実装すれば群として扱うことができる」