The function GroupOps.SemidirectProduct constructs the semidirect
product as a group of semidirect product elements. In the following let
G, a, and H be the arguments of SemidirectProduct.
Each such element (g,h) is represented by a record with the
following components.
element:[ g, h ].
automorphism:
isGroupElement:true.
isSemidirectProductElement:true.
domain:GroupElements.
operations:SemidirectProductOps.
The operations of semidirect product elements in done in the obvious way.
GAP 3.4.4