From 748d716efb2f2f75946c8386e441ce1789806a39 Mon Sep 17 00:00:00 2001 From: Enrico Tassi Date: Wed, 22 May 2019 13:43:08 +0200 Subject: htmldoc regenerated --- docs/htmldoc/mathcomp.fingroup.action.html | 1100 ++++++++++++++-------------- 1 file changed, 546 insertions(+), 554 deletions(-) (limited to 'docs/htmldoc/mathcomp.fingroup.action.html') diff --git a/docs/htmldoc/mathcomp.fingroup.action.html b/docs/htmldoc/mathcomp.fingroup.action.html index 4531510..578c356 100644 --- a/docs/htmldoc/mathcomp.fingroup.action.html +++ b/docs/htmldoc/mathcomp.fingroup.action.html @@ -21,7 +21,6 @@
(* (c) Copyright 2006-2016 Microsoft Corporation and Inria.                  
 Distributed under the terms of CeCILL-B.                                  *)

-Require Import mathcomp.ssreflect.ssreflect.

@@ -151,23 +150,23 @@ Section ActionDef.

-Variables (aT : finGroupType) (D : {set aT}) (rT : Type).
+Variables (aT : finGroupType) (D : {set aT}) (rT : Type).
Implicit Types a b : aT.
Implicit Type x : rT.

-Definition act_morph to x := a b, to x (a × b) = to (to x a) b.
+Definition act_morph to x := a b, to x (a × b) = to (to x a) b.

Definition is_action to :=
-  left_injective to x, {in D &, act_morph to x}.
+  left_injective to x, {in D &, act_morph to x}.

-Record action := Action {act :> rT aT rT; _ : is_action act}.
+Record action := Action {act :> rT aT rT; _ : is_action act}.

Definition clone_action to :=
-  let: Action _ toP := to return {type of Action for to} action in
+  let: Action _ toP := to return {type of Action for to} action in
  fun kk toP.

@@ -183,11 +182,11 @@ Delimit Scope action_scope with act.

-Notation "{ 'action' aT &-> T }" := (action [set: aT] T)
+Notation "{ 'action' aT &-> T }" := (action [set: aT] T)
  (at level 0, format "{ 'action' aT &-> T }") : type_scope.

-Notation "[ 'action' 'of' to ]" := (clone_action (@Action _ _ _ to))
+Notation "[ 'action' 'of' to ]" := (clone_action (@Action _ _ _ to))
  (at level 0, format "[ 'action' 'of' to ]") : form_scope.

@@ -197,8 +196,8 @@ Section TotalAction.

-Variables (aT : finGroupType) (rT : Type) (to : rT aT rT).
-Hypotheses (to1 : to^~ 1 =1 id) (toM : x, act_morph to x).
+Variables (aT : finGroupType) (rT : Type) (to : rT aT rT).
+Hypotheses (to1 : to^~ 1 =1 id) (toM : x, act_morph to x).

Lemma is_total_action : is_action setT to.
@@ -213,47 +212,47 @@ Section ActionDefs.

