Section Clifford.
Variables (gT : finGroupType) (G H : {group gT}).
Hypothesis nsHG : H <| G.
Variables (n : nat) (rG : mx_representation F G n).
Let sHG := normal_sub nsHG.
Let nHG := normal_norm nsHG.
Let rH := subg_repr rG sHG.
Hypothesis irrG : mx_irreducible rG.
Variable sH : socleType rH.
Definition Clifford_act (W : sH) x :=
let Gx := subgP (subg G x) in
PackSocle (component_socle sH (Clifford_simple (socle_simple W) Gx)).
Let valWact W x : (Clifford_act W x :=: W *m rG (sgval (subg G x)))%MS.
Fact Clifford_is_action : is_action G Clifford_act.
Definition Clifford_action := Action Clifford_is_action.
Local Notation "'Cl" := Clifford_action (at level 8) : action_scope.

Lemma Clifford_rank_components (W : sH) : (#|sH| * \rank W)%N = n.