GAP:IsTGroup

Function type
This function takes as input a group and outputs a boolean variable (true/false).

Behavior
The behavior is as follows:


 * If the group is a T-group, i.e., if every normal subgroup of a normal subgroup is normal, then the function returns true.
 * If the group is not a T-group, i.e., if there exists a normal subgroup of a normal subgroup that is not normal, then the function returns false.

Typical use
The typical use is as follows:

IsTGroup(group);

Related functions

 * GAP:IsTransitiveWithBigGroup: A general function to test whether a given subgroup property is transitive relative to a particular big group.
 * GAP:IsTransitiveInAllSubgroupsOfGroup: A general function to test whether a given subgroup property is transitive relative to all subgroups of a particular big group.
 * GAP:IsTStarGroup: Tests whether a group is a T*-group.
 * GAP:IsPTGroup

Code
IsTGroup := function(G) return(ForAll(NormalSubgroups(G),H -> ForAll(NormalSubgroups(H), K -> IsNormal(G,K)))); end;;