proposition: Lemma suff_generators n (P : 'S_n.+2 -> Prop) : (forall s s', P s -> P s' -> P (s' * s)%g) -> P (tperm ord0 (lift ord0 ord0)) -> (forall s : 'S_n.+2, s ord0 = ord0 -> P s) -> forall s : 'S_n.+2, P s.
proof: Proof. move=> H0 H1 H2 s. have [K|K] := eqVneq (s ord0) ord0; first exact: H2. apply suff_generators0 => // s'. have [->//|K'] := eqVneq (s' ord0) (lift ord0 ord0). have [->|K''] := eqVneq (s' ord0) ord0; first by apply H2; rewrite permE. rewrite decomp_swap //. apply H0. by apply H2; rewrite permE /= eq_sym (negbTE K''). apply H0; first exact: H1. by apply H2; rewrite permE /= eq_sym (negbTE K''). Qed.
imports: mathcomp(all_ssreflect ssralg ssrnum matrix fingroup perm) Reals Lra mathcomp(mathcomp_extra Rstruct reals) ssrR Reals_ext realType_ext Ranalysis_ext ssr_ext ssralg_ext logb fdist convex