Arguments Aut _ _%g.
Notation "[ 'Aut' G ]" := (Aut_group G)
(at level 0, format "[ 'Aut'  G ]") : Group_scope.
Notation "[ 'Aut' G ]" := (Aut G)
(at level 0, only parsing) : group_scope.
Prenex Implicits Aut autm.
(* The permutation function (total on the underlying groupType) that is the *)
(* representant of a given morphism f with domain A in (Aut A).             *)
Section PermIn.
Variables (T : finType) (A : {set T}) (f : T -> T).
Hypotheses (injf : {in A &, injective f}) (sBf : f @: A \subset A).

(* Specifications: *)
Lemma perm_in_inj : injective (fun x => if x \in A then f x else x).
Definition perm_in := perm perm_in_inj.
Lemma perm_in_on : perm_on A perm_in.
Lemma perm_inE : {in A, perm_in =1 f}.
Hypothesis Gf : f @* G = G.
Lemma aut_closed : f @: G \subset G.
Lemma preim_autE A : A \subset G -> aut @^-1: A = f @*^-1 A.
End MakeAut.