Section Restrict.
Variables (T : finType) (x : T).
Notation T' := {y | y != x}.
Definition rfd_fun p := [fun u => Sub ((_ : {perm T}) _) (rfd_funP p u) : T'].
Definition rfd p := perm (@rfdP p).
Hypothesis card_T : 2 < #|T|.
Canonical rfd_morphism := Morphism rfd_morph.
Definition rgd_fun (p : {perm T'}) :=
[fun x1 => if insub x1 is Some u then sval (p u) else x].

Lemma rgdP p : injective (rgd_fun p).