-Variables (aT aT' : finGroupType) (D : {set aT}) (D' : {set aT'}).
+Variables (aT aT' : finGroupType) (D : {set aT}) (D' : {set aT'}).

Definition morph_act rT rT' (to : action D rT) (to' : action D' rT') f fA :=
-   x a, f (to x a) = to' (f x) (fA a).
+   x a, f (to x a) = to' (f x) (fA a).

Variable rT : finType. (* Most definitions require a finType structure on rT *)
Implicit Type to : action D rT.
-Implicit Type A : {set aT}.
-Implicit Type S : {set rT}.
+Implicit Type A : {set aT}.
+Implicit Type S : {set rT}.

-Definition actm to a := if a \in D then to^~ a else id.
+Definition actm to a := if a \in D then to^~ a else id.

-Definition setact to S a := [set to x a | x in S].
+Definition setact to S a := [set to x a | x in S].

-Definition orbit to A x := to x @: A.
+Definition orbit to A x := to x @: A.

-Definition amove to A x y := [set a in A | to x a == y].
+Definition amove to A x y := [set a in A | to x a == y].

-Definition afix to A := [set x | A \subset [set a | to x a == x]].
+Definition afix to A := [set x | A \subset [set a | to x a == x]].

-Definition astab S to := D :&: [set a | S \subset [set x | to x a == x]].
+Definition astab S to := D :&: [set a | S \subset [set x | to x a == x]].

-Definition astabs S to := D :&: [set a | S \subset to^~ a @^-1: S].
+Definition astabs S to := D :&: [set a | S \subset to^~ a @^-1: S].

-Definition acts_on A S to := {in A, a x, (to x a \in S) = (x \in S)}.
+Definition acts_on A S to := {in A, a x, (to x a \in S) = (x \in S)}.

-Definition atrans A S to := S \in orbit to A @: S.
+Definition atrans A S to := S \in orbit to A @: S.

-Definition faithful A S to := A :&: astab S to \subset [1].
+Definition faithful A S to := A :&: astab S to \subset [1].

End ActionDefs.
@@ -261,12 +260,12 @@

-Notation "to ^*" := (setact to) (at level 2, format "to ^*") : fun_scope.
+Notation "to ^*" := (setact to) (at level 2, format "to ^*") : fun_scope.


-Notation "''Fix_' to ( A )" := (afix to A)
+Notation "''Fix_' to ( A )" := (afix to A)
 (at level 8, to at level 2, format "''Fix_' to ( A )") : group_scope.

@@ -276,63 +275,63 @@ camlp4 grammar factoring
-Notation "''Fix_' ( to ) ( A )" := 'Fix_to(A)
+Notation "''Fix_' ( to ) ( A )" := 'Fix_to(A)
  (at level 8, only parsing) : group_scope.

-Notation "''Fix_' ( S | to ) ( A )" := (S :&: 'Fix_to(A))
+Notation "''Fix_' ( S | to ) ( A )" := (S :&: 'Fix_to(A))
 (at level 8, format "''Fix_' ( S | to ) ( A )") : group_scope.

-Notation "''Fix_' to [ a ]" := ('Fix_to([set a]))
+Notation "''Fix_' to [ a ]" := ('Fix_to([set a]))
 (at level 8, to at level 2, format "''Fix_' to [ a ]") : group_scope.

-Notation "''Fix_' ( S | to ) [ a ]" := (S :&: 'Fix_to[a])
+Notation "''Fix_' ( S | to ) [ a ]" := (S :&: 'Fix_to[a])
 (at level 8, format "''Fix_' ( S | to ) [ a ]") : group_scope.

-Notation "''C' ( S | to )" := (astab S to)
+Notation "''C' ( S | to )" := (astab S to)
 (at level 8, format "''C' ( S | to )") : group_scope.

-Notation "''C_' A ( S | to )" := (A :&: 'C(S | to))
+Notation "''C_' A ( S | to )" := (A :&: 'C(S | to))
 (at level 8, A at level 2, format "''C_' A ( S | to )") : group_scope.
-Notation "''C_' ( A ) ( S | to )" := 'C_A(S | to)
+Notation "''C_' ( A ) ( S | to )" := 'C_A(S | to)
  (at level 8, only parsing) : group_scope.

-Notation "''C' [ x | to ]" := ('C([set x] | to))
+Notation "''C' [ x | to ]" := ('C([set x] | to))
 (at level 8, format "''C' [ x | to ]") : group_scope.

-Notation "''C_' A [ x | to ]" := (A :&: 'C[x | to])
+Notation "''C_' A [ x | to ]" := (A :&: 'C[x | to])
  (at level 8, A at level 2, format "''C_' A [ x | to ]") : group_scope.
-Notation "''C_' ( A ) [ x | to ]" := 'C_A[x | to]
+Notation "''C_' ( A ) [ x | to ]" := 'C_A[x | to]
  (at level 8, only parsing) : group_scope.

-Notation "''N' ( S | to )" := (astabs S to)
+Notation "''N' ( S | to )" := (astabs S to)
  (at level 8, format "''N' ( S | to )") : group_scope.

-Notation "''N_' A ( S | to )" := (A :&: 'N(S | to))
+Notation "''N_' A ( S | to )" := (A :&: 'N(S | to))
  (at level 8, A at level 2, format "''N_' A ( S | to )") : group_scope.

-Notation "[ 'acts' A , 'on' S | to ]" := (A \subset pred_of_set 'N(S | to))
+Notation "[ 'acts' A , 'on' S | to ]" := (A \subset pred_of_set 'N(S | to))
  (at level 0, format "[ 'acts' A , 'on' S | to ]") : form_scope.

-Notation "{ 'acts' A , 'on' S | to }" := (acts_on A S to)
+Notation "{ 'acts' A , 'on' S | to }" := (acts_on A S to)
  (at level 0, format "{ 'acts' A , 'on' S | to }") : form_scope.

-Notation "[ 'transitive' A , 'on' S | to ]" := (atrans A S to)
+Notation "[ 'transitive' A , 'on' S | to ]" := (atrans A S to)
  (at level 0, format "[ 'transitive' A , 'on' S | to ]") : form_scope.

-Notation "[ 'faithful' A , 'on' S | to ]" := (faithful A S to)
+Notation "[ 'faithful' A , 'on' S | to ]" := (faithful A S to)
  (at level 0, format "[ 'faithful' A , 'on' S | to ]") : form_scope.

@@ -348,158 +347,158 @@

-Variables (aT : finGroupType) (D : {set aT}) (rT : finType) (to : action D rT).
+Variables (aT : finGroupType) (D : {set aT}) (rT : finType) (to : action D rT).

-Implicit Types (a : aT) (x y : rT) (A B : {set aT}) (S T : {set rT}).
+Implicit Types (a : aT) (x y : rT) (A B : {set aT}) (S T : {set rT}).

-Lemma act_inj : left_injective to.
+Lemma act_inj : left_injective to.

-Lemma actMin x : {in D &, act_morph to x}.
+Lemma actMin x : {in D &, act_morph to x}.

-Lemma actmEfun a : a \in D actm to a = to^~ a.
+Lemma actmEfun a : a \in D actm to a = to^~ a.

-Lemma actmE a : a \in D actm to a =1 to^~ a.
+Lemma actmE a : a \in D actm to a =1 to^~ a.

-Lemma setactE S a : to^* S a = [set to x a | x in S].
+Lemma setactE S a : to^* S a = [set to x a | x in S].

-Lemma mem_setact S a x : x \in S to x a \in to^* S a.
+Lemma mem_setact S a x : x \in S to x a \in to^* S a.

-Lemma card_setact S a : #|to^* S a| = #|S|.
+Lemma card_setact S a : #|to^* S a| = #|S|.

-Lemma setact_is_action : is_action D to^*.
+Lemma setact_is_action : is_action D to^*.

Canonical set_action := Action setact_is_action.

-Lemma orbitE A x : orbit to A x = to x @: A.
+Lemma orbitE A x : orbit to A x = to x @: A.

Lemma orbitP A x y :
-  reflect (exists2 a, a \in A & to x a = y) (y \in orbit to A x).
+  reflect (exists2 a, a \in A & to x a = y) (y \in orbit to A x).

-Lemma mem_orbit A x a : a \in A to x a \in orbit to A x.
+Lemma mem_orbit A x a : a \in A to x a \in orbit to A x.

-Lemma afixP A x : reflect ( a, a \in A to x a = x) (x \in 'Fix_to(A)).
+Lemma afixP A x : reflect ( a, a \in A to x a = x) (x \in 'Fix_to(A)).

-Lemma afixS A B : A \subset B 'Fix_to(B) \subset 'Fix_to(A).
+Lemma afixS A B : A \subset B 'Fix_to(B) \subset 'Fix_to(A).

-Lemma afixU A B : 'Fix_to(A :|: B) = 'Fix_to(A) :&: 'Fix_to(B).
+Lemma afixU A B : 'Fix_to(A :|: B) = 'Fix_to(A) :&: 'Fix_to(B).

-Lemma afix1P a x : reflect (to x a = x) (x \in 'Fix_to[a]).
+Lemma afix1P a x : reflect (to x a = x) (x \in 'Fix_to[a]).

-Lemma astabIdom S : 'C_D(S | to) = 'C(S | to).
+Lemma astabIdom S : 'C_D(S | to) = 'C(S | to).

-Lemma astab_dom S : {subset 'C(S | to) D}.
+Lemma astab_dom S : {subset 'C(S | to) D}.

-Lemma astab_act S a x : a \in 'C(S | to) x \in S to x a = x.
+Lemma astab_act S a x : a \in 'C(S | to) x \in S to x a = x.

-Lemma astabS S1 S2 : S1 \subset S2 'C(S2 | to) \subset 'C(S1 | to).
+Lemma astabS S1 S2 : S1 \subset S2 'C(S2 | to) \subset 'C(S1 | to).

-Lemma astabsIdom S : 'N_D(S | to) = 'N(S | to).
+Lemma astabsIdom S : 'N_D(S | to) = 'N(S | to).

-Lemma astabs_dom S : {subset 'N(S | to) D}.
+Lemma astabs_dom S : {subset 'N(S | to) D}.

-Lemma astabs_act S a x : a \in 'N(S | to) (to x a \in S) = (x \in S).
+Lemma astabs_act S a x : a \in 'N(S | to) (to x a \in S) = (x \in S).

-Lemma astab_sub S : 'C(S | to) \subset 'N(S | to).
+Lemma astab_sub S : 'C(S | to) \subset 'N(S | to).

-Lemma astabsC S : 'N(~: S | to) = 'N(S | to).
+Lemma astabsC S : 'N(~: S | to) = 'N(S | to).

-Lemma astabsI S T : 'N(S | to) :&: 'N(T | to) \subset 'N(S :&: T | to).
+Lemma astabsI S T : 'N(S | to) :&: 'N(T | to) \subset 'N(S :&: T | to).

-Lemma astabs_setact S a : a \in 'N(S | to) to^* S a = S.
+Lemma astabs_setact S a : a \in 'N(S | to) to^* S a = S.

-Lemma astab1_set S : 'C[S | set_action] = 'N(S | to).
+Lemma astab1_set S : 'C[S | set_action] = 'N(S | to).

-Lemma astabs_set1 x : 'N([set x] | to) = 'C[x | to].
+Lemma astabs_set1 x : 'N([set x] | to) = 'C[x | to].

-Lemma acts_dom A S : [acts A, on S | to] A \subset D.
+Lemma acts_dom A S : [acts A, on S | to] A \subset D.

-Lemma acts_act A S : [acts A, on S | to] {acts A, on S | to}.
+Lemma acts_act A S : [acts A, on S | to] {acts A, on S | to}.

Lemma astabCin A S :
-  A \subset D (A \subset 'C(S | to)) = (S \subset 'Fix_to(A)).
+  A \subset D (A \subset 'C(S | to)) = (S \subset 'Fix_to(A)).

Section ActsSetop.

-Variables (A : {set aT}) (S T : {set rT}).
-Hypotheses (AactS : [acts A, on S | to]) (AactT : [acts A, on T | to]).
+Variables (A : {set aT}) (S T : {set rT}).
+Hypotheses (AactS : [acts A, on S | to]) (AactT : [acts A, on T | to]).

-Lemma astabU : 'C(S :|: T | to) = 'C(S | to) :&: 'C(T | to).
+Lemma astabU : 'C(S :|: T | to) = 'C(S | to) :&: 'C(T | to).

-Lemma astabsU : 'N(S | to) :&: 'N(T | to) \subset 'N(S :|: T | to).
+Lemma astabsU : 'N(S | to) :&: 'N(T | to) \subset 'N(S :|: T | to).

-Lemma astabsD : 'N(S | to) :&: 'N(T | to) \subset 'N(S :\: T| to).
+Lemma astabsD : 'N(S | to) :&: 'N(T | to) \subset 'N(S :\: T| to).

-Lemma actsI : [acts A, on S :&: T | to].
+Lemma actsI : [acts A, on S :&: T | to].

-Lemma actsU : [acts A, on S :|: T | to].
+Lemma actsU : [acts A, on S :|: T | to].

-Lemma actsD : [acts A, on S :\: T | to].
+Lemma actsD : [acts A, on S :\: T | to].

End ActsSetop.

Lemma acts_in_orbit A S x y :
-  [acts A, on S | to] y \in orbit to A x x \in S y \in S.
+  [acts A, on S | to] y \in orbit to A x x \in S y \in S.

Lemma subset_faithful A B S :
-  B \subset A [faithful A, on S | to] [faithful B, on S | to].
+  B \subset A [faithful A, on S | to] [faithful B, on S | to].

Section Reindex.

-Variables (vT : Type) (idx : vT) (op : Monoid.com_law idx) (S : {set rT}).
+Variables (vT : Type) (idx : vT) (op : Monoid.com_law idx) (S : {set rT}).

-Lemma reindex_astabs a F : a \in 'N(S | to)
-  \big[op/idx]_(i in S) F i = \big[op/idx]_(i in S) F (to i a).
+Lemma reindex_astabs a F : a \in 'N(S | to)
+  \big[op/idx]_(i in S) F i = \big[op/idx]_(i in S) F (to i a).

-Lemma reindex_acts A a F : [acts A, on S | to] a \in A
-  \big[op/idx]_(i in S) F i = \big[op/idx]_(i in S) F (to i a).
+Lemma reindex_acts A a F : [acts A, on S | to] a \in A
+  \big[op/idx]_(i in S) F i = \big[op/idx]_(i in S) F (to i a).

End Reindex.
@@ -508,16 +507,9 @@ End RawAction.

-
- -
- Warning: this directive depends on names of bound variables in the - definition of injective, in ssrfun.v. -
-

-Notation "to ^*" := (set_action to) : action_scope.
+Notation "to ^*" := (set_action to) : action_scope.

@@ -533,233 +525,233 @@

-Variables (aT : finGroupType) (D : {group aT}) (rT : finType).
+Variables (aT : finGroupType) (D : {group aT}) (rT : finType).
Variable to : action D rT.

Implicit Types a : aT.
Implicit Types x y : rT.
-Implicit Types A B : {set aT}.
-Implicit Types G H : {group aT}.
-Implicit Types S : {set rT}.
+Implicit Types A B : {set aT}.
+Implicit Types G H : {group aT}.
+Implicit Types S : {set rT}.

-Lemma act1 x : to x 1 = x.
+Lemma act1 x : to x 1 = x.

-Lemma actKin : {in D, right_loop invg to}.
+Lemma actKin : {in D, right_loop invg to}.

-Lemma actKVin : {in D, rev_right_loop invg to}.
+Lemma actKVin : {in D, rev_right_loop invg to}.

-Lemma setactVin S a : a \in D to^* S a^-1 = to^~ a @^-1: S.
+Lemma setactVin S a : a \in D to^* S a^-1 = to^~ a @^-1: S.

-Lemma actXin x a i : a \in D to x (a ^+ i) = iter i (to^~ a) x.
+Lemma actXin x a i : a \in D to x (a ^+ i) = iter i (to^~ a) x.

-Lemma afix1 : 'Fix_to(1) = setT.
+Lemma afix1 : 'Fix_to(1) = setT.

-Lemma afixD1 G : 'Fix_to(G^#) = 'Fix_to(G).
+Lemma afixD1 G : 'Fix_to(G^#) = 'Fix_to(G).

-Lemma orbit_refl G x : x \in orbit to G x.
+Lemma orbit_refl G x : x \in orbit to G x.


-Lemma contra_orbit G x y : x \notin orbit to G y x != y.
+Lemma contra_orbit G x y : x \notin orbit to G y x != y.

-Lemma orbit_in_sym G : G \subset D symmetric (orbit_rel G).
+Lemma orbit_in_sym G : G \subset D symmetric (orbit_rel G).

-Lemma orbit_in_trans G : G \subset D transitive (orbit_rel G).
+Lemma orbit_in_trans G : G \subset D transitive (orbit_rel G).

Lemma orbit_in_eqP G x y :
-  G \subset D reflect (orbit to G x = orbit to G y) (x \in orbit to G y).
+  G \subset D reflect (orbit to G x = orbit to G y) (x \in orbit to G y).

Lemma orbit_in_transl G x y z :
-    G \subset D y \in orbit to G x
-  (y \in orbit to G z) = (x \in orbit to G z).
+    G \subset D y \in orbit to G x
+  (y \in orbit to G z) = (x \in orbit to G z).

Lemma orbit_act_in x a G :
-  G \subset D a \in G orbit to G (to x a) = orbit to G x.
+  G \subset D a \in G orbit to G (to x a) = orbit to G x.

Lemma orbit_actr_in x a G y :
-  G \subset D a \in G (to y a \in orbit to G x) = (y \in orbit to G x).
+  G \subset D a \in G (to y a \in orbit to G x) = (y \in orbit to G x).

Lemma orbit_inv_in A x y :
-  A \subset D (y \in orbit to A^-1 x) = (x \in orbit to A y).
+  A \subset D (y \in orbit to A^-1 x) = (x \in orbit to A y).

Lemma orbit_lcoset_in A a x :
-    A \subset D a \in D
-  orbit to (a *: A) x = orbit to A (to x a).
+    A \subset D a \in D
+  orbit to (a *: A) x = orbit to A (to x a).

Lemma orbit_rcoset_in A a x y :
-    A \subset D a \in D
-  (to y a \in orbit to (A :* a) x) = (y \in orbit to A x).
+    A \subset D a \in D
+  (to y a \in orbit to (A :* a) x) = (y \in orbit to A x).

Lemma orbit_conjsg_in A a x y :
-    A \subset D a \in D
-  (to y a \in orbit to (A :^ a) (to x a)) = (y \in orbit to A x).
+    A \subset D a \in D
+  (to y a \in orbit to (A :^ a) (to x a)) = (y \in orbit to A x).

-Lemma orbit1P G x : reflect (orbit to G x = [set x]) (x \in 'Fix_to(G)).
+Lemma orbit1P G x : reflect (orbit to G x = [set x]) (x \in 'Fix_to(G)).

-Lemma card_orbit1 G x : #|orbit to G x| = 1%N orbit to G x = [set x].
+Lemma card_orbit1 G x : #|orbit to G x| = 1%N orbit to G x = [set x].

Lemma orbit_partition G S :
-  [acts G, on S | to] partition (orbit to G @: S) S.
+  [acts G, on S | to] partition (orbit to G @: S) S.

-Definition orbit_transversal A S := transversal (orbit to A @: S) S.
+Definition orbit_transversal A S := transversal (orbit to A @: S) S.

-Lemma orbit_transversalP G S (P := orbit to G @: S)
+Lemma orbit_transversalP G S (P := orbit to G @: S)
                             (X := orbit_transversal G S) :
-  [acts G, on S | to]
[/\ is_transversal X P S, X \subset S,
-     {in X &, x y, (y \in orbit to G x) = (x == y)}
-   & x, x \in S exists2 a, a \in G & to x a \in X].
+  [acts G, on S | to]
[/\ is_transversal X P S, X \subset S,
+     {in X &, x y, (y \in orbit to G x) = (x == y)}
+   & x, x \in S exists2 a, a \in G & to x a \in X].

-Lemma group_set_astab S : group_set 'C(S | to).
+Lemma group_set_astab S : group_set 'C(S | to).

Canonical astab_group S := group (group_set_astab S).

-Lemma afix_gen_in A : A \subset D 'Fix_to(<<A>>) = 'Fix_to(A).
+Lemma afix_gen_in A : A \subset D 'Fix_to(<<A>>) = 'Fix_to(A).

-Lemma afix_cycle_in a : a \in D 'Fix_to(<[a]>) = 'Fix_to[a].
+Lemma afix_cycle_in a : a \in D 'Fix_to(<[a]>) = 'Fix_to[a].

Lemma afixYin A B :
-  A \subset D B \subset D 'Fix_to(A <*> B) = 'Fix_to(A) :&: 'Fix_to(B).
+  A \subset D B \subset D 'Fix_to(A <*> B) = 'Fix_to(A) :&: 'Fix_to(B).

Lemma afixMin G H :
-  G \subset D H \subset D 'Fix_to(G × H) = 'Fix_to(G) :&: 'Fix_to(H).
+  G \subset D H \subset D 'Fix_to(G × H) = 'Fix_to(G) :&: 'Fix_to(H).

Lemma sub_astab1_in A x :
-  A \subset D (A \subset 'C[x | to]) = (x \in 'Fix_to(A)).
+  A \subset D (A \subset 'C[x | to]) = (x \in 'Fix_to(A)).

-Lemma group_set_astabs S : group_set 'N(S | to).
+Lemma group_set_astabs S : group_set 'N(S | to).

Canonical astabs_group S := group (group_set_astabs S).

-Lemma astab_norm S : 'N(S | to) \subset 'N('C(S | to)).
+Lemma astab_norm S : 'N(S | to) \subset 'N('C(S | to)).

-Lemma astab_normal S : 'C(S | to) <| 'N(S | to).
+Lemma astab_normal S : 'C(S | to) <| 'N(S | to).

Lemma acts_sub_orbit G S x :
-  [acts G, on S | to] (orbit to G x \subset S) = (x \in S).
+  [acts G, on S | to] (orbit to G x \subset S) = (x \in S).

-Lemma acts_orbit G x : G \subset D [acts G, on orbit to G x | to].
+Lemma acts_orbit G x : G \subset D [acts G, on orbit to G x | to].

-Lemma acts_subnorm_fix A : [acts 'N_D(A), on 'Fix_to(D :&: A) | to].
+Lemma acts_subnorm_fix A : [acts 'N_D(A), on 'Fix_to(D :&: A) | to].

-Lemma atrans_orbit G x : [transitive G, on orbit to G x | to].
+Lemma atrans_orbit G x : [transitive G, on orbit to G x | to].

Section OrbitStabilizer.

-Variables (G : {group aT}) (x : rT).
-Hypothesis sGD : G \subset D.
+Variables (G : {group aT}) (x : rT).
+Hypothesis sGD : G \subset D.
Let ssGD := subsetP sGD.

-Lemma amove_act a : a \in G amove to G x (to x a) = 'C_G[x | to] :* a.
+Lemma amove_act a : a \in G amove to G x (to x a) = 'C_G[x | to] :* a.

-Lemma amove_orbit : amove to G x @: orbit to G x = rcosets 'C_G[x | to] G.
+Lemma amove_orbit : amove to G x @: orbit to G x = rcosets 'C_G[x | to] G.

Lemma amoveK :
-  {in orbit to G x, cancel (amove to G x) (fun Cato x (repr Ca))}.
+  {in orbit to G x, cancel (amove to G x) (fun Cato x (repr Ca))}.

Lemma orbit_stabilizer :
-  orbit to G x = [set to x (repr Ca) | Ca in rcosets 'C_G[x | to] G].
+  orbit to G x = [set to x (repr Ca) | Ca in rcosets 'C_G[x | to] G].

Lemma act_reprK :
-  {in rcosets 'C_G[x | to] G, cancel (to x \o repr) (amove to G x)}.
+  {in rcosets 'C_G[x | to] G, cancel (to x \o repr) (amove to G x)}.

End OrbitStabilizer.

-Lemma card_orbit_in G x : G \subset D #|orbit to G x| = #|G : 'C_G[x | to]|.
+Lemma card_orbit_in G x : G \subset D #|orbit to G x| = #|G : 'C_G[x | to]|.

Lemma card_orbit_in_stab G x :
-  G \subset D (#|orbit to G x| × #|'C_G[x | to]|)%N = #|G|.
+  G \subset D (#|orbit to G x| × #|'C_G[x | to]|)%N = #|G|.

Lemma acts_sum_card_orbit G S :
-  [acts G, on S | to] \sum_(T in orbit to G @: S) #|T| = #|S|.
+  [acts G, on S | to] \sum_(T in orbit to G @: S) #|T| = #|S|.

-Lemma astab_setact_in S a : a \in D 'C(to^* S a | to) = 'C(S | to) :^ a.
+Lemma astab_setact_in S a : a \in D 'C(to^* S a | to) = 'C(S | to) :^ a.

-Lemma astab1_act_in x a : a \in D 'C[to x a | to] = 'C[x | to] :^ a.
+Lemma astab1_act_in x a : a \in D 'C[to x a | to] = 'C[x | to] :^ a.

-Theorem Frobenius_Cauchy G S : [acts G, on S | to]
-  \sum_(a in G) #|'Fix_(S | to)[a]| = (#|orbit to G @: S| × #|G|)%N.
+Theorem Frobenius_Cauchy G S : [acts G, on S | to]
+  \sum_(a in G) #|'Fix_(S | to)[a]| = (#|orbit to G @: S| × #|G|)%N.

Lemma atrans_dvd_index_in G S :
-  G \subset D [transitive G, on S | to] #|S| %| #|G : 'C_G(S | to)|.
+  G \subset D [transitive G, on S | to] #|S| %| #|G : 'C_G(S | to)|.

Lemma atrans_dvd_in G S :
-  G \subset D [transitive G, on S | to] #|S| %| #|G|.
+  G \subset D [transitive G, on S | to] #|S| %| #|G|.

Lemma atransPin G S :
-     G \subset D [transitive G, on S | to]
-   x, x \in S orbit to G x = S.
+     G \subset D [transitive G, on S | to]
+   x, x \in S orbit to G x = S.

Lemma atransP2in G S :
-    G \subset D [transitive G, on S | to]
-  {in S &, x y, exists2 a, a \in G & y = to x a}.
+    G \subset D [transitive G, on S | to]
+  {in S &, x y, exists2 a, a \in G & y = to x a}.

Lemma atrans_acts_in G S :
-  G \subset D [transitive G, on S | to] [acts G, on S | to].
+  G \subset D [transitive G, on S | to] [acts G, on S | to].

Lemma subgroup_transitivePin G H S x :
-     x \in S H \subset G G \subset D [transitive G, on S | to]
-  reflect ('C_G[x | to] × H = G) [transitive H, on S | to].
+     x \in S H \subset G G \subset D [transitive G, on S | to]
+  reflect ('C_G[x | to] × H = G) [transitive H, on S | to].

End PartialAction.
@@ -767,16 +759,16 @@

-Notation "''C' ( S | to )" := (astab_group to S) : Group_scope.
-Notation "''C_' A ( S | to )" := (setI_group A 'C(S | to)) : Group_scope.
-Notation "''C_' ( A ) ( S | to )" := (setI_group A 'C(S | to))
+Notation "''C' ( S | to )" := (astab_group to S) : Group_scope.
+Notation "''C_' A ( S | to )" := (setI_group A 'C(S | to)) : Group_scope.
+Notation "''C_' ( A ) ( S | to )" := (setI_group A 'C(S | to))
  (only parsing) : Group_scope.
-Notation "''C' [ x | to ]" := (astab_group to [set x%g]) : Group_scope.
-Notation "''C_' A [ x | to ]" := (setI_group A 'C[x | to]) : Group_scope.
-Notation "''C_' ( A ) [ x | to ]" := (setI_group A 'C[x | to])
+Notation "''C' [ x | to ]" := (astab_group to [set x%g]) : Group_scope.
+Notation "''C_' A [ x | to ]" := (setI_group A 'C[x | to]) : Group_scope.
+Notation "''C_' ( A ) [ x | to ]" := (setI_group A 'C[x | to])
  (only parsing) : Group_scope.
-Notation "''N' ( S | to )" := (astabs_group to S) : Group_scope.
-Notation "''N_' A ( S | to )" := (setI_group A 'N(S | to)) : Group_scope.
+Notation "''N' ( S | to )" := (astabs_group to S) : Group_scope.
+Notation "''N_' A ( S | to )" := (setI_group A 'N(S | to)) : Group_scope.

Section TotalActions.
@@ -791,139 +783,139 @@ Variable (aT : finGroupType) (rT : finType).

-Variable to : {action aT &-> rT}.
+Variable to : {action aT &-> rT}.

-Implicit Types (a b : aT) (x y z : rT) (A B : {set aT}) (G H : {group aT}).
-Implicit Type S : {set rT}.
+Implicit Types (a b : aT) (x y z : rT) (A B : {set aT}) (G H : {group aT}).
+Implicit Type S : {set rT}.

-Lemma actM x a b : to x (a × b) = to (to x a) b.
+Lemma actM x a b : to x (a × b) = to (to x a) b.

-Lemma actK : right_loop invg to.
+Lemma actK : right_loop invg to.

-Lemma actKV : rev_right_loop invg to.
+Lemma actKV : rev_right_loop invg to.

-Lemma actX x a n : to x (a ^+ n) = iter n (to^~ a) x.
+Lemma actX x a n : to x (a ^+ n) = iter n (to^~ a) x.

-Lemma actCJ a b x : to (to x a) b = to (to x b) (a ^ b).
+Lemma actCJ a b x : to (to x a) b = to (to x b) (a ^ b).

-Lemma actCJV a b x : to (to x a) b = to (to x (b ^ a^-1)) a.
+Lemma actCJV a b x : to (to x a) b = to (to x (b ^ a^-1)) a.

-Lemma orbit_sym G x y : (x \in orbit to G y) = (y \in orbit to G x).
+Lemma orbit_sym G x y : (x \in orbit to G y) = (y \in orbit to G x).

Lemma orbit_trans G x y z :
-  x \in orbit to G y y \in orbit to G z x \in orbit to G z.
+  x \in orbit to G y y \in orbit to G z x \in orbit to G z.

Lemma orbit_eqP G x y :
-  reflect (orbit to G x = orbit to G y) (x \in orbit to G y).
+  reflect (orbit to G x = orbit to G y) (x \in orbit to G y).

Lemma orbit_transl G x y z :
-  y \in orbit to G x (y \in orbit to G z) = (x \in orbit to G z).
+  y \in orbit to G x (y \in orbit to G z) = (x \in orbit to G z).

-Lemma orbit_act G a x: a \in G orbit to G (to x a) = orbit to G x.
+Lemma orbit_act G a x: a \in G orbit to G (to x a) = orbit to G x.

Lemma orbit_actr G a x y :
-  a \in G (to y a \in orbit to G x) = (y \in orbit to G x).
+  a \in G (to y a \in orbit to G x) = (y \in orbit to G x).

Lemma orbit_eq_mem G x y :
-  (orbit to G x == orbit to G y) = (x \in orbit to G y).
+  (orbit to G x == orbit to G y) = (x \in orbit to G y).

-Lemma orbit_inv A x y : (y \in orbit to A^-1 x) = (x \in orbit to A y).
+Lemma orbit_inv A x y : (y \in orbit to A^-1 x) = (x \in orbit to A y).

-Lemma orbit_lcoset A a x : orbit to (a *: A) x = orbit to A (to x a).
+Lemma orbit_lcoset A a x : orbit to (a *: A) x = orbit to A (to x a).

Lemma orbit_rcoset A a x y :
-  (to y a \in orbit to (A :* a) x) = (y \in orbit to A x).
+  (to y a \in orbit to (A :* a) x) = (y \in orbit to A x).

Lemma orbit_conjsg A a x y :
-  (to y a \in orbit to (A :^ a) (to x a)) = (y \in orbit to A x).
+  (to y a \in orbit to (A :^ a) (to x a)) = (y \in orbit to A x).

-Lemma astabP S a : reflect ( x, x \in S to x a = x) (a \in 'C(S | to)).
+Lemma astabP S a : reflect ( x, x \in S to x a = x) (a \in 'C(S | to)).

-Lemma astab1P x a : reflect (to x a = x) (a \in 'C[x | to]).
+Lemma astab1P x a : reflect (to x a = x) (a \in 'C[x | to]).

-Lemma sub_astab1 A x : (A \subset 'C[x | to]) = (x \in 'Fix_to(A)).
+Lemma sub_astab1 A x : (A \subset 'C[x | to]) = (x \in 'Fix_to(A)).

-Lemma astabC A S : (A \subset 'C(S | to)) = (S \subset 'Fix_to(A)).
+Lemma astabC A S : (A \subset 'C(S | to)) = (S \subset 'Fix_to(A)).

-Lemma afix_cycle a : 'Fix_to(<[a]>) = 'Fix_to[a].
+Lemma afix_cycle a : 'Fix_to(<[a]>) = 'Fix_to[a].

-Lemma afix_gen A : 'Fix_to(<<A>>) = 'Fix_to(A).
+Lemma afix_gen A : 'Fix_to(<<A>>) = 'Fix_to(A).

-Lemma afixM G H : 'Fix_to(G × H) = 'Fix_to(G) :&: 'Fix_to(H).
+Lemma afixM G H : 'Fix_to(G × H) = 'Fix_to(G) :&: 'Fix_to(H).

Lemma astabsP S a :
-  reflect ( x, (to x a \in S) = (x \in S)) (a \in 'N(S | to)).
+  reflect ( x, (to x a \in S) = (x \in S)) (a \in 'N(S | to)).

-Lemma card_orbit G x : #|orbit to G x| = #|G : 'C_G[x | to]|.
+Lemma card_orbit G x : #|orbit to G x| = #|G : 'C_G[x | to]|.

-Lemma dvdn_orbit G x : #|orbit to G x| %| #|G|.
+Lemma dvdn_orbit G x : #|orbit to G x| %| #|G|.

-Lemma card_orbit_stab G x : (#|orbit to G x| × #|'C_G[x | to]|)%N = #|G|.
+Lemma card_orbit_stab G x : (#|orbit to G x| × #|'C_G[x | to]|)%N = #|G|.

-Lemma actsP A S : reflect {acts A, on S | to} [acts A, on S | to].
+Lemma actsP A S : reflect {acts A, on S | to} [acts A, on S | to].

-Lemma setact_orbit A x b : to^* (orbit to A x) b = orbit to (A :^ b) (to x b).
+Lemma setact_orbit A x b : to^* (orbit to A x) b = orbit to (A :^ b) (to x b).

-Lemma astab_setact S a : 'C(to^* S a | to) = 'C(S | to) :^ a.
+Lemma astab_setact S a : 'C(to^* S a | to) = 'C(S | to) :^ a.

-Lemma astab1_act x a : 'C[to x a | to] = 'C[x | to] :^ a.
+Lemma astab1_act x a : 'C[to x a | to] = 'C[x | to] :^ a.

-Lemma atransP G S : [transitive G, on S | to]
-   x, x \in S orbit to G x = S.
+Lemma atransP G S : [transitive G, on S | to]
+   x, x \in S orbit to G x = S.

-Lemma atransP2 G S : [transitive G, on S | to]
-  {in S &, x y, exists2 a, a \in G & y = to x a}.
+Lemma atransP2 G S : [transitive G, on S | to]
+  {in S &, x y, exists2 a, a \in G & y = to x a}.

-Lemma atrans_acts G S : [transitive G, on S | to] [acts G, on S | to].
+Lemma atrans_acts G S : [transitive G, on S | to] [acts G, on S | to].

Lemma atrans_supgroup G H S :
-    G \subset H [transitive G, on S | to]
-  [transitive H, on S | to] = [acts H, on S | to].
+    G \subset H [transitive G, on S | to]
+  [transitive H, on S | to] = [acts H, on S | to].

Lemma atrans_acts_card G S :
-  [transitive G, on S | to] =
-     [acts G, on S | to] && (#|orbit to G @: S| == 1%N).
+  [transitive G, on S | to] =
+     [acts G, on S | to] && (#|orbit to G @: S| == 1%N).

-Lemma atrans_dvd G S : [transitive G, on S | to] #|S| %| #|G|.
+Lemma atrans_dvd G S : [transitive G, on S | to] #|S| %| #|G|.

@@ -932,12 +924,12 @@ This is Aschbacher (5.2)
-Lemma acts_fix_norm A B : A \subset 'N(B) [acts A, on 'Fix_to(B) | to].
+Lemma acts_fix_norm A B : A \subset 'N(B) [acts A, on 'Fix_to(B) | to].

Lemma faithfulP A S :
-  reflect ( a, a \in A {in S, to^~ a =1 id} a = 1)
-          [faithful A, on S | to].
+  reflect ( a, a \in A {in S, to^~ a =1 id} a = 1)
+          [faithful A, on S | to].

@@ -947,7 +939,7 @@
Lemma astab_trans_gcore G S u :
-  [transitive G, on S | to] u \in S 'C(S | to) = gcore 'C[u | to] G.
+  [transitive G, on S | to] u \in S 'C(S | to) = gcore 'C[u | to] G.

@@ -957,8 +949,8 @@
Theorem subgroup_transitiveP G H S x :
-     x \in S H \subset G [transitive G, on S | to]
-  reflect ('C_G[x | to] × H = G) [transitive H, on S | to].
+     x \in S H \subset G [transitive G, on S | to]
+  reflect ('C_G[x | to] × H = G) [transitive H, on S | to].

@@ -968,9 +960,9 @@
Lemma trans_subnorm_fixP x G H S :
-  let C := 'C_G[x | to] in let T := 'Fix_(S | to)(H) in
-    [transitive G, on S | to] x \in S H \subset C
-  reflect ((H :^: G) ::&: C = H :^: C) [transitive 'N_G(H), on T | to].
+  let C := 'C_G[x | to] in let T := 'Fix_(S | to)(H) in
+    [transitive G, on S | to] x \in S H \subset C
+  reflect ((H :^: G) ::&: C = H :^: C) [transitive 'N_G(H), on T | to].

End TotalActions.
@@ -981,14 +973,14 @@ Section Restrict.

-Variables (aT : finGroupType) (D : {set aT}) (rT : Type).
-Variables (to : action D rT) (A : {set aT}).
+Variables (aT : finGroupType) (D : {set aT}) (rT : Type).
+Variables (to : action D rT) (A : {set aT}).

-Definition ract of A \subset D := act to.
+Definition ract of A \subset D := act to.

-Variable sAD : A \subset D.
+Variable sAD : A \subset D.

Lemma ract_is_action : is_action A (ract sAD).
@@ -997,7 +989,7 @@ Canonical raction := Action ract_is_action.

-Lemma ractE : raction =1 to.
+Lemma ractE : raction =1 to.

@@ -1012,24 +1004,24 @@ End Restrict.

-Notation "to \ sAD" := (raction to sAD) (at level 50) : action_scope.
+Notation "to \ sAD" := (raction to sAD) (at level 50) : action_scope.

Section ActBy.

-Variables (aT : finGroupType) (D : {set aT}) (rT : finType).
+Variables (aT : finGroupType) (D : {set aT}) (rT : finType).

-Definition actby_cond (A : {set aT}) R (to : action D rT) : Prop :=
-  [acts A, on R | to].
+Definition actby_cond (A : {set aT}) R (to : action D rT) : Prop :=
+  [acts A, on R | to].

Definition actby A R to of actby_cond A R to :=
-  fun x aif (x \in R) && (a \in A) then to x a else x.
+  fun x aif (x \in R) && (a \in A) then to x a else x.

-Variables (A : {group aT}) (R : {set rT}) (to : action D rT).
+Variables (A : {group aT}) (R : {set rT}) (to : action D rT).
Hypothesis nRA : actby_cond A R to.

@@ -1039,52 +1031,52 @@ Canonical action_by := Action actby_is_action.

-Lemma actbyE x a : x \in R a \in A <[nRA]>%act x a = to x a.
+Lemma actbyE x a : x \in R a \in A <[nRA]>%act x a = to x a.

-Lemma afix_actby B : 'Fix_<[nRA]>(B) = ~: R :|: 'Fix_to(A :&: B).
+Lemma afix_actby B : 'Fix_<[nRA]>(B) = ~: R :|: 'Fix_to(A :&: B).

-Lemma astab_actby S : 'C(S | <[nRA]>) = 'C_A(R :&: S | to).
+Lemma astab_actby S : 'C(S | <[nRA]>) = 'C_A(R :&: S | to).

-Lemma astabs_actby S : 'N(S | <[nRA]>) = 'N_A(R :&: S | to).
+Lemma astabs_actby S : 'N(S | <[nRA]>) = 'N_A(R :&: S | to).

-Lemma acts_actby (B : {set aT}) S :
-  [acts B, on S | <[nRA]>] = (B \subset A) && [acts B, on R :&: S | to].
+Lemma acts_actby (B : {set aT}) S :
+  [acts B, on S | <[nRA]>] = (B \subset A) && [acts B, on R :&: S | to].

End ActBy.

-Notation "<[ nRA ] >" := (action_by nRA) : action_scope.
+Notation "<[ nRA ] >" := (action_by nRA) : action_scope.

Section SubAction.

-Variables (aT : finGroupType) (D : {group aT}).
-Variables (rT : finType) (sP : pred rT) (sT : subFinType sP) (to : action D rT).
-Implicit Type A : {set aT}.
+Variables (aT : finGroupType) (D : {group aT}).
+Variables (rT : finType) (sP : pred rT) (sT : subFinType sP) (to : action D rT).
+Implicit Type A : {set aT}.
Implicit Type u : sT.
-Implicit Type S : {set sT}.
+Implicit Type S : {set sT}.

-Definition subact_dom := 'N([set x | sP x] | to).
-Canonical subact_dom_group := [group of subact_dom].
+Definition subact_dom := 'N([set x | sP x] | to).
+Canonical subact_dom_group := [group of subact_dom].

-Implicit Type Na : {a | a \in subact_dom}.
+Implicit Type Na : {a | a \in subact_dom}.
Lemma sub_act_proof u Na : sP (to (val u) (val Na)).

Definition subact u a :=
-  if insub a is Some Na then Sub _ (sub_act_proof u Na) else u.
+  if insub a is Some Na then Sub _ (sub_act_proof u Na) else u.

Lemma val_subact u a :
-  val (subact u a) = if a \in subact_dom then to (val u) a else val u.
+  val (subact u a) = if a \in subact_dom then to (val u) a else val u.

Lemma subact_is_action : is_action subact_dom subact.
@@ -1093,102 +1085,102 @@ Canonical subaction := Action subact_is_action.

-Lemma astab_subact S : 'C(S | subaction) = subact_dom :&: 'C(val @: S | to).
+Lemma astab_subact S : 'C(S | subaction) = subact_dom :&: 'C(val @: S | to).

-Lemma astabs_subact S : 'N(S | subaction) = subact_dom :&: 'N(val @: S | to).
+Lemma astabs_subact S : 'N(S | subaction) = subact_dom :&: 'N(val @: S | to).

Lemma afix_subact A :
-  A \subset subact_dom 'Fix_subaction(A) = val @^-1: 'Fix_to(A).
+  A \subset subact_dom 'Fix_subaction(A) = val @^-1: 'Fix_to(A).

End SubAction.

-Notation "to ^?" := (subaction _ to)
+Notation "to ^?" := (subaction _ to)
  (at level 2, format "to ^?") : action_scope.

Section QuotientAction.

-Variables (aT : finGroupType) (D : {group aT}) (rT : finGroupType).
-Variables (to : action D rT) (H : {group rT}).
+Variables (aT : finGroupType) (D : {group aT}) (rT : finGroupType).
+Variables (to : action D rT) (H : {group rT}).

-Definition qact_dom := 'N(rcosets H 'N(H) | to^*).
-Canonical qact_dom_group := [group of qact_dom].
+Definition qact_dom := 'N(rcosets H 'N(H) | to^*).
+Canonical qact_dom_group := [group of qact_dom].

-Fact qact_subdomE : subdom = qact_dom.
- Lemma qact_proof : qact_dom \subset subdom.
+Fact qact_subdomE : subdom = qact_dom.
+ Lemma qact_proof : qact_dom \subset subdom.

-Definition qact : coset_of H aT coset_of H := act (to^*^? \ qact_proof).
+Definition qact : coset_of H aT coset_of H := act (to^*^? \ qact_proof).

-Canonical quotient_action := [action of qact].
+Canonical quotient_action := [action of qact].

-Lemma acts_qact_dom : [acts qact_dom, on 'N(H) | to].
+Lemma acts_qact_dom : [acts qact_dom, on 'N(H) | to].

Lemma qactEcond x a :
-    x \in 'N(H)
+    x \in 'N(H)
  quotient_action (coset H x) a
-    = coset H (if a \in qact_dom then to x a else x).
+    = coset H (if a \in qact_dom then to x a else x).

Lemma qactE x a :
-    x \in 'N(H) a \in qact_dom
-  quotient_action (coset H x) a = coset H (to x a).
+    x \in 'N(H) a \in qact_dom
+  quotient_action (coset H x) a = coset H (to x a).

-Lemma acts_quotient (A : {set aT}) (B : {set rT}) :
-   A \subset 'N_qact_dom(B | to) [acts A, on B / H | quotient_action].
+Lemma acts_quotient (A : {set aT}) (B : {set rT}) :
+   A \subset 'N_qact_dom(B | to) [acts A, on B / H | quotient_action].

-Lemma astabs_quotient (G : {group rT}) :
-   H <| G 'N(G / H | quotient_action) = 'N_qact_dom(G | to).
+Lemma astabs_quotient (G : {group rT}) :
+   H <| G 'N(G / H | quotient_action) = 'N_qact_dom(G | to).

End QuotientAction.

-Notation "to / H" := (quotient_action to H) : action_scope.
+Notation "to / H" := (quotient_action to H) : action_scope.

Section ModAction.

-Variables (aT : finGroupType) (D : {group aT}) (rT : finType).
+Variables (aT : finGroupType) (D : {group aT}) (rT : finType).
Variable to : action D rT.
-Implicit Types (G : {group aT}) (S : {set rT}).
+Implicit Types (G : {group aT}) (S : {set rT}).

Section GenericMod.

-Variable H : {group aT}.
+Variable H : {group aT}.

-Let acts_dom : {acts dom, on range | to} := acts_act (acts_subnorm_fix to H).
+Let acts_dom : {acts dom, on range | to} := acts_act (acts_subnorm_fix to H).

Definition modact x (Ha : coset_of H) :=
-  if x \in range then to x (repr (D :&: Ha)) else x.
+  if x \in range then to x (repr (D :&: Ha)) else x.

Lemma modactEcond x a :
-  a \in dom modact x (coset H a) = (if x \in range then to x a else x).
+  a \in dom modact x (coset H a) = (if x \in range then to x a else x).

Lemma modactE x a :
-  a \in D a \in 'N(H) x \in range modact x (coset H a) = to x a.
+  a \in D a \in 'N(H) x \in range modact x (coset H a) = to x a.

-Lemma modact_is_action : is_action (D / H) modact.
+Lemma modact_is_action : is_action (D / H) modact.

Canonical mod_action := Action modact_is_action.
@@ -1197,38 +1189,38 @@ Section Stabilizers.

-Variable S : {set rT}.
-Hypothesis cSH : H \subset 'C(S | to).
+Variable S : {set rT}.
+Hypothesis cSH : H \subset 'C(S | to).

-Let fixSH : S \subset 'Fix_to(D :&: H).
+Let fixSH : S \subset 'Fix_to(D :&: H).

-Lemma astabs_mod : 'N(S | mod_action) = 'N(S | to) / H.
+Lemma astabs_mod : 'N(S | mod_action) = 'N(S | to) / H.

-Lemma astab_mod : 'C(S | mod_action) = 'C(S | to) / H.
+Lemma astab_mod : 'C(S | mod_action) = 'C(S | to) / H.

End Stabilizers.

Lemma afix_mod G S :
-    H \subset 'C(S | to) G \subset 'N_D(H)
-  'Fix_(S | mod_action)(G / H) = 'Fix_(S | to)(G).
+    H \subset 'C(S | to) G \subset 'N_D(H)
+  'Fix_(S | mod_action)(G / H) = 'Fix_(S | to)(G).

End GenericMod.

Lemma modact_faithful G S :
-  [faithful G / 'C_G(S | to), on S | mod_action 'C_G(S | to)].
+  [faithful G / 'C_G(S | to), on S | mod_action 'C_G(S | to)].

End ModAction.

-Notation "to %% H" := (mod_action to H) : action_scope.
+Notation "to %% H" := (mod_action to H) : action_scope.

Section ActPerm.
@@ -1240,26 +1232,26 @@

-Variables (aT : finGroupType) (D : {set aT}) (rT : finType).
+Variables (aT : finGroupType) (D : {set aT}) (rT : finType).
Variable to : action D rT.

Definition actperm a := perm (act_inj to a).

-Lemma actpermM : {in D &, {morph actperm : a b / a × b}}.
+Lemma actpermM : {in D &, {morph actperm : a b / a × b}}.

Canonical actperm_morphism := Morphism actpermM.

-Lemma actpermE a x : actperm a x = to x a.
+Lemma actpermE a x : actperm a x = to x a.

-Lemma actpermK x a : aperm x (actperm a) = to x a.
+Lemma actpermK x a : aperm x (actperm a) = to x a.

-Lemma ker_actperm : 'ker actperm = 'C(setT | to).
+Lemma ker_actperm : 'ker actperm = 'C(setT | to).

End ActPerm.
@@ -1268,31 +1260,31 @@ Section RestrictActionTheory.

-Variables (aT : finGroupType) (D : {set aT}) (rT : finType).
+Variables (aT : finGroupType) (D : {set aT}) (rT : finType).
Variables (to : action D rT).

-Lemma faithful_isom (A : {group aT}) S (nSA : actby_cond A S to) :
-   [faithful A, on S | to] isom A (actperm <[nSA]> @* A) (actperm <[nSA]>).
+Lemma faithful_isom (A : {group aT}) S (nSA : actby_cond A S to) :
+   [faithful A, on S | to] isom A (actperm <[nSA]> @* A) (actperm <[nSA]>).

-Variables (A : {set aT}) (sAD : A \subset D).
+Variables (A : {set aT}) (sAD : A \subset D).

-Lemma ractpermE : actperm (to \ sAD) =1 actperm to.
+Lemma ractpermE : actperm (to \ sAD) =1 actperm to.

-Lemma afix_ract B : 'Fix_(to \ sAD)(B) = 'Fix_to(B).
+Lemma afix_ract B : 'Fix_(to \ sAD)(B) = 'Fix_to(B).

-Lemma astab_ract S : 'C(S | to \ sAD) = 'C_A(S | to).
+Lemma astab_ract S : 'C(S | to \ sAD) = 'C_A(S | to).

-Lemma astabs_ract S : 'N(S | to \ sAD) = 'N_A(S | to).
+Lemma astabs_ract S : 'N(S | to \ sAD) = 'N_A(S | to).

-Lemma acts_ract (B : {set aT}) S :
-  [acts B, on S | to \ sAD] = (B \subset A) && [acts B, on S | to].
+Lemma acts_ract (B : {set aT}) S :
+  [acts B, on S | to \ sAD] = (B \subset A) && [acts B, on S | to].

End RestrictActionTheory.
@@ -1307,8 +1299,8 @@

-Variables (aT : finGroupType) (D : {group aT}) (rT : finType).
-Variable phi : {morphism D >-> {perm rT}}.
+Variables (aT : finGroupType) (D : {group aT}) (rT : finType).
+Variable phi : {morphism D >-> {perm rT}}.

Definition mact x a := phi a x.
@@ -1320,51 +1312,51 @@ Canonical morph_action := Action mact_is_action.

-Lemma mactE x a : morph_action x a = phi a x.
+Lemma mactE x a : morph_action x a = phi a x.

-Lemma injm_faithful : 'injm phi [faithful D, on setT | morph_action].
+Lemma injm_faithful : 'injm phi [faithful D, on setT | morph_action].

-Lemma perm_mact a : actperm morph_action a = phi a.
+Lemma perm_mact a : actperm morph_action a = phi a.

End MorphAct.

-Notation "<< phi >>" := (morph_action phi) : action_scope.
+Notation "<< phi >>" := (morph_action phi) : action_scope.

Section CompAct.

Variables (gT aT : finGroupType) (rT : finType).
-Variables (D : {set aT}) (to : action D rT).
-Variables (B : {set gT}) (f : {morphism B >-> aT}).
+Variables (D : {set aT}) (to : action D rT).
+Variables (B : {set gT}) (f : {morphism B >-> aT}).

Definition comp_act x e := to x (f e).
-Lemma comp_is_action : is_action (f @*^-1 D) comp_act.
+Lemma comp_is_action : is_action (f @*^-1 D) comp_act.
Canonical comp_action := Action comp_is_action.

-Lemma comp_actE x e : comp_action x e = to x (f e).
+Lemma comp_actE x e : comp_action x e = to x (f e).

-Lemma afix_comp (A : {set gT}) :
-  A \subset B 'Fix_comp_action(A) = 'Fix_to(f @* A).
+Lemma afix_comp (A : {set gT}) :
+  A \subset B 'Fix_comp_action(A) = 'Fix_to(f @* A).

-Lemma astab_comp S : 'C(S | comp_action) = f @*^-1 'C(S | to).
+Lemma astab_comp S : 'C(S | comp_action) = f @*^-1 'C(S | to).

-Lemma astabs_comp S : 'N(S | comp_action) = f @*^-1 'N(S | to).
+Lemma astabs_comp S : 'N(S | comp_action) = f @*^-1 'N(S | to).

End CompAct.

-Notation "to \o f" := (comp_action to f) : action_scope.
+Notation "to \o f" := (comp_action to f) : action_scope.

Section PermAction.
@@ -1386,16 +1378,16 @@ Canonical perm_action := Action aperm_is_action.

-Lemma pcycleE a : pcycle a = orbit perm_action <[a]>%g.
+Lemma pcycleE a : pcycle a = orbit perm_action <[a]>%g.

-Lemma perm_act1P a : reflect ( x, aperm x a = x) (a == 1).
+Lemma perm_act1P a : reflect ( x, aperm x a = x) (a == 1).

-Lemma perm_faithful A : [faithful A, on setT | perm_action].
+Lemma perm_faithful A : [faithful A, on setT | perm_action].

-Lemma actperm_id p : actperm perm_action p = p.
+Lemma actperm_id p : actperm perm_action p = p.

End PermAction.
@@ -1403,22 +1395,22 @@

-Notation "'P" := (perm_action _) (at level 8) : action_scope.
+Notation "'P" := (perm_action _) (at level 8) : action_scope.

Section ActpermOrbits.

-Variables (aT : finGroupType) (D : {group aT}) (rT : finType).
+Variables (aT : finGroupType) (D : {group aT}) (rT : finType).
Variable to : action D rT.

-Lemma orbit_morphim_actperm (A : {set aT}) :
-  A \subset D orbit 'P (actperm to @* A) =1 orbit to A.
+Lemma orbit_morphim_actperm (A : {set aT}) :
+  A \subset D orbit 'P (actperm to @* A) =1 orbit to A.

Lemma pcycle_actperm (a : aT) :
-   a \in D pcycle (actperm to a) =1 orbit to <[a]>.
+   a \in D pcycle (actperm to a) =1 orbit to <[a]>.

End ActpermOrbits.
@@ -1427,26 +1419,26 @@ Section RestrictPerm.

-Variables (T : finType) (S : {set T}).
+Variables (T : finType) (S : {set T}).

-Definition restr_perm := actperm (<[subxx 'N(S | 'P)]>).
-Canonical restr_perm_morphism := [morphism of restr_perm].
+Definition restr_perm := actperm (<[subxx 'N(S | 'P)]>).
+Canonical restr_perm_morphism := [morphism of restr_perm].

Lemma restr_perm_on p : perm_on S (restr_perm p).

-Lemma triv_restr_perm p : p \notin 'N(S | 'P) restr_perm p = 1.
+Lemma triv_restr_perm p : p \notin 'N(S | 'P) restr_perm p = 1.

-Lemma restr_permE : {in 'N(S | 'P) & S, p, restr_perm p =1 p}.
+Lemma restr_permE : {in 'N(S | 'P) & S, p, restr_perm p =1 p}.

-Lemma ker_restr_perm : 'ker restr_perm = 'C(S | 'P).
+Lemma ker_restr_perm : 'ker restr_perm = 'C(S | 'P).

-Lemma im_restr_perm p : restr_perm p @: S = S.
+Lemma im_restr_perm p : restr_perm p @: S = S.

End RestrictPerm.
@@ -1458,27 +1450,27 @@ Variable gT : finGroupType.

-Definition Aut_in A (B : {set gT}) := 'N_A(B | 'P) / 'C_A(B | 'P).
+Definition Aut_in A (B : {set gT}) := 'N_A(B | 'P) / 'C_A(B | 'P).

-Variables G H : {group gT}.
-Hypothesis sHG: H \subset G.
+Variables G H : {group gT}.
+Hypothesis sHG: H \subset G.

-Lemma Aut_restr_perm a : a \in Aut G restr_perm H a \in Aut H.
+Lemma Aut_restr_perm a : a \in Aut G restr_perm H a \in Aut H.

-Lemma restr_perm_Aut : restr_perm H @* Aut G \subset Aut H.
+Lemma restr_perm_Aut : restr_perm H @* Aut G \subset Aut H.

-Lemma Aut_in_isog : Aut_in (Aut G) H \isog restr_perm H @* Aut G.
+Lemma Aut_in_isog : Aut_in (Aut G) H \isog restr_perm H @* Aut G.

Lemma Aut_sub_fullP :
-  reflect ( h : {morphism H >-> gT}, 'injm h h @* H = H
-              g : {morphism G >-> gT},
-             [/\ 'injm g, g @* G = G & {in H, g =1 h}])
-          (Aut_in (Aut G) H \isog Aut H).
+  reflect ( h : {morphism H >-> gT}, 'injm h h @* H = H
+              g : {morphism G >-> gT},
+             [/\ 'injm g, g @* G = G & {in H, g =1 h}])
+          (Aut_in (Aut G) H \isog Aut H).

End AutIn.
@@ -1489,27 +1481,27 @@ Section InjmAutIn.

-Variables (gT rT : finGroupType) (D G H : {group gT}) (f : {morphism D >-> rT}).
-Hypotheses (injf : 'injm f) (sGD : G \subset D) (sHG : H \subset G).
+Variables (gT rT : finGroupType) (D G H : {group gT}) (f : {morphism D >-> rT}).
+Hypotheses (injf : 'injm f) (sGD : G \subset D) (sHG : H \subset G).
Let sHD := subset_trans sHG sGD.

Lemma astabs_Aut_isom a :
-  a \in Aut G (fGisom a \in 'N(f @* H | 'P)) = (a \in 'N(H | 'P)).
+  a \in Aut G (fGisom a \in 'N(f @* H | 'P)) = (a \in 'N(H | 'P)).

-Lemma isom_restr_perm a : a \in Aut G fHisom (inH a) = infH (fGisom a).
+Lemma isom_restr_perm a : a \in Aut G fHisom (inH a) = infH (fGisom a).

-Lemma restr_perm_isom : isom (inH @* Aut G) (infH @* Aut (f @* G)) fHisom.
+Lemma restr_perm_isom : isom (inH @* Aut G) (infH @* Aut (f @* G)) fHisom.

-Lemma injm_Aut_sub : Aut_in (Aut (f @* G)) (f @* H) \isog Aut_in (Aut G) H.
+Lemma injm_Aut_sub : Aut_in (Aut (f @* G)) (f @* H) \isog Aut_in (Aut G) H.

Lemma injm_Aut_full :
-  (Aut_in (Aut (f @* G)) (f @* H) \isog Aut (f @* H))
-      = (Aut_in (Aut G) H \isog Aut H).
+  (Aut_in (Aut (f @* G)) (f @* H) \isog Aut (f @* H))
+      = (Aut_in (Aut G) H \isog Aut H).

End InjmAutIn.
@@ -1518,19 +1510,19 @@ Section GroupAction.

-Variables (aT rT : finGroupType) (D : {set aT}) (R : {set rT}).
+Variables (aT rT : finGroupType) (D : {set aT}) (R : {set rT}).

Definition is_groupAction (to : actT) :=
-  {in D, a, actperm to a \in Aut R}.
+  {in D, a, actperm to a \in Aut R}.

Structure groupAction := GroupAction {gact :> actT; _ : is_groupAction gact}.

Definition clone_groupAction to :=
-  let: GroupAction _ toA := to return {type of GroupAction for to} _ in
-  fun kk toA : groupAction.
+  let: GroupAction _ toA := to return {type of GroupAction for to} _ in
+  fun kk toA : groupAction.

End GroupAction.
@@ -1541,7 +1533,7 @@

-Notation "[ 'groupAction' 'of' to ]" :=
+Notation "[ 'groupAction' 'of' to ]" :=
     (clone_groupAction (@GroupAction _ _ _ _ to))
  (at level 0, format "[ 'groupAction' 'of' to ]") : form_scope.
@@ -1549,27 +1541,27 @@ Section GroupActionDefs.

-Variables (aT rT : finGroupType) (D : {set aT}) (R : {set rT}).
-Implicit Type A : {set aT}.
-Implicit Type S : {set rT}.
+Variables (aT rT : finGroupType) (D : {set aT}) (R : {set rT}).
+Implicit Type A : {set aT}.
+Implicit Type S : {set rT}.
Implicit Type to : groupAction D R.

Definition gact_range of groupAction D R := R.

-Definition gacent to A := 'Fix_(R | to)(D :&: A).
+Definition gacent to A := 'Fix_(R | to)(D :&: A).

-Definition acts_on_group A S to := [acts A, on S | to] S \subset R.
+Definition acts_on_group A S to := [acts A, on S | to] S \subset R.

-Coercion actby_cond_group A S to : acts_on_group A S to actby_cond A S to :=
-  @proj1 _ _.
+Coercion actby_cond_group A S to : acts_on_group A S to actby_cond A S to :=
+  @proj1 _ _.

Definition acts_irreducibly A S to :=
-  [min S of G | G :!=: 1 & [acts A, on G | to]].
+  [min S of G | G :!=: 1 & [acts A, on G | to]].

End GroupActionDefs.
@@ -1577,77 +1569,77 @@

-Notation "''C_' ( | to ) ( A )" := (gacent to A)
+Notation "''C_' ( | to ) ( A )" := (gacent to A)
  (at level 8, format "''C_' ( | to ) ( A )") : group_scope.
-Notation "''C_' ( G | to ) ( A )" := (G :&: 'C_(|to)(A))
+Notation "''C_' ( G | to ) ( A )" := (G :&: 'C_(|to)(A))
  (at level 8, format "''C_' ( G | to ) ( A )") : group_scope.
-Notation "''C_' ( | to ) [ a ]" := 'C_(|to)([set a])
+Notation "''C_' ( | to ) [ a ]" := 'C_(|to)([set a])
  (at level 8, format "''C_' ( | to ) [ a ]") : group_scope.
-Notation "''C_' ( G | to ) [ a ]" := 'C_(G | to)([set a])
+Notation "''C_' ( G | to ) [ a ]" := 'C_(G | to)([set a])
  (at level 8, format "''C_' ( G | to ) [ a ]") : group_scope.

-Notation "{ 'acts' A , 'on' 'group' G | to }" := (acts_on_group A G to)
+Notation "{ 'acts' A , 'on' 'group' G | to }" := (acts_on_group A G to)
  (at level 0, format "{ 'acts' A , 'on' 'group' G | to }") : form_scope.

Section RawGroupAction.

-Variables (aT rT : finGroupType) (D : {set aT}) (R : {set rT}).
+Variables (aT rT : finGroupType) (D : {set aT}) (R : {set rT}).
Variable to : groupAction D R.

Lemma actperm_Aut : is_groupAction R to.

-Lemma im_actperm_Aut : actperm to @* D \subset Aut R.
+Lemma im_actperm_Aut : actperm to @* D \subset Aut R.

-Lemma gact_out x a : a \in D x \notin R to x a = x.
+Lemma gact_out x a : a \in D x \notin R to x a = x.

-Lemma gactM : {in D, a, {in R &, {morph to^~ a : x y / x × y}}}.
+Lemma gactM : {in D, a, {in R &, {morph to^~ a : x y / x × y}}}.

-Lemma actmM a : {in R &, {morph actm to a : x y / x × y}}.
+Lemma actmM a : {in R &, {morph actm to a : x y / x × y}}.

Canonical act_morphism a := Morphism (actmM a).

Lemma morphim_actm :
-  {in D, a (S : {set rT}), S \subset R actm to a @* S = to^* S a}.
+  {in D, a (S : {set rT}), S \subset R actm to a @* S = to^* S a}.

-Variables (a : aT) (A B : {set aT}) (S : {set rT}).
+Variables (a : aT) (A B : {set aT}) (S : {set rT}).

-Lemma gacentIdom : 'C_(|to)(D :&: A) = 'C_(|to)(A).
+Lemma gacentIdom : 'C_(|to)(D :&: A) = 'C_(|to)(A).

-Lemma gacentIim : 'C_(R | to)(A) = 'C_(|to)(A).
+Lemma gacentIim : 'C_(R | to)(A) = 'C_(|to)(A).

-Lemma gacentS : A \subset B 'C_(|to)(B) \subset 'C_(|to)(A).
+Lemma gacentS : A \subset B 'C_(|to)(B) \subset 'C_(|to)(A).

-Lemma gacentU : 'C_(|to)(A :|: B) = 'C_(|to)(A) :&: 'C_(|to)(B).
+Lemma gacentU : 'C_(|to)(A :|: B) = 'C_(|to)(A) :&: 'C_(|to)(B).

-Hypotheses (Da : a \in D) (sAD : A \subset D) (sSR : S \subset R).
+Hypotheses (Da : a \in D) (sAD : A \subset D) (sSR : S \subset R).

-Lemma gacentE : 'C_(|to)(A) = 'Fix_(R | to)(A).
+Lemma gacentE : 'C_(|to)(A) = 'Fix_(R | to)(A).

-Lemma gacent1E : 'C_(|to)[a] = 'Fix_(R | to)[a].
+Lemma gacent1E : 'C_(|to)[a] = 'Fix_(R | to)[a].

-Lemma subgacentE : 'C_(S | to)(A) = 'Fix_(S | to)(A).
+Lemma subgacentE : 'C_(S | to)(A) = 'Fix_(S | to)(A).

-Lemma subgacent1E : 'C_(S | to)[a] = 'Fix_(S | to)[a].
+Lemma subgacent1E : 'C_(S | to)[a] = 'Fix_(S | to)[a].

End RawGroupAction.
@@ -1657,130 +1649,130 @@
Variables aT rT : finGroupType.
-Variables (D : {group aT}) (R : {group rT}) (to : groupAction D R).
-Implicit Type A B : {set aT}.
-Implicit Types G H : {group aT}.
-Implicit Type S : {set rT}.
-Implicit Types M N : {group rT}.
+Variables (D : {group aT}) (R : {group rT}) (to : groupAction D R).
+Implicit Type A B : {set aT}.
+Implicit Types G H : {group aT}.
+Implicit Type S : {set rT}.
+Implicit Types M N : {group rT}.

-Lemma gact1 : {in D, a, to 1 a = 1}.
+Lemma gact1 : {in D, a, to 1 a = 1}.

-Lemma gactV : {in D, a, {in R, {morph to^~ a : x / x^-1}}}.
+Lemma gactV : {in D, a, {in R, {morph to^~ a : x / x^-1}}}.

-Lemma gactX : {in D, a n, {in R, {morph to^~ a : x / x ^+ n}}}.
+Lemma gactX : {in D, a n, {in R, {morph to^~ a : x / x ^+ n}}}.

-Lemma gactJ : {in D, a, {in R &, {morph to^~ a : x y / x ^ y}}}.
+Lemma gactJ : {in D, a, {in R &, {morph to^~ a : x y / x ^ y}}}.

-Lemma gactR : {in D, a, {in R &, {morph to^~ a : x y / [~ x, y]}}}.
+Lemma gactR : {in D, a, {in R &, {morph to^~ a : x y / [~ x, y]}}}.

-Lemma gact_stable : {acts D, on R | to}.
+Lemma gact_stable : {acts D, on R | to}.

-Lemma group_set_gacent A : group_set 'C_(|to)(A).
+Lemma group_set_gacent A : group_set 'C_(|to)(A).

Canonical gacent_group A := Group (group_set_gacent A).

-Lemma gacent1 : 'C_(|to)(1) = R.
+Lemma gacent1 : 'C_(|to)(1) = R.

-Lemma gacent_gen A : A \subset D 'C_(|to)(<<A>>) = 'C_(|to)(A).
+Lemma gacent_gen A : A \subset D 'C_(|to)(<<A>>) = 'C_(|to)(A).

-Lemma gacentD1 A : 'C_(|to)(A^#) = 'C_(|to)(A).
+Lemma gacentD1 A : 'C_(|to)(A^#) = 'C_(|to)(A).

-Lemma gacent_cycle a : a \in D 'C_(|to)(<[a]>) = 'C_(|to)[a].
+Lemma gacent_cycle a : a \in D 'C_(|to)(<[a]>) = 'C_(|to)[a].

Lemma gacentY A B :
-  A \subset D B \subset D 'C_(|to)(A <*> B) = 'C_(|to)(A) :&: 'C_(|to)(B).
+  A \subset D B \subset D 'C_(|to)(A <*> B) = 'C_(|to)(A) :&: 'C_(|to)(B).

Lemma gacentM G H :
-  G \subset D H \subset D 'C_(|to)(G × H) = 'C_(|to)(G) :&: 'C_(|to)(H).
+  G \subset D H \subset D 'C_(|to)(G × H) = 'C_(|to)(G) :&: 'C_(|to)(H).

-Lemma astab1 : 'C(1 | to) = D.
+Lemma astab1 : 'C(1 | to) = D.

-Lemma astab_range : 'C(R | to) = 'C(setT | to).
+Lemma astab_range : 'C(R | to) = 'C(setT | to).

Lemma gacentC A S :
-    A \subset D S \subset R
-  (S \subset 'C_(|to)(A)) = (A \subset 'C(S | to)).
+    A \subset D S \subset R
+  (S \subset 'C_(|to)(A)) = (A \subset 'C(S | to)).

-Lemma astab_gen S : S \subset R 'C(<<S>> | to) = 'C(S | to).
+Lemma astab_gen S : S \subset R 'C(<<S>> | to) = 'C(S | to).

Lemma astabM M N :
-  M \subset R N \subset R 'C(M × N | to) = 'C(M | to) :&: 'C(N | to).
+  M \subset R N \subset R 'C(M × N | to) = 'C(M | to) :&: 'C(N | to).

-Lemma astabs1 : 'N(1 | to) = D.
+Lemma astabs1 : 'N(1 | to) = D.

-Lemma astabs_range : 'N(R | to) = D.
+Lemma astabs_range : 'N(R | to) = D.

-Lemma astabsD1 S : 'N(S^# | to) = 'N(S | to).
+Lemma astabsD1 S : 'N(S^# | to) = 'N(S | to).

-Lemma gacts_range A : A \subset D {acts A, on group R | to}.
+Lemma gacts_range A : A \subset D {acts A, on group R | to}.

-Lemma acts_subnorm_gacent A : A \subset D
-  [acts 'N_D(A), on 'C_(| to)(A) | to].
+Lemma acts_subnorm_gacent A : A \subset D
+  [acts 'N_D(A), on 'C_(| to)(A) | to].

Lemma acts_subnorm_subgacent A B S :
-  A \subset D [acts B, on S | to] [acts 'N_B(A), on 'C_(S | to)(A) | to].
+  A \subset D [acts B, on S | to] [acts 'N_B(A), on 'C_(S | to)(A) | to].

Lemma acts_gen A S :
-  S \subset R [acts A, on S | to] [acts A, on <<S>> | to].
+  S \subset R [acts A, on S | to] [acts A, on <<S>> | to].

Lemma acts_joing A M N :
-    M \subset R N \subset R [acts A, on M | to] [acts A, on N | to]
-  [acts A, on M <*> N | to].
+    M \subset R N \subset R [acts A, on M | to] [acts A, on N | to]
+  [acts A, on M <*> N | to].

-Lemma injm_actm a : 'injm (actm to a).
+Lemma injm_actm a : 'injm (actm to a).

-Lemma im_actm a : actm to a @* R = R.
+Lemma im_actm a : actm to a @* R = R.

-Lemma acts_char G M : G \subset D M \char R [acts G, on M | to].
+Lemma acts_char G M : G \subset D M \char R [acts G, on M | to].

Lemma gacts_char G M :
-  G \subset D M \char R {acts G, on group M | to}.
+  G \subset D M \char R {acts G, on group M | to}.

Section Restrict.

-Variables (A : {group aT}) (sAD : A \subset D).
+Variables (A : {group aT}) (sAD : A \subset D).

-Lemma ract_is_groupAction : is_groupAction R (to \ sAD).
+Lemma ract_is_groupAction : is_groupAction R (to \ sAD).

Canonical ract_groupAction := GroupAction ract_is_groupAction.

-Lemma gacent_ract B : 'C_(|ract_groupAction)(B) = 'C_(|to)(A :&: B).
+Lemma gacent_ract B : 'C_(|ract_groupAction)(B) = 'C_(|to)(A :&: B).

End Restrict.
@@ -1789,17 +1781,17 @@ Section ActBy.

-Variables (A : {group aT}) (G : {group rT}) (nGAg : {acts A, on group G | to}).
+Variables (A : {group aT}) (G : {group rT}) (nGAg : {acts A, on group G | to}).

-Lemma actby_is_groupAction : is_groupAction G <[nGAg]>.
+Lemma actby_is_groupAction : is_groupAction G <[nGAg]>.

Canonical actby_groupAction := GroupAction actby_is_groupAction.

Lemma gacent_actby B :
-  'C_(|actby_groupAction)(B) = 'C_(G | to)(A :&: B).
+  'C_(|actby_groupAction)(B) = 'C_(G | to)(A :&: B).

End ActBy.
@@ -1808,19 +1800,19 @@ Section Quotient.

-Variable H : {group rT}.
+Variable H : {group rT}.

-Lemma acts_qact_dom_norm : {acts qact_dom to H, on 'N(H) | to}.
+Lemma acts_qact_dom_norm : {acts qact_dom to H, on 'N(H) | to}.

-Lemma qact_is_groupAction : is_groupAction (R / H) (to / H).
+Lemma qact_is_groupAction : is_groupAction (R / H) (to / H).

Canonical quotient_groupAction := GroupAction qact_is_groupAction.

-Lemma qact_domE : H \subset R qact_dom to H = 'N(H | to).
+Lemma qact_domE : H \subset R qact_dom to H = 'N(H | to).

End Quotient.
@@ -1829,52 +1821,52 @@ Section Mod.

-Variable H : {group aT}.
+Variable H : {group aT}.

-Lemma modact_is_groupAction : is_groupAction 'C_(|to)(H) (to %% H).
+Lemma modact_is_groupAction : is_groupAction 'C_(|to)(H) (to %% H).

Canonical mod_groupAction := GroupAction modact_is_groupAction.

Lemma modgactE x a :
-  H \subset 'C(R | to) a \in 'N_D(H) (to %% H)%act x (coset H a) = to x a.
+  H \subset 'C(R | to) a \in 'N_D(H) (to %% H)%act x (coset H a) = to x a.

Lemma gacent_mod G M :
-    H \subset 'C(M | to) G \subset 'N(H)
'C_(M | mod_groupAction)(G / H) = 'C_(M | to)(G).
+    H \subset 'C(M | to) G \subset 'N(H)
'C_(M | mod_groupAction)(G / H) = 'C_(M | to)(G).

Lemma acts_irr_mod G M :
-    H \subset 'C(M | to) G \subset 'N(H) acts_irreducibly G M to
-  acts_irreducibly (G / H) M mod_groupAction.
+    H \subset 'C(M | to) G \subset 'N(H) acts_irreducibly G M to
+  acts_irreducibly (G / H) M mod_groupAction.

End Mod.

Lemma modact_coset_astab x a :
-  a \in D (to %% 'C(R | to))%act x (coset _ a) = to x a.
+  a \in D (to %% 'C(R | to))%act x (coset _ a) = to x a.

Lemma acts_irr_mod_astab G M :
-    acts_irreducibly G M to
-  acts_irreducibly (G / 'C_G(M | to)) M (mod_groupAction _).
+    acts_irreducibly G M to
+  acts_irreducibly (G / 'C_G(M | to)) M (mod_groupAction _).

Section CompAct.

-Variables (gT : finGroupType) (G : {group gT}) (f : {morphism G >-> aT}).
+Variables (gT : finGroupType) (G : {group gT}) (f : {morphism G >-> aT}).

Lemma comp_is_groupAction : is_groupAction R (comp_action to f).
Canonical comp_groupAction := GroupAction comp_is_groupAction.

-Lemma gacent_comp U : 'C_(|comp_groupAction)(U) = 'C_(|to)(f @* U).
+Lemma gacent_comp U : 'C_(|comp_groupAction)(U) = 'C_(|to)(f @* U).

End CompAct.
@@ -1883,19 +1875,19 @@ End GroupActionTheory.

-Notation "''C_' ( | to ) ( A )" := (gacent_group to A) : Group_scope.
-Notation "''C_' ( G | to ) ( A )" :=
-  (setI_group G 'C_(|to)(A)) : Group_scope.
-Notation "''C_' ( | to ) [ a ]" := (gacent_group to [set a%g]) : Group_scope.
-Notation "''C_' ( G | to ) [ a ]" :=
-  (setI_group G 'C_(|to)[a]) : Group_scope.
+Notation "''C_' ( | to ) ( A )" := (gacent_group to A) : Group_scope.
+Notation "''C_' ( G | to ) ( A )" :=
+  (setI_group G 'C_(|to)(A)) : Group_scope.
+Notation "''C_' ( | to ) [ a ]" := (gacent_group to [set a%g]) : Group_scope.
+Notation "''C_' ( G | to ) [ a ]" :=
+  (setI_group G 'C_(|to)[a]) : Group_scope.

-Notation "to \ sAD" := (ract_groupAction to sAD) : groupAction_scope.
-Notation "<[ nGA ] >" := (actby_groupAction nGA) : groupAction_scope.
-Notation "to / H" := (quotient_groupAction to H) : groupAction_scope.
-Notation "to %% H" := (mod_groupAction to H) : groupAction_scope.
-Notation "to \o f" := (comp_groupAction to f) : groupAction_scope.
+Notation "to \ sAD" := (ract_groupAction to sAD) : groupAction_scope.
+Notation "<[ nGA ] >" := (actby_groupAction nGA) : groupAction_scope.
+Notation "to / H" := (quotient_groupAction to H) : groupAction_scope.
+Notation "to %% H" := (mod_groupAction to H) : groupAction_scope.
+Notation "to \o f" := (comp_groupAction to f) : groupAction_scope.

@@ -1908,23 +1900,23 @@
Variables (aT1 aT2 : finGroupType) (rT1 rT2 : finType).
-Variables (D1 : {group aT1}) (D2 : {group aT2}).
+Variables (D1 : {group aT1}) (D2 : {group aT2}).
Variables (to1 : action D1 rT1) (to2 : action D2 rT2).
-Variables (A : {set aT1}) (R S : {set rT1}).
-Variables (h : rT1 rT2) (f : {morphism D1 >-> aT2}).
-Hypotheses (actsDR : {acts D1, on R | to1}) (injh : {in R &, injective h}).
-Hypothesis defD2 : f @* D1 = D2.
-Hypotheses (sSR : S \subset R) (sAD1 : A \subset D1).
-Hypothesis hfJ : {in S & D1, morph_act to1 to2 h f}.
+Variables (A : {set aT1}) (R S : {set rT1}).
+Variables (h : rT1 rT2) (f : {morphism D1 >-> aT2}).
+Hypotheses (actsDR : {acts D1, on R | to1}) (injh : {in R &, injective h}).
+Hypothesis defD2 : f @* D1 = D2.
+Hypotheses (sSR : S \subset R) (sAD1 : A \subset D1).
+Hypothesis hfJ : {in S & D1, morph_act to1 to2 h f}.

-Lemma morph_astabs : f @* 'N(S | to1) = 'N(h @: S | to2).
+Lemma morph_astabs : f @* 'N(S | to1) = 'N(h @: S | to2).

-Lemma morph_astab : f @* 'C(S | to1) = 'C(h @: S | to2).
+Lemma morph_astab : f @* 'C(S | to1) = 'C(h @: S | to2).

-Lemma morph_afix : h @: 'Fix_(S | to1)(A) = 'Fix_(h @: S | to2)(f @* A).
+Lemma morph_afix : h @: 'Fix_(S | to1)(A) = 'Fix_(h @: S | to2)(f @* A).

End MorphAction.
@@ -1934,27 +1926,27 @@
Variables (aT1 aT2 rT1 rT2 : finGroupType).
-Variables (D1 : {group aT1}) (D2 : {group aT2}).
-Variables (R1 : {group rT1}) (R2 : {group rT2}).
+Variables (D1 : {group aT1}) (D2 : {group aT2}).
+Variables (R1 : {group rT1}) (R2 : {group rT2}).
Variables (to1 : groupAction D1 R1) (to2 : groupAction D2 R2).
-Variables (h : {morphism R1 >-> rT2}) (f : {morphism D1 >-> aT2}).
+Variables (h : {morphism R1 >-> rT2}) (f : {morphism D1 >-> aT2}).
Hypotheses (iso_h : isom R1 R2 h) (iso_f : isom D1 D2 f).
-Hypothesis hfJ : {in R1 & D1, morph_act to1 to2 h f}.
-Implicit Types (A : {set aT1}) (S : {set rT1}) (M : {group rT1}).
+Hypothesis hfJ : {in R1 & D1, morph_act to1 to2 h f}.
+Implicit Types (A : {set aT1}) (S : {set rT1}) (M : {group rT1}).

-Lemma morph_gastabs S : S \subset R1 f @* 'N(S | to1) = 'N(h @* S | to2).
+Lemma morph_gastabs S : S \subset R1 f @* 'N(S | to1) = 'N(h @* S | to2).

-Lemma morph_gastab S : S \subset R1 f @* 'C(S | to1) = 'C(h @* S | to2).
+Lemma morph_gastab S : S \subset R1 f @* 'C(S | to1) = 'C(h @* S | to2).

-Lemma morph_gacent A : A \subset D1 h @* 'C_(|to1)(A) = 'C_(|to2)(f @* A).
+Lemma morph_gacent A : A \subset D1 h @* 'C_(|to1)(A) = 'C_(|to2)(f @* A).

Lemma morph_gact_irr A M :
-    A \subset D1 M \subset R1
-  acts_irreducibly (f @* A) (h @* M) to2 = acts_irreducibly A M to1.
+    A \subset D1 M \subset R1
+  acts_irreducibly (f @* A) (h @* M) to2 = acts_irreducibly A M to1.

End MorphGroupAction.
@@ -1970,8 +1962,8 @@
Variable gT : finGroupType.
-Implicit Type A : {set gT}.
-Implicit Type G : {group gT}.
+Implicit Type A : {set gT}.
+Implicit Type G : {group gT}.

@@ -2012,22 +2004,22 @@ End InternalActionDefs.

-Notation "'R" := (@mulgr_action _) (at level 8) : action_scope.
-Notation "'Rs" := (@rcoset_action _) (at level 8) : action_scope.
-Notation "'J" := (@conjg_action _) (at level 8) : action_scope.
-Notation "'J" := (@conjg_groupAction _) (at level 8) : groupAction_scope.
-Notation "'Js" := (@conjsg_action _) (at level 8) : action_scope.
-Notation "'JG" := (@conjG_action _) (at level 8) : action_scope.
-Notation "'Q" := ('J / _)%act (at level 8) : action_scope.
-Notation "'Q" := ('J / _)%gact (at level 8) : groupAction_scope.
+Notation "'R" := (@mulgr_action _) (at level 8) : action_scope.
+Notation "'Rs" := (@rcoset_action _) (at level 8) : action_scope.
+Notation "'J" := (@conjg_action _) (at level 8) : action_scope.
+Notation "'J" := (@conjg_groupAction _) (at level 8) : groupAction_scope.
+Notation "'Js" := (@conjsg_action _) (at level 8) : action_scope.
+Notation "'JG" := (@conjG_action _) (at level 8) : action_scope.
+Notation "'Q" := ('J / _)%act (at level 8) : action_scope.
+Notation "'Q" := ('J / _)%gact (at level 8) : groupAction_scope.

Section InternalGroupAction.

Variable gT : finGroupType.
-Implicit Types A B : {set gT}.
-Implicit Types G H : {group gT}.
+Implicit Types A B : {set gT}.
+Implicit Types G H : {group gT}.
Implicit Type x : gT.

@@ -2039,73 +2031,73 @@

-Lemma orbitR G x : orbit 'R G x = x *: G.
+Lemma orbitR G x : orbit 'R G x = x *: G.

-Lemma astab1R x : 'C[x | 'R] = 1.
+Lemma astab1R x : 'C[x | 'R] = 1.

-Lemma astabR G : 'C(G | 'R) = 1.
+Lemma astabR G : 'C(G | 'R) = 1.

-Lemma astabsR G : 'N(G | 'R) = G.
+Lemma astabsR G : 'N(G | 'R) = G.

-Lemma atransR G : [transitive G, on G | 'R].
+Lemma atransR G : [transitive G, on G | 'R].

-Lemma faithfulR G : [faithful G, on G | 'R].
+Lemma faithfulR G : [faithful G, on G | 'R].

-Definition Cayley_repr G := actperm <[atrans_acts (atransR G)]>.
+Definition Cayley_repr G := actperm <[atrans_acts (atransR G)]>.

-Theorem Cayley_isom G : isom G (Cayley_repr G @* G) (Cayley_repr G).
+Theorem Cayley_isom G : isom G (Cayley_repr G @* G) (Cayley_repr G).

-Theorem Cayley_isog G : G \isog Cayley_repr G @* G.
+Theorem Cayley_isog G : G \isog Cayley_repr G @* G.

-Lemma orbitJ G x : orbit 'J G x = x ^: G.
+Lemma orbitJ G x : orbit 'J G x = x ^: G.

-Lemma afixJ A : 'Fix_('J)(A) = 'C(A).
+Lemma afixJ A : 'Fix_('J)(A) = 'C(A).

-Lemma astabJ A : 'C(A |'J) = 'C(A).
+Lemma astabJ A : 'C(A |'J) = 'C(A).

-Lemma astab1J x : 'C[x |'J] = 'C[x].
+Lemma astab1J x : 'C[x |'J] = 'C[x].

-Lemma astabsJ A : 'N(A | 'J) = 'N(A).
+Lemma astabsJ A : 'N(A | 'J) = 'N(A).

-Lemma setactJ A x : 'J^*%act A x = A :^ x.
+Lemma setactJ A x : 'J^*%act A x = A :^ x.

-Lemma gacentJ A : 'C_(|'J)(A) = 'C(A).
+Lemma gacentJ A : 'C_(|'J)(A) = 'C(A).

-Lemma orbitRs G A : orbit 'Rs G A = rcosets A G.
+Lemma orbitRs G A : orbit 'Rs G A = rcosets A G.

-Lemma sub_afixRs_norms G x A : (G :* x \in 'Fix_('Rs)(A)) = (A \subset G :^ x).
+Lemma sub_afixRs_norms G x A : (G :* x \in 'Fix_('Rs)(A)) = (A \subset G :^ x).

-Lemma sub_afixRs_norm G x : (G :* x \in 'Fix_('Rs)(G)) = (x \in 'N(G)).
+Lemma sub_afixRs_norm G x : (G :* x \in 'Fix_('Rs)(G)) = (x \in 'N(G)).

-Lemma afixRs_rcosets A G : 'Fix_(rcosets G A | 'Rs)(G) = rcosets G 'N_A(G).
+Lemma afixRs_rcosets A G : 'Fix_(rcosets G A | 'Rs)(G) = rcosets G 'N_A(G).

-Lemma astab1Rs G : 'C[G : {set gT} | 'Rs] = G.
+Lemma astab1Rs G : 'C[G : {set gT} | 'Rs] = G.

-Lemma actsRs_rcosets H G : [acts G, on rcosets H G | 'Rs].
+Lemma actsRs_rcosets H G : [acts G, on rcosets H G | 'Rs].

-Lemma transRs_rcosets H G : [transitive G, on rcosets H G | 'Rs].
+Lemma transRs_rcosets H G : [transitive G, on rcosets H G | 'Rs].

@@ -2114,83 +2106,83 @@ This is the second part of Aschbacher (5.7)
-Lemma astabRs_rcosets H G : 'C(rcosets H G | 'Rs) = gcore H G.
+Lemma astabRs_rcosets H G : 'C(rcosets H G | 'Rs) = gcore H G.

-Lemma orbitJs G A : orbit 'Js G A = A :^: G.
+Lemma orbitJs G A : orbit 'Js G A = A :^: G.

-Lemma astab1Js A : 'C[A | 'Js] = 'N(A).
+Lemma astab1Js A : 'C[A | 'Js] = 'N(A).

-Lemma card_conjugates A G : #|A :^: G| = #|G : 'N_G(A)|.
+Lemma card_conjugates A G : #|A :^: G| = #|G : 'N_G(A)|.

-Lemma afixJG G A : (G \in 'Fix_('JG)(A)) = (A \subset 'N(G)).
+Lemma afixJG G A : (G \in 'Fix_('JG)(A)) = (A \subset 'N(G)).

-Lemma astab1JG G : 'C[G | 'JG] = 'N(G).
+Lemma astab1JG G : 'C[G | 'JG] = 'N(G).

-Lemma dom_qactJ H : qact_dom 'J H = 'N(H).
+Lemma dom_qactJ H : qact_dom 'J H = 'N(H).

Lemma qactJ H (Hy : coset_of H) x :
-  'Q%act Hy x = if x \in 'N(H) then Hy ^ coset H x else Hy.
+  'Q%act Hy x = if x \in 'N(H) then Hy ^ coset H x else Hy.

Lemma actsQ A B H :
-  A \subset 'N(H) A \subset 'N(B) [acts A, on B / H | 'Q].
+  A \subset 'N(H) A \subset 'N(B) [acts A, on B / H | 'Q].

-Lemma astabsQ G H : H <| G 'N(G / H | 'Q) = 'N(H) :&: 'N(G).
+Lemma astabsQ G H : H <| G 'N(G / H | 'Q) = 'N(H) :&: 'N(G).

-Lemma astabQ H Abar : 'C(Abar |'Q) = coset H @*^-1 'C(Abar).
+Lemma astabQ H Abar : 'C(Abar |'Q) = coset H @*^-1 'C(Abar).

Lemma sub_astabQ A H Bbar :
-  (A \subset 'C(Bbar | 'Q)) = (A \subset 'N(H)) && (A / H \subset 'C(Bbar)).
+  (A \subset 'C(Bbar | 'Q)) = (A \subset 'N(H)) && (A / H \subset 'C(Bbar)).

Lemma sub_astabQR A B H :
-     A \subset 'N(H) B \subset 'N(H)
-  (A \subset 'C(B / H | 'Q)) = ([~: A, B] \subset H).
+     A \subset 'N(H) B \subset 'N(H)
+  (A \subset 'C(B / H | 'Q)) = ([~: A, B] \subset H).

-Lemma astabQR A H : A \subset 'N(H)
-  'C(A / H | 'Q) = [set x in 'N(H) | [~: [set x], A] \subset H].
+Lemma astabQR A H : A \subset 'N(H)
+  'C(A / H | 'Q) = [set x in 'N(H) | [~: [set x], A] \subset H].

-Lemma quotient_astabQ H Abar : 'C(Abar | 'Q) / H = 'C(Abar).
+Lemma quotient_astabQ H Abar : 'C(Abar | 'Q) / H = 'C(Abar).

Lemma conj_astabQ A H x :
-  x \in 'N(H) 'C(A / H | 'Q) :^ x = 'C(A :^ x / H | 'Q).
+  x \in 'N(H) 'C(A / H | 'Q) :^ x = 'C(A :^ x / H | 'Q).

Section CardClass.

-Variable G : {group gT}.
+Variable G : {group gT}.

-Lemma index_cent1 x : #|G : 'C_G[x]| = #|x ^: G|.
+Lemma index_cent1 x : #|G : 'C_G[x]| = #|x ^: G|.

Lemma classes_partition : partition (classes G) G.

-Lemma sum_card_class : \sum_(C in classes G) #|C| = #|G|.
+Lemma sum_card_class : \sum_(C in classes G) #|C| = #|G|.

-Lemma class_formula : \sum_(C in classes G) #|G : 'C_G[repr C]| = #|G|.
+Lemma class_formula : \sum_(C in classes G) #|G : 'C_G[repr C]| = #|G|.

-Lemma abelian_classP : reflect {in G, x, x ^: G = [set x]} (abelian G).
+Lemma abelian_classP : reflect {in G, x, x ^: G = [set x]} (abelian G).

-Lemma card_classes_abelian : abelian G = (#|classes G| == #|G|).
+Lemma card_classes_abelian : abelian G = (#|classes G| == #|G|).

End CardClass.
@@ -2199,21 +2191,21 @@ End InternalGroupAction.

-Lemma gacentQ (gT : finGroupType) (H : {group gT}) (A : {set gT}) :
-  'C_(|'Q)(A) = 'C(A / H).
+Lemma gacentQ (gT : finGroupType) (H : {group gT}) (A : {set gT}) :
+  'C_(|'Q)(A) = 'C(A / H).

Section AutAct.

-Variable (gT : finGroupType) (G : {set gT}).
+Variable (gT : finGroupType) (G : {set gT}).

-Definition autact := act ('P \ subsetT (Aut G)).
-Canonical aut_action := [action of autact].
+Definition autact := act ('P \ subsetT (Aut G)).
+Canonical aut_action := [action of autact].

-Lemma autactK a : actperm aut_action a = a.
+Lemma autactK a : actperm aut_action a = a.

Lemma autact_is_groupAction : is_groupAction G aut_action.
@@ -2223,8 +2215,8 @@ End AutAct.

-Notation "[ 'Aut' G ]" := (aut_action G) : action_scope.
-Notation "[ 'Aut' G ]" := (aut_groupAction G) : groupAction_scope.
+Notation "[ 'Aut' G ]" := (aut_action G) : action_scope.
+Notation "[ 'Aut' G ]" := (aut_groupAction G) : groupAction_scope.

-- cgit v1.2.3