GAP:IsTransitiveWithBigGroup

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

Behavior
The function takes as input a group $$G$$ and a subgroup property and behaves as follows:


 * If whenever $$K \le H \le G$$ are subgroups such that $$K$$ has property $$p$$ in $$H$$ and $$H$$ has proeprty $$p$$ in $$G$$, then $$K$$ has property $$p$$ in $$G$$, the function returns true
 * If GAP is able to find a counterexample, i.e., subgroups $$K \le H \le G$$ such that $$K$$ has property $$p$$ in $$H$$ and $$H$$ has property $$p$$ in G, but $$K$$ does not have property $$p$$ in $$G$$, GAP returns false.

Code
ConjugacyClassSubgroupReps := function(G) return(List(ConjugacyClassesSubgroups(G),Representative)); end;;

ConjugacyClassSubgroupRepsByProperty := function(G,p) return(Filtered(ConjugacyClassSubgroupReps(G), H -> p(G,H))); end;;

IsTransitiveWithBigGroup := function(G,p) return(ForAll(ConjugacyClassSubgroupRepsByProperty(G,p),H -> ForAll(ConjugacyClassSubgroupRepsByProperty(H,p), K -> p(G,K)))); end;;