IsNrMultiplication( G, mul )  
The arguments of the function Is-Nr-Mul-ti-pli-ca-tion are a 
permutation group G and a GAP function mul which has two 
arguments x and y which must both be elements of the group 
G and returns an element z of G s.t. mul defines a 
binary operation on G.
IsNrMultiplication returns true (false) if mul is 
(is not) a near-ring multiplication on G i.e. it checks whether it is 
well-defined, associative and right distributive over the group operation of 
G.
gap> g := Group( (1,2), (1,2,3) ); Group( (1,2), (1,2,3) ) gap> mul_r := function(x,y) return x; end; function ( x, y ) ... end gap> IsNrMultiplication( g, mul_r ); true gap> mul_l := function(x,y) return y; end; function ( x, y ) ... end gap> IsNrMultiplication( g, mul_l ); specified multiplication is not right distributive. false
GAP 3.4.4