fact: Definition semidirect_product A B := if A :&: B \subset 1%G then partial_product A B else set0.
imports: HB(structures) mathcomp(ssreflect ssrbool ssrfun eqtype ssrnat seq div) mathcomp(choice fintype bigop finset fingroup morphism) mathcomp(quotient action)