aboutsummaryrefslogtreecommitdiff
path: root/mathcomp
diff options
context:
space:
mode:
authorCyril Cohen2017-11-23 16:33:36 +0100
committerCyril Cohen2018-02-06 13:54:37 +0100
commitfafd4dac5315e1d4e071b0044a50a16360b31964 (patch)
tree5b66c3d67e2b146e3a8013496379b96dd60dc75a /mathcomp
parent835467324db450c8fb8971e477cc4d82fa3e861b (diff)
running semi-automated linting on the whole library
Diffstat (limited to 'mathcomp')
-rw-r--r--mathcomp/algebra/finalg.v40
-rw-r--r--mathcomp/algebra/intdiv.v10
-rw-r--r--mathcomp/algebra/interval.v4
-rw-r--r--mathcomp/algebra/matrix.v12
-rw-r--r--mathcomp/algebra/mxalgebra.v14
-rw-r--r--mathcomp/algebra/mxpoly.v12
-rw-r--r--mathcomp/algebra/poly.v4
-rw-r--r--mathcomp/algebra/polydiv.v76
-rw-r--r--mathcomp/algebra/rat.v17
-rw-r--r--mathcomp/algebra/ssralg.v16
-rw-r--r--mathcomp/algebra/ssrint.v6
-rw-r--r--mathcomp/algebra/vector.v16
-rw-r--r--mathcomp/attic/algnum_basic.v128
-rw-r--r--mathcomp/attic/amodule.v20
-rw-r--r--mathcomp/attic/fib.v16
-rw-r--r--mathcomp/attic/forms.v46
-rw-r--r--mathcomp/attic/galgebra.v4
-rw-r--r--mathcomp/attic/multinom.v14
-rw-r--r--mathcomp/attic/tutorial.v2
-rw-r--r--mathcomp/character/character.v20
-rw-r--r--mathcomp/character/classfun.v20
-rw-r--r--mathcomp/character/inertia.v18
-rw-r--r--mathcomp/character/integral_char.v6
-rw-r--r--mathcomp/character/mxabelem.v12
-rw-r--r--mathcomp/character/mxrepresentation.v30
-rw-r--r--mathcomp/character/vcharacter.v12
-rw-r--r--mathcomp/field/algC.v14
-rw-r--r--mathcomp/field/algebraics_fundamentals.v2
-rw-r--r--mathcomp/field/algnum.v2
-rw-r--r--mathcomp/field/closed_field.v58
-rw-r--r--mathcomp/field/countalg.v2
-rw-r--r--mathcomp/field/falgebra.v6
-rw-r--r--mathcomp/field/fieldext.v8
-rw-r--r--mathcomp/field/galois.v28
-rw-r--r--mathcomp/field/separable.v14
-rw-r--r--mathcomp/fingroup/action.v26
-rw-r--r--mathcomp/fingroup/fingroup.v4
-rw-r--r--mathcomp/fingroup/gproduct.v12
-rw-r--r--mathcomp/odd_order/BGappendixAB.v8
-rw-r--r--mathcomp/odd_order/BGappendixC.v2
-rw-r--r--mathcomp/odd_order/BGsection1.v10
-rw-r--r--mathcomp/odd_order/BGsection10.v30
-rw-r--r--mathcomp/odd_order/BGsection11.v4
-rw-r--r--mathcomp/odd_order/BGsection12.v30
-rw-r--r--mathcomp/odd_order/BGsection13.v20
-rw-r--r--mathcomp/odd_order/BGsection14.v34
-rw-r--r--mathcomp/odd_order/BGsection15.v20
-rw-r--r--mathcomp/odd_order/BGsection16.v12
-rw-r--r--mathcomp/odd_order/BGsection2.v10
-rw-r--r--mathcomp/odd_order/BGsection3.v12
-rw-r--r--mathcomp/odd_order/BGsection4.v40
-rw-r--r--mathcomp/odd_order/BGsection5.v20
-rw-r--r--mathcomp/odd_order/BGsection6.v10
-rw-r--r--mathcomp/odd_order/BGsection7.v4
-rw-r--r--mathcomp/odd_order/BGsection8.v4
-rw-r--r--mathcomp/odd_order/BGsection9.v4
-rw-r--r--mathcomp/odd_order/PFsection1.v10
-rw-r--r--mathcomp/odd_order/PFsection10.v8
-rw-r--r--mathcomp/odd_order/PFsection11.v22
-rw-r--r--mathcomp/odd_order/PFsection12.v26
-rw-r--r--mathcomp/odd_order/PFsection13.v26
-rw-r--r--mathcomp/odd_order/PFsection14.v8
-rw-r--r--mathcomp/odd_order/PFsection2.v18
-rw-r--r--mathcomp/odd_order/PFsection3.v16
-rw-r--r--mathcomp/odd_order/PFsection4.v12
-rw-r--r--mathcomp/odd_order/PFsection5.v14
-rw-r--r--mathcomp/odd_order/PFsection6.v22
-rw-r--r--mathcomp/odd_order/PFsection7.v4
-rw-r--r--mathcomp/odd_order/PFsection8.v4
-rw-r--r--mathcomp/odd_order/PFsection9.v22
-rw-r--r--mathcomp/odd_order/wielandt_fixpoint.v2
-rw-r--r--mathcomp/real_closed/bigenough.v2
-rw-r--r--mathcomp/real_closed/cauchyreals.v4
-rw-r--r--mathcomp/real_closed/complex.v12
-rw-r--r--mathcomp/real_closed/mxtens.v4
-rw-r--r--mathcomp/real_closed/ordered_qelim.v28
-rw-r--r--mathcomp/real_closed/polyorder.v4
-rw-r--r--mathcomp/real_closed/polyrcf.v20
-rw-r--r--mathcomp/real_closed/qe_rcf.v10
-rw-r--r--mathcomp/real_closed/qe_rcf_th.v14
-rw-r--r--mathcomp/real_closed/realalg.v2
-rw-r--r--mathcomp/solvable/abelian.v6
-rw-r--r--mathcomp/solvable/alt.v4
-rw-r--r--mathcomp/solvable/burnside_app.v176
-rw-r--r--mathcomp/solvable/center.v6
-rw-r--r--mathcomp/solvable/commutator.v2
-rw-r--r--mathcomp/solvable/cyclic.v4
-rw-r--r--mathcomp/solvable/extraspecial.v4
-rw-r--r--mathcomp/solvable/extremal.v18
-rw-r--r--mathcomp/solvable/finmodule.v18
-rw-r--r--mathcomp/solvable/frobenius.v4
-rw-r--r--mathcomp/solvable/gfunctor.v2
-rw-r--r--mathcomp/solvable/gseries.v4
-rw-r--r--mathcomp/solvable/hall.v6
-rw-r--r--mathcomp/solvable/jordanholder.v8
-rw-r--r--mathcomp/solvable/maximal.v26
-rw-r--r--mathcomp/solvable/nilpotent.v8
-rw-r--r--mathcomp/solvable/pgroup.v6
-rw-r--r--mathcomp/solvable/sylow.v8
-rw-r--r--mathcomp/ssreflect/bigop.v8
-rw-r--r--mathcomp/ssreflect/binomial.v8
-rw-r--r--mathcomp/ssreflect/div.v2
-rw-r--r--mathcomp/ssreflect/finfun.v4
-rw-r--r--mathcomp/ssreflect/finset.v4
-rw-r--r--mathcomp/ssreflect/fintype.v2
-rw-r--r--mathcomp/ssreflect/generic_quotient.v6
-rw-r--r--mathcomp/ssreflect/path.v4
-rw-r--r--mathcomp/ssreflect/prime.v6
-rw-r--r--mathcomp/ssreflect/ssrnat.v6
-rw-r--r--mathcomp/ssrtest/absevarprop.v10
-rw-r--r--mathcomp/ssrtest/derive_inversion.v2
-rw-r--r--mathcomp/ssrtest/elim.v34
-rw-r--r--mathcomp/ssrtest/have_transp.v2
-rw-r--r--mathcomp/ssrtest/havesuff.v8
-rw-r--r--mathcomp/ssrtest/intro_beta.v2
-rw-r--r--mathcomp/ssrtest/ltac_in.v4
-rw-r--r--mathcomp/ssrtest/rewpatterns.v14
-rw-r--r--mathcomp/ssrtest/set_pattern.v12
-rw-r--r--mathcomp/ssrtest/ssrsyntax1.v2
-rw-r--r--mathcomp/ssrtest/tc.v2
-rw-r--r--mathcomp/ssrtest/testmx.v4
-rw-r--r--mathcomp/ssrtest/wlogletin.v6
122 files changed, 903 insertions, 898 deletions
diff --git a/mathcomp/algebra/finalg.v b/mathcomp/algebra/finalg.v
index 0cf29b2..3a50934 100644
--- a/mathcomp/algebra/finalg.v
+++ b/mathcomp/algebra/finalg.v
@@ -883,7 +883,7 @@ Section ClassDef.
Variable R : ringType.
Record class_of M :=
- Class { base : GRing.Lmodule.class_of R M ; mixin : mixin_of M base }.
+ Class { base : GRing.Lmodule.class_of R M; mixin : mixin_of M base }.
Definition base2 R (c : class_of R) := Zmodule.Class (mixin c).
Local Coercion base : class_of >-> GRing.Lmodule.class_of.
Local Coercion base2 : class_of >-> Zmodule.class_of.
@@ -1144,7 +1144,7 @@ Section ClassDef.
Variable R : unitRingType.
Record class_of M :=
- Class { base : GRing.UnitAlgebra.class_of R M ; mixin : mixin_of M base }.
+ Class { base : GRing.UnitAlgebra.class_of R M; mixin : mixin_of M base }.
Definition base2 M (c : class_of M) := Algebra.Class (mixin c).
Definition base3 M (c : class_of M) := @UnitRing.Class _ (base c) (mixin c).
@@ -1155,27 +1155,27 @@ Local Coercion base3 : class_of >-> UnitRing.class_of.
Structure type (phR : phant R) := Pack {sort; _ : class_of sort; _ : Type}.
Local Coercion sort : type >-> Sortclass.
Variables (phR : phant R) (cT : type phR).
-Definition pack := gen_pack (Pack phR) Class (@GRing.UnitAlgebra.class R phR).
+Definition pack := gen_pack (Pack phR) Class (@GRing.UnitAlgebra.class R phR).
Definition class := let: Pack _ c _ as cT' := cT return class_of cT' in c.
Let xT := let: Pack T _ _ := cT in T.
Notation xclass := (class : class_of xT).
-Definition eqType := @Equality.Pack cT xclass xT.
-Definition choiceType := @Choice.Pack cT xclass xT.
-Definition countType := @Countable.Pack cT (fin_ xclass) xT.
-Definition finType := @Finite.Pack cT (fin_ xclass) xT.
-Definition zmodType := @GRing.Zmodule.Pack cT xclass xT.
-Definition finZmodType := @Zmodule.Pack cT xclass xT.
-Definition ringType := @GRing.Ring.Pack cT xclass xT.
-Definition finRingType := @Ring.Pack cT xclass xT.
+Definition eqType := @Equality.Pack cT xclass xT.
+Definition choiceType := @Choice.Pack cT xclass xT.
+Definition countType := @Countable.Pack cT (fin_ xclass) xT.
+Definition finType := @Finite.Pack cT (fin_ xclass) xT.
+Definition zmodType := @GRing.Zmodule.Pack cT xclass xT.
+Definition finZmodType := @Zmodule.Pack cT xclass xT.
+Definition ringType := @GRing.Ring.Pack cT xclass xT.
+Definition finRingType := @Ring.Pack cT xclass xT.
Definition unitRingType := @GRing.UnitRing.Pack cT xclass xT.
-Definition finUnitRingType := @UnitRing.Pack cT xclass xT.
-Definition lmodType := @GRing.Lmodule.Pack R phR cT xclass xT.
-Definition finLmodType := @Lmodule.Pack R phR cT xclass xT.
-Definition lalgType := @GRing.Lalgebra.Pack R phR cT xclass xT.
-Definition finLalgType := @Lalgebra.Pack R phR cT xclass xT.
-Definition algType := @GRing.Algebra.Pack R phR cT xclass xT.
-Definition finAlgType := @Algebra.Pack R phR cT xclass xT.
+Definition finUnitRingType := @UnitRing.Pack cT xclass xT.
+Definition lmodType := @GRing.Lmodule.Pack R phR cT xclass xT.
+Definition finLmodType := @Lmodule.Pack R phR cT xclass xT.
+Definition lalgType := @GRing.Lalgebra.Pack R phR cT xclass xT.
+Definition finLalgType := @Lalgebra.Pack R phR cT xclass xT.
+Definition algType := @GRing.Algebra.Pack R phR cT xclass xT.
+Definition finAlgType := @Algebra.Pack R phR cT xclass xT.
Definition unitAlgType := @GRing.UnitAlgebra.Pack R phR cT xclass xT.
Definition join_finType := @Finite.Pack unitAlgType (fin_ xclass) xT.
@@ -1200,7 +1200,7 @@ Definition finGroupType := fin_group baseFinGroupType zmodType.
Definition join_baseFinGroupType := base_group unitAlgType zmodType finType.
Definition join_finGroupType := fin_group join_baseFinGroupType zmodType.
-End ClassDef.
+End ClassDef.
Module Exports.
Coercion base : class_of >-> GRing.UnitAlgebra.class_of.
@@ -1290,7 +1290,7 @@ End FinRing.
Import FinRing.
Export Zmodule.Exports Ring.Exports ComRing.Exports.
Export UnitRing.Exports UnitsGroupExports ComUnitRing.Exports.
-Export IntegralDomain.Exports Field.Exports DecField.Exports.
+Export IntegralDomain.Exports Field.Exports DecField.Exports.
Export Lmodule.Exports Lalgebra.Exports Algebra.Exports UnitAlgebra.Exports.
Notation "{ 'unit' R }" := (unit_of (Phant R))
diff --git a/mathcomp/algebra/intdiv.v b/mathcomp/algebra/intdiv.v
index 7c99443..a85b3ec 100644
--- a/mathcomp/algebra/intdiv.v
+++ b/mathcomp/algebra/intdiv.v
@@ -223,7 +223,7 @@ Proof. by move=> d_gt0; rewrite !lerNgt ltz_divLR. Qed.
Lemma divz_ge0 m d : d > 0 -> ((m %/ d)%Z >= 0) = (m >= 0).
Proof. by case: d m => // d [] n d_gt0; rewrite (divz_nat, divNz_nat). Qed.
-Lemma divzMA_ge0 m n p : n >= 0 -> (m %/ (n * p) = (m %/ n)%Z %/ p)%Z.
+Lemma divzMA_ge0 m n p : n >= 0 -> (m %/ (n * p) = (m %/ n)%Z %/ p)%Z.
Proof.
case: n => // [[|n]] _; first by rewrite mul0r !divz0 div0z.
wlog p_gt0: p / p > 0; last case: p => // p in p_gt0 *.
@@ -457,7 +457,7 @@ Lemma Qint_dvdz (m d : int) : (d %| m)%Z -> ((m%:~R / d%:~R : rat) \is a Qint).
Proof.
case/dvdzP=> z ->; rewrite rmorphM /=; case: (altP (d =P 0)) => [->|dn0].
by rewrite mulr0 mul0r.
-by rewrite mulfK ?intr_eq0 // rpred_int.
+by rewrite mulfK ?intr_eq0 // rpred_int.
Qed.
Lemma Qnat_dvd (m d : nat) : (d %| m)%N -> ((m%:R / d%:R : rat) \is a Qnat).
@@ -934,7 +934,7 @@ wlog [j a'Mij]: m n M i Da le_mn / {j | ~~ (a %| M i j)%Z}; last first.
have uU: U \in unitmx.
rewrite unitmxE det_ublock det1 (expand_det_col _ 0) big_ord_recl big_ord1.
do 2!rewrite /cofactor [row' _ _]mx11_scalar !mxE det_scalar1 /=.
- rewrite mulr1 mul1r mulN1r opprK -[_ + _](mulzK _ nz_b) mulrDl.
+ rewrite mulr1 mul1r mulN1r opprK -[_ + _](mulzK _ nz_b) mulrDl.
by rewrite -!mulrA !divzK ?dvdz_gcdl ?dvdz_gcdr // Db divzz nz_b unitr1.
have{Db} Db: M1 i 0 = b.
rewrite /M1 -(lshift0 n 1) [U]block_mxEh mul_mx_row row_mxEl.
@@ -952,9 +952,9 @@ move=> {A leA IHa} IHa; wlog Di: i M Da / i = 0; last rewrite {i}Di in Da.
by rewrite mulmxA -perm_mxM tperm2 perm_mx1 mul1mx.
without loss /forallP a_dvM0: / [forall j, a %| M 0 j]%Z.
have [_|] := altP forallP; first exact; rewrite negb_forall => /existsP/sigW.
- by move/IHa=> IH _; apply: IH.
+ by move/IHa=> IH _; apply: IH.
without loss{Da a_dvM0} Da: M / forall j, M 0 j = a.
- pose Uur := col' 0 (\row_j (1 - (M 0 j %/ a)%Z)).
+ pose Uur := col' 0 (\row_j (1 - (M 0 j %/ a)%Z)).
pose U : 'M_(1 + n) := block_mx 1 Uur 0 1%:M; pose M1 := M *m U.
have uU: U \in unitmx by rewrite unitmxE det_ublock !det1 mulr1.
case/(_ (M *m U)) => [j | L uL [R uR [d dvD dM]]].
diff --git a/mathcomp/algebra/interval.v b/mathcomp/algebra/interval.v
index 56dec94..e269752 100644
--- a/mathcomp/algebra/interval.v
+++ b/mathcomp/algebra/interval.v
@@ -230,7 +230,7 @@ Definition bound_in_itv := (boundl_in_itv, boundr_in_itv).
Lemma itvP : forall (x : R) (i : interval R), (x \in i) -> itv_rewrite i x.
Proof.
-move=> x [[[] a|] [[] b|]]; move/itv_dec=> //= [hl hu];do ?[split=> //;
+move=> x [[[] a|] [[] b|]]; move/itv_dec=> //= [hl hu]; do ?[split=> //;
do ?[by rewrite ltrW | by rewrite ltrWN | by rewrite ltrNW |
by rewrite (ltr_geF, ler_gtF)]];
rewrite ?(bound_in_itv) /le_boundl /le_boundr //=; do ?
@@ -254,7 +254,7 @@ Lemma subitvP : forall (i2 i1 : interval R),
(subitv i1 i2) -> {subset i1 <= i2}.
Proof.
by move=> [[[] a2|] [[] b2|]] [[[] a1|] [[] b1|]];
- rewrite /subitv //; case/andP=> /= ha hb; move=> x hx; rewrite ?inE;
+ rewrite /subitv //; case/andP=> /= ha hb x hx; rewrite ?inE;
rewrite ?(ler_trans ha) ?(ler_lt_trans ha) ?(ltr_le_trans ha) //;
rewrite ?(ler_trans _ hb) ?(ltr_le_trans _ hb) ?(ler_lt_trans _ hb) //;
rewrite ?(itvP hx) //.
diff --git a/mathcomp/algebra/matrix.v b/mathcomp/algebra/matrix.v
index dfa8474..aecbce9 100644
--- a/mathcomp/algebra/matrix.v
+++ b/mathcomp/algebra/matrix.v
@@ -864,7 +864,7 @@ Section VecMatrix.
Variables m n : nat.
-Lemma mxvec_cast : #|{:'I_m * 'I_n}| = (m * n)%N.
+Lemma mxvec_cast : #|{:'I_m * 'I_n}| = (m * n)%N.
Proof. by rewrite card_prod !card_ord. Qed.
Definition mxvec_index (i : 'I_m) (j : 'I_n) :=
@@ -973,7 +973,7 @@ Proof. by apply/matrixP=> i j; rewrite !(castmxE, mxE). Qed.
Lemma map_conform_mx m' n' (B : 'M_(m', n')) :
(conform_mx B A)^f = conform_mx B^f A^f.
Proof.
-move: B; have [[<- <-] B|] := eqVneq (m, n) (m', n').
+move: B; have [[<- <-] B|] := eqVneq (m, n) (m', n').
by rewrite !conform_mx_id.
by rewrite negb_and => neq_mn B; rewrite !nonconform_mx.
Qed.
@@ -1197,7 +1197,7 @@ Lemma nz_row_eq0 m n (A : 'M_(m, n)) : (nz_row A == 0) = (A == 0).
Proof.
rewrite /nz_row; symmetry; case: pickP => [i /= nzAi | Ai0].
by rewrite (negbTE nzAi); apply: contraTF nzAi => /eqP->; rewrite row0 eqxx.
-by rewrite eqxx; apply/eqP/row_matrixP=> i; move/eqP: (Ai0 i) ->; rewrite row0.
+by rewrite eqxx; apply/eqP/row_matrixP=> i; move/eqP: (Ai0 i) ->; rewrite row0.
Qed.
End MatrixZmodule.
@@ -1755,7 +1755,7 @@ Lemma mul_pid_mx m n p q r :
(pid_mx q : 'M_(m, n)) *m (pid_mx r : 'M_(n, p)) = pid_mx (minn n (minn q r)).
Proof.
apply/matrixP=> i k; rewrite !mxE !leq_min.
-have [le_n_i | lt_i_n] := leqP n i.
+have [le_n_i | lt_i_n] := leqP n i.
rewrite andbF big1 // => j _.
by rewrite -pid_mx_minh !mxE leq_min ltnNge le_n_i andbF mul0r.
rewrite (bigD1 (Ordinal lt_i_n)) //= big1 ?addr0 => [|j].
@@ -1903,7 +1903,7 @@ move=> a A B; apply/row_matrixP; case/mxvec_indexP=> i j.
rewrite linearP /= !rowE !mul_rV_lin /= vec_mx_delta -linearP mulmxDr.
congr (mxvec (_ + _)); apply/row_matrixP=> k.
rewrite linearZ /= !row_mul rowE mul_delta_mx_cond.
-by case: (k == i); [rewrite -!rowE linearZ | rewrite !mul0mx raddf0].
+by case: (k == i); [rewrite -!rowE linearZ | rewrite !mul0mx raddf0].
Qed.
Canonical lin_mulmxr_additive := Additive lin_mulmxr_is_linear.
Canonical lin_mulmxr_linear := Linear lin_mulmxr_is_linear.
@@ -2810,7 +2810,7 @@ Proof. exact: map_unitmx. Qed.
Lemma map_invmx n (A : 'M_n) : (invmx A)^f = invmx A^f.
Proof.
rewrite /invmx map_unitmx (fun_if ((map_mx f) n n)).
-by rewrite map_mxZ map_mx_adj det_map_mx fmorphV.
+by rewrite map_mxZ map_mx_adj det_map_mx fmorphV.
Qed.
Lemma map_mx_inv n' (A : 'M_n'.+1) : A^-1^f = A^f^-1.
diff --git a/mathcomp/algebra/mxalgebra.v b/mathcomp/algebra/mxalgebra.v
index 1b6200e..463f07b 100644
--- a/mathcomp/algebra/mxalgebra.v
+++ b/mathcomp/algebra/mxalgebra.v
@@ -658,7 +658,7 @@ Qed.
Lemma submx_full m1 m2 n (A : 'M_(m1, n)) (B : 'M_(m2, n)) :
row_full B -> (A <= B)%MS.
Proof.
-by rewrite submxE /cokermx =>/eqnP->; rewrite /copid_mx pid_mx_1 subrr !mulmx0.
+by rewrite submxE /cokermx => /eqnP->; rewrite /copid_mx pid_mx_1 subrr !mulmx0.
Qed.
Lemma row_fullP m n (A : 'M_(m, n)) :
@@ -700,7 +700,7 @@ Lemma row_full_unit n (A : 'M_n) : row_full A = (A \in unitmx).
Proof. exact: row_free_unit. Qed.
Lemma mxrank_unit n (A : 'M_n) : A \in unitmx -> \rank A = n.
-Proof. by rewrite -row_full_unit =>/eqnP. Qed.
+Proof. by rewrite -row_full_unit => /eqnP. Qed.
Lemma mxrank1 n : \rank (1%:M : 'M_n) = n.
Proof. by apply: mxrank_unit; apply: unitmx1. Qed.
@@ -1114,7 +1114,7 @@ Lemma sub_sumsmxP P m n (A : 'M_(m, n)) (B_ : I -> 'M_n) :
(A <= \sum_(i | P i) B_ i)%MS.
Proof.
apply: (iffP idP) => [| [u_ ->]]; last first.
- by apply: summx_sub_sums => i _; apply: submxMl.
+ by apply: summx_sub_sums => i _; apply: submxMl.
elim: {P}_.+1 {-2}P A (ltnSn #|P|) => // b IHb P A.
case: (pickP P) => [i Pi | P0 _]; last first.
rewrite big_pred0 //; move/submx0null->.
@@ -1202,7 +1202,7 @@ Lemma mxrank_Frobenius m n p q (A : 'M_(m, n)) B (C : 'M_(p, q)) :
Proof.
rewrite -{2}(mulmx_base (A *m B)) -mulmxA (eqmxMfull _ (col_base_full _)).
set C2 := row_base _ *m C.
-rewrite -{1}(subnK (rank_leq_row C2)) -(mxrank_ker C2) addnAC leq_add2r.
+rewrite -{1}(subnK (rank_leq_row C2)) -(mxrank_ker C2) addnAC leq_add2r.
rewrite addnC -{1}(mulmx_base B) -mulmxA eqmxMfull //.
set C1 := _ *m C; rewrite -{2}(subnKC (rank_leq_row C1)) leq_add2l -mxrank_ker.
rewrite -(mxrankMfree _ (row_base_free (A *m B))).
@@ -1466,7 +1466,7 @@ apply/eqP; set K := kermx B; set C := (A :&: K)%MS.
rewrite -(eqmxMr B (eq_row_base A)); set K' := _ *m B.
rewrite -{2}(subnKC (rank_leq_row K')) -mxrank_ker eqn_add2l.
rewrite -(mxrankMfree _ (row_base_free A)) mxrank_leqif_sup.
- rewrite sub_capmx -(eq_row_base A) submxMl.
+ rewrite sub_capmx -(eq_row_base A) submxMl.
by apply/sub_kermxP; rewrite -mulmxA mulmx_ker.
have /submxP[C' defC]: (C <= row_base A)%MS by rewrite eq_row_base capmxSl.
rewrite defC submxMr //; apply/sub_kermxP.
@@ -1573,7 +1573,7 @@ Proof.
move=> dxUV sWU; apply/eqP; rewrite -subr_eq0 -submx0 -dxUV.
rewrite sub_capmx addmx_sub ?eqmx_opp ?proj_mx_sub //= -eqmx_opp opprB.
by rewrite proj_mx_compl_sub // (submx_trans sWU) ?addsmxSl.
-Qed.
+Qed.
Lemma proj_mx_0 m n U V (W : 'M_(m, n)) :
(U :&: V = 0)%MS -> (W <= V)%MS -> W *m proj_mx U V = 0.
@@ -1845,7 +1845,7 @@ Proof.
rewrite /TIsum; apply: (iffP eqnP) => /= [dxS i Pi | dxS].
set Si' := (\sum_(j | _) unwrap (S_ j))%MS.
have: mxdirect (unwrap (S_ i) + Si') by apply/eqnP; rewrite /= -!(bigD1 i).
- by rewrite mxdirect_addsE => /and3P[-> _ /eqP].
+ by rewrite mxdirect_addsE => /and3P[-> _ /eqP].
elim: _.+1 {-2 4}P (subxx P) (ltnSn #|P|) => // m IHm Q; move/subsetP=> sQP.
case: (pickP Q) => [i Qi | Q0]; last by rewrite !big_pred0 ?mxrank0.
rewrite (cardD1x Qi) !((bigD1 i) Q) //=.
diff --git a/mathcomp/algebra/mxpoly.v b/mathcomp/algebra/mxpoly.v
index eeece16..4d043ea 100644
--- a/mathcomp/algebra/mxpoly.v
+++ b/mathcomp/algebra/mxpoly.v
@@ -147,7 +147,7 @@ Proof.
move=> p_nc q_nc; pose dp := (size p).-1; pose dq := (size q).-1.
pose S := Sylvester_mx p q; pose dS := (dq + dp)%N.
have dS_gt0: dS > 0 by rewrite /dS /dq -(subnKC q_nc).
-pose j0 := Ordinal dS_gt0.
+pose j0 := Ordinal dS_gt0.
pose Ss0 := col_mx (p *: \col_(i < dq) 'X^i) (q *: \col_(i < dp) 'X^i).
pose Ss := \matrix_(i, j) (if j == j0 then Ss0 i 0 else (S i j)%:P).
pose u ds s := \sum_(i < ds) cofactor Ss (s i) j0 * 'X^i.
@@ -325,13 +325,13 @@ apply: leq_trans (_ : #|[pred j | s j == j]|.+1 <= n.-1).
- by rewrite size_poly1.
- apply: leq_trans (size_mul_leq _ _) _.
by rewrite -subn1 -addnS leq_subLR addnA leq_add.
- rewrite !mxE eq_sym !inE; case: (s j == j); first by rewrite polyseqXsubC.
+ rewrite !mxE eq_sym !inE; case: (s j == j); first by rewrite polyseqXsubC.
by rewrite sub0r size_opp size_polyC leq_b1.
rewrite -{8}[n]card_ord -(cardC (pred2 (s i) i)) card2 nfix_i !ltnS.
apply: subset_leq_card; apply/subsetP=> j; move/(_ =P j)=> fix_j.
rewrite !inE -{1}fix_j (inj_eq (@perm_inj _ s)) orbb.
by apply: contraNneq nfix_i => <-; rewrite fix_j.
-Qed.
+Qed.
Lemma size_char_poly : size char_poly = n.+1.
Proof.
@@ -356,7 +356,7 @@ have ->: \tr A = \sum_(x <- diagA) x by rewrite big_map enumT.
rewrite -size_diagA {}/p; elim: diagA => [|x d IHd].
by rewrite !big_nil mulr1 coefX oppr0.
rewrite !big_cons coefXM mulrBl coefB IHd opprD addrC; congr (- _ + _).
-rewrite mul_polyC coefZ [size _]/= -(size_prod_XsubC _ id) -lead_coefE.
+rewrite mul_polyC coefZ [size _]/= -(size_prod_XsubC _ id) -lead_coefE.
by rewrite (monicP _) ?monic_prod_XsubC ?mulr1.
Qed.
@@ -591,7 +591,7 @@ Variables (d n : nat) (A : 'M[aR]_n).
Lemma map_rVpoly (u : 'rV_d) : fp (rVpoly u) = rVpoly u^f.
Proof.
apply/polyP=> k; rewrite coef_map !coef_rVpoly.
-by case: (insub k) => [i|]; rewrite /= ?rmorph0 // mxE.
+by case: (insub k) => [i|]; rewrite /= ?rmorph0 // mxE.
Qed.
Lemma map_poly_rV p : (poly_rV p)^f = poly_rV (fp p) :> 'rV_d.
@@ -817,7 +817,7 @@ rewrite polySpred ?monic_neq0 // -/m1 big_ord_recr /= -lead_coefE.
rewrite opprD addrC (monicP mon_p) mul1r subrK !mulrN -mulNr !mulr_sumr.
apply: Msum => j _; rewrite mulrA mulrACA -exprD; apply: IHn.
by rewrite -addnS addnC addnBA // leq_subLR leq_add.
-by rewrite -mulN1r; do 2!apply: (genM) => //; apply: genR.
+by rewrite -mulN1r; do 2!apply: (genM) => //; apply: genR.
Qed.
Lemma integral_root_monic u p :
diff --git a/mathcomp/algebra/poly.v b/mathcomp/algebra/poly.v
index 56493dd..5e684a1 100644
--- a/mathcomp/algebra/poly.v
+++ b/mathcomp/algebra/poly.v
@@ -564,7 +564,7 @@ pose dp := (size p).-1; pose dq := (size q).-1.
have [-> | nz_p] := eqVneq p 0; first by rewrite lead_coef0 !mul0r coef0.
have [-> | nz_q] := eqVneq q 0; first by rewrite lead_coef0 !mulr0 coef0.
have ->: (size p + size q).-2 = (dp + dq)%N.
- by do 2! rewrite polySpred // addSn addnC.
+ by do 2!rewrite polySpred // addSn addnC.
have lt_p_pq: dp < (dp + dq).+1 by rewrite ltnS leq_addr.
rewrite coefM (bigD1 (Ordinal lt_p_pq)) ?big1 ?simp ?addKn //= => i.
rewrite -val_eqE neq_ltn /= => /orP[lt_i_p | gt_i_p]; last first.
@@ -1271,7 +1271,7 @@ End OnePrimitive.
Lemma prim_root_exp_coprime n z k :
n.-primitive_root z -> n.-primitive_root (z ^+ k) = coprime k n.
Proof.
-move=> prim_z;have n_gt0 := prim_order_gt0 prim_z.
+move=> prim_z; have n_gt0 := prim_order_gt0 prim_z.
apply/idP/idP=> [prim_zk | co_k_n].
set d := gcdn k n; have dv_d_n: (d %| n)%N := dvdn_gcdr _ _.
rewrite /coprime -/d -(eqn_pmul2r n_gt0) mul1n -{2}(gcdnMl n d).
diff --git a/mathcomp/algebra/polydiv.v b/mathcomp/algebra/polydiv.v
index b5e1068..b6f8936 100644
--- a/mathcomp/algebra/polydiv.v
+++ b/mathcomp/algebra/polydiv.v
@@ -235,7 +235,7 @@ have -> /= : (size r).-1 < size q + j.
by rewrite -{1}[_.-1]add0n ltn_add2r.
move: (hj); rewrite leq_eqVlt; case/orP.
move/eqP<-; rewrite -{1}(prednK sq) -{3}(prednK sr) subSS.
- rewrite subKn; first by rewrite coefMC !lead_coefE subrr.
+ rewrite subKn; first by rewrite coefMC !lead_coefE subrr.
by move: hsrq; rewrite -{1}(prednK sq) -{1}(prednK sr) ltnS.
move=> {hj} hj; move: (hj); rewrite prednK // coefMC; move/leq_sizeP=> -> //.
suff: size q <= j - (size r - size q).
@@ -573,7 +573,7 @@ Lemma redivp_eq q r : size r < size d ->
redivp (q * d + r) d = (k, q, r).
Proof.
case: (monic_comreg mond)=> Hc Hr; move/(redivp_eq Hc Hr q).
-by rewrite (eqP mond); move=> -> /=; rewrite expr1n !mulr1.
+by rewrite (eqP mond) => -> /=; rewrite expr1n !mulr1.
Qed.
Lemma rdivp_eq p :
@@ -670,7 +670,7 @@ Qed.
Lemma rdvdpP p : reflect (exists qq, p = qq * d) (rdvdp d p).
Proof.
case: (monic_comreg mond)=> Hc Hr; apply: (iffP idP).
- case: rdvdp_eqP=> // k qq; rewrite (eqP mond) expr1n mulr1; move=> -> _.
+ case: rdvdp_eqP=> // k qq; rewrite (eqP mond) expr1n mulr1 => -> _.
by exists qq.
by case=> [qq]; move/eq_rdvdp.
Qed.
@@ -892,7 +892,7 @@ rewrite unlock ud redivp_def; constructor => //.
have hn0 : (lead_coef d ^+ rscalp m d)%:P != 0.
by rewrite polyC_eq0; apply: expf_neq0.
apply: (mulfI hn0); rewrite !mulrA -exprVn !polyC_exp -exprMn -polyC_mul.
- by rewrite divrr // expr1n mul1r -polyC_exp mul_polyC rdivp_eq.
+ by rewrite divrr // expr1n mul1r -polyC_exp mul_polyC rdivp_eq.
move=> dn0; rewrite size_scale ?ltn_rmodp // -exprVn expf_eq0 negb_and.
by rewrite invr_eq0 cdn0 orbT.
Qed.
@@ -905,7 +905,7 @@ move=> hsrd hu; rewrite unlock hu; case et: (redivp _ _) => [[s qq] rr].
have cdn0 : lead_coef d != 0.
by move: hu; case d0: (lead_coef d == 0) => //; rewrite (eqP d0) unitr0.
move: (et); rewrite RingComRreg.redivp_eq //; last by apply/rregP.
-rewrite et /=; case => e1 e2; rewrite -!mul_polyC -!exprVn !polyC_exp.
+rewrite et /=; case=> e1 e2; rewrite -!mul_polyC -!exprVn !polyC_exp.
suff h x y: x * (lead_coef d ^+ s)%:P = y -> ((lead_coef d)^-1)%:P ^+ s * y = x.
by congr (_, _, _); apply: h.
have hn0 : (lead_coef d)%:P ^+ s != 0 by apply: expf_neq0; rewrite polyC_eq0.
@@ -1030,7 +1030,7 @@ Qed.
Lemma divp1 m : m %/ 1 = m.
Proof.
-by rewrite divpE lead_coefC unitr1 Ring.rdivp1 expr1n invr1 scale1r.
+by rewrite divpE lead_coefC unitr1 Ring.rdivp1 expr1n invr1 scale1r.
Qed.
Lemma modp0 p : p %% 0 = p.
@@ -1225,7 +1225,7 @@ rewrite /dvdp; apply/idPn=> m_nz.
have: p1 * q != 0 by rewrite -E1 -mul_polyC mulf_neq0 // polyC_eq0.
rewrite mulf_eq0; case/norP=> p1_nz q_nz.
have := (ltn_modp p q); rewrite q_nz -(size_scale (p %% q) cn0) E1.
-by rewrite size_mul // polySpred // ltnNge leq_addl.
+by rewrite size_mul // polySpred // ltnNge leq_addl.
Qed.
Lemma dvdpp d : d %| d.
@@ -1258,7 +1258,7 @@ Hint Resolve dvdp_mull dvdp_mulr.
Lemma dvdp_mul d1 d2 m1 m2 : d1 %| m1 -> d2 %| m2 -> d1 * d2 %| m1 * m2.
Proof.
case: (eqVneq d1 0) => [-> |d1n0]; first by move/dvd0pP->; rewrite !mul0r dvdpp.
-case: (eqVneq d2 0) => [-> |d2n0]; first by move => _ /dvd0pP ->; rewrite !mulr0.
+case: (eqVneq d2 0) => [-> |d2n0]; first by move=> _ /dvd0pP ->; rewrite !mulr0.
rewrite dvdp_eq; set c1 := _ ^+ _; set q1 := _ %/ _; move/eqP=> Hq1.
rewrite dvdp_eq; set c2 := _ ^+ _; set q2 := _ %/ _; move/eqP=> Hq2.
apply: (@eq_dvdp (c1 * c2) (q1 * q2)).
@@ -1341,11 +1341,11 @@ Proof. by apply: dvdp_mull; apply: dvdpp. Qed.
Lemma dvdp_mul2r r p q : r != 0 -> (p * r %| q * r) = (p %| q).
Proof.
-move => nzr.
+move=> nzr.
case: (eqVneq p 0) => [-> | pn0].
by rewrite mul0r !dvd0p mulf_eq0 (negPf nzr) orbF.
case: (eqVneq q 0) => [-> | qn0]; first by rewrite mul0r !dvdp0.
-apply/idP/idP; last by move => ?; rewrite dvdp_mul ?dvdpp.
+apply/idP/idP; last by move=> ?; rewrite dvdp_mul ?dvdpp.
rewrite dvdp_eq; set c := _ ^+ _; set x := _ %/ _; move/eqP=> Hx.
apply: (@eq_dvdp c x).
by rewrite expf_neq0 // lead_coef_eq0 mulf_neq0.
@@ -1388,7 +1388,7 @@ Lemma dvdp_exp_sub p q k l: p != 0 ->
(p ^+ k %| q * p ^+ l) = (p ^+ (k - l) %| q).
Proof.
move=> pn0; case: (leqP k l)=> hkl.
- move:(hkl); rewrite -subn_eq0; move/eqP->; rewrite expr0 dvd1p.
+ move: (hkl); rewrite -subn_eq0; move/eqP->; rewrite expr0 dvd1p.
apply: dvdp_mull; case: (ltnP 1%N (size p)) => sp.
by rewrite dvdp_Pexp2l.
move: sp; case esp: (size p) => [|sp].
@@ -1532,7 +1532,7 @@ have n0q : q != 0.
by case abs: (q == 0) => //; move: hq; rewrite (eqP abs) eqp01.
rewrite -size_poly_eq1 eqn_leq -{1}(eqP sizeq) dvdp_leq //=.
case p0 : (size p == 0%N); last by rewrite neq0_lt0n.
-by move: dpq; rewrite size_poly_eq0 in p0; rewrite (eqP p0) dvd0p (negbTE n0q).
+by move: dpq; rewrite size_poly_eq0 in p0; rewrite (eqP p0) dvd0p (negbTE n0q).
Qed.
Lemma eqp_dvdr q p d: p %= q -> d %| p = (d %| q).
@@ -1558,10 +1558,10 @@ Lemma dvdp_opp d p : d %| (- p) = (d %| p).
Proof. by apply: eqp_dvdr; rewrite -scaleN1r eqp_scale ?oppr_eq0 ?oner_eq0. Qed.
Lemma eqp_mul2r r p q : r != 0 -> (p * r %= q * r) = (p %= q).
-Proof. by move => nz_r; rewrite /eqp !dvdp_mul2r. Qed.
+Proof. by move=> nz_r; rewrite /eqp !dvdp_mul2r. Qed.
Lemma eqp_mul2l r p q: r != 0 -> (r * p %= r * q) = (p %= q).
-Proof. by move => nz_r; rewrite /eqp !dvdp_mul2l. Qed.
+Proof. by move=> nz_r; rewrite /eqp !dvdp_mul2l. Qed.
Lemma eqp_mull r p q: (q %= r) -> (p * q %= p * r).
Proof.
@@ -1570,7 +1570,7 @@ by rewrite scalerAr e -scalerAr.
Qed.
Lemma eqp_mulr q p r : (p %= q) -> (p * r %= q * r).
-Proof. by move=> epq; rewrite ![_ * r]mulrC eqp_mull. Qed.
+Proof. by move=> epq; rewrite ![_ * r]mulrC eqp_mull. Qed.
Lemma eqp_exp p q k : p %= q -> p ^+ k %= q ^+ k.
Proof.
@@ -1598,7 +1598,7 @@ case (q =P 0)=> [->|]; [|move/eqP => Hq].
case (p =P 0)=> [->|]; [|move/eqP => Hp].
by rewrite size_poly0 eq_sym size_poly_eq0; move/eqP->; rewrite eqpxx.
move: pq; rewrite dvdp_eq; set c := _ ^+ _; set x := _ %/ _; move/eqP=> eqpq.
-move:(eqpq); move/(congr1 (size \o (@polyseq R)))=> /=.
+move: (eqpq); move/(congr1 (size \o (@polyseq R)))=> /=.
have cn0 : c != 0 by rewrite expf_neq0 // lead_coef_eq0.
rewrite (@eqp_size _ q); last by apply: eqp_scale.
rewrite size_mul ?p0 // => [-> HH|]; last first.
@@ -1608,7 +1608,7 @@ suff: size x == 1%N.
case/size_poly1P=> y H1y H2y.
by apply/eqpP; exists (y, c); rewrite ?H1y // eqpq H2y mul_polyC.
case: (size p) HH (size_poly_eq0 p)=> [|n]; first by case: eqP Hp.
-by rewrite addnS -add1n eqn_add2r;move/eqP->.
+by rewrite addnS -add1n eqn_add2r; move/eqP->.
Qed.
Lemma eqp_root p q : p %= q -> root p =1 root q.
@@ -1809,7 +1809,7 @@ Proof.
case: (eqVneq n 0) => [-> | nn0]; first by rewrite gcd0p mulr0 eqpxx.
case: (eqVneq m 0) => [-> | mn0]; first by rewrite mul0r gcdp0 eqpxx.
rewrite gcdpE modp_mull gcd0p size_mul //; case: ifP; first by rewrite eqpxx.
-rewrite (polySpred mn0) addSn /= -{1}[size n]add0n ltn_add2r; move/negbT.
+rewrite (polySpred mn0) addSn /= -{1}[size n]add0n ltn_add2r; move/negbT.
rewrite -ltnNge prednK ?size_poly_gt0 // leq_eqVlt ltnS leqn0 size_poly_eq0.
rewrite (negPf mn0) orbF; case/size_poly1P=> c cn0 -> {mn0 m}; rewrite mul_polyC.
suff -> : n %% (c *: n) = 0 by rewrite gcd0p; apply: eqp_scale.
@@ -2042,7 +2042,7 @@ Proof.
elim=> [|k ihk] p q /= qn0; first by rewrite leqn0 size_poly_eq0 (negPf qn0).
move=> sqSn qsp; case: (eqVneq q 0)=> q0; first by rewrite q0 eqxx in qn0.
rewrite (negPf qn0).
-have sp : size p > 0 by apply: leq_trans qsp; rewrite size_poly_gt0.
+have sp : size p > 0 by apply: leq_trans qsp; rewrite size_poly_gt0.
case: (eqVneq (p %% q) 0) => [r0 | rn0] /=.
rewrite r0 /egcdp_rec; case: k ihk sqSn => [|n] ihn sqSn /=.
rewrite !scaler0 !mul0r subr0 add0r mul1r size_poly0 size_poly1.
@@ -2063,13 +2063,13 @@ rewrite gcdpE ltnNge qsp //= (eqp_ltrans (gcdpC _ _)); split; last first.
rewrite mul0r size_opp size_poly0 maxn0; apply: leq_trans ihn'1 _.
exact: leq_modp.
case: (eqVneq (p %/ q) 0)=> [-> | qqn0].
- rewrite mulr0 size_opp size_poly0 maxn0; apply: leq_trans ihn'1 _.
+ rewrite mulr0 size_opp size_poly0 maxn0; apply: leq_trans ihn'1 _.
exact: leq_modp.
rewrite geq_max (leq_trans ihn'1) ?leq_modp //= size_opp size_mul //.
move: (ihn'2); rewrite -(leq_add2r (size (p %/ q))).
have : size v + size (p %/ q) > 0 by rewrite addn_gt0 size_poly_gt0 vn0.
have : size q + size (p %/ q) > 0 by rewrite addn_gt0 size_poly_gt0 qn0.
- do 2! move/prednK=> {1}<-; rewrite ltnS => h; apply: leq_trans h _.
+ do 2!move/prednK=> {1}<-; rewrite ltnS => h; apply: leq_trans h _.
rewrite size_divp // addnBA; last by apply: leq_trans qsp; apply: leq_pred.
rewrite addnC -addnBA ?leq_pred //; move: qn0; rewrite -size_poly_eq0 -lt0n.
by move/prednK=> {1}<-; rewrite subSnn addn1.
@@ -2107,10 +2107,10 @@ Qed.
Lemma Bezout_coprimepP : forall p q,
reflect (exists u, u.1 * p + u.2 * q %= 1) (coprimep p q).
Proof.
-move=> p q; rewrite -gcdp_eqp1; apply:(iffP idP)=> [g1|].
+move=> p q; rewrite -gcdp_eqp1; apply: (iffP idP)=> [g1|].
by case: (Bezoutp p q) => [[u v] Puv]; exists (u, v); apply: eqp_trans g1.
-case=>[[u v]]; rewrite eqp_sym=> Puv; rewrite /eqp (eqp_dvdr _ Puv).
-by rewrite dvdp_addr dvdp_mull ?dvdp_gcdl ?dvdp_gcdr //= dvd1p.
+case=> [[u v]]; rewrite eqp_sym=> Puv; rewrite /eqp (eqp_dvdr _ Puv).
+by rewrite dvdp_addr dvdp_mull ?dvdp_gcdl ?dvdp_gcdr //= dvd1p.
Qed.
Lemma coprimep_root p q x : coprimep p q -> root p x -> q.[x] != 0.
@@ -2126,7 +2126,7 @@ Qed.
Lemma Gauss_dvdpl p q d: coprimep d q -> (d %| p * q) = (d %| p).
Proof.
move/Bezout_coprimepP=>[[u v] Puv]; apply/idP/idP; last exact: dvdp_mulr.
-move:Puv; move/(eqp_mull p); rewrite mulr1 mulrDr eqp_sym=> peq dpq.
+move: Puv; move/(eqp_mull p); rewrite mulr1 mulrDr eqp_sym=> peq dpq.
rewrite (eqp_dvdr _ peq) dvdp_addr; first by rewrite mulrA mulrAC dvdp_mulr.
by rewrite mulrA dvdp_mull ?dvdpp.
Qed.
@@ -2138,7 +2138,7 @@ Proof. by rewrite mulrC; apply: Gauss_dvdpl. Qed.
Lemma Gauss_dvdp m n p : coprimep m n -> (m * n %| p) = (m %| p) && (n %| p).
Proof.
case: (eqVneq m 0) => [-> | mn0].
- by rewrite coprime0p; move/eqp_dvdl->; rewrite !mul0r dvd0p dvd1p andbT.
+ by rewrite coprime0p; move/eqp_dvdl->; rewrite !mul0r dvd0p dvd1p andbT.
case: (eqVneq n 0) => [-> | nn0].
by rewrite coprimep0; move/eqp_dvdl->; rewrite !mulr0 dvd1p.
move=> hc; apply/idP/idP.
@@ -2149,7 +2149,7 @@ case/andP => dmp dnp; move: (dnp); rewrite dvdp_eq.
set c2 := _ ^+ _; set q2 := _ %/ _; move/eqP=> e2.
have := (sym_eq (Gauss_dvdpl q2 hc)); rewrite -e2.
have -> : m %| c2 *: p by rewrite -mul_polyC dvdp_mull.
-rewrite dvdp_eq; set c3 := _ ^+ _; set q3 := _ %/ _; move/eqP=> e3.
+rewrite dvdp_eq; set c3 := _ ^+ _; set q3 := _ %/ _; move/eqP=> e3.
apply: (@eq_dvdp (c3 * c2) q3).
by rewrite mulf_neq0 // expf_neq0 // lead_coef_eq0.
by rewrite mulrA -e3 -scalerAl -e2 scalerA.
@@ -2170,7 +2170,7 @@ Proof. by move=> co_pn; rewrite mulrC Gauss_gcdpr. Qed.
Lemma coprimep_mulr p q r : coprimep p (q * r) = (coprimep p q && coprimep p r).
Proof.
apply/coprimepP/andP=> [hp | [/coprimepP-hq hr]].
- by split; apply/coprimepP=> d dp dq; rewrite hp //;
+ by split; apply/coprimepP=> d dp dq; rewrite hp //;
[apply/dvdp_mulr | apply/dvdp_mull].
move=> d dp dqr; move/(_ _ dp) in hq.
rewrite Gauss_dvdpl in dqr; first exact: hq.
@@ -2309,7 +2309,7 @@ have /size_poly1P [c cn0 em'] : size m' == 1%N.
by rewrite (negPf mn0) (negPf c2n0).
have := (hc _ (dvdpp _) hd); rewrite -size_poly_eq1.
rewrite polySpred; last by rewrite expf_eq0 negb_and m'_n0 orbT.
- rewrite size_exp eqSS muln_eq0; move: k_gt0; rewrite lt0n; move/negPf->.
+ rewrite size_exp eqSS muln_eq0; move: k_gt0; rewrite lt0n; move/negPf->.
by rewrite orbF -{2}(@prednK (size m')) ?lt0n // size_poly_eq0.
rewrite -(@dvdp_scalel c2) // def_m em' mul_polyC dvdp_scalel //.
by rewrite -(@dvdp_scaler c1) // def_n dvdp_mull.
@@ -2387,7 +2387,7 @@ case dpq: (d %| gcdp p q).
move: (dpq); rewrite dvdp_gcd dp /= => dq; apply: dvdUp; move: cdq.
apply: contraLR=> nd1; apply/coprimepPn; last first.
by exists d; rewrite dvdp_gcd dvdpp dq nd1.
- move/negP: p0; move/negP; apply: contra=> d0; move:dp; rewrite (eqP d0).
+ move/negP: p0; move/negP; apply: contra=> d0; move: dp; rewrite (eqP d0).
by rewrite dvd0p.
move: (dp); apply: contraLR=> ndp'.
rewrite (@eqp_dvdr ((lead_coef (gcdp p q) ^+ scalp p (gcdp p q))*:p)).
@@ -2409,7 +2409,7 @@ move=> p0 sd; apply/idP/idP.
case: gdcopP=> r rp crq maxr dr; move/negPf: (p0)=> p0f.
rewrite (dvdp_trans dr) //=.
move: crq; apply: contraL=> dq; rewrite p0f orbF; apply/coprimepPn.
- by move:p0; apply: contra=> r0; move: rp; rewrite (eqP r0) dvd0p.
+ by move: p0; apply: contra=> r0; move: rp; rewrite (eqP r0) dvd0p.
by exists d; rewrite dvdp_gcd dr dq -size_poly_eq1 sd.
case/andP=> dp dq; case: gdcopP=> r rp crq maxr; apply: maxr=> //.
apply/coprimepP=> x xd xq.
@@ -2472,7 +2472,7 @@ Lemma modp_XsubC p c : p %% ('X - c%:P) = p.[c]%:P.
Proof.
have: root (p - p.[c]%:P) c by rewrite /root !hornerE subrr.
case/factor_theorem=> q /(canRL (subrK _)) Dp; rewrite modpE /= lead_coefXsubC.
-rewrite GRing.unitr1 expr1n invr1 scale1r {1}Dp.
+rewrite GRing.unitr1 expr1n invr1 scale1r {1}Dp.
rewrite RingMonic.rmodp_addl_mul_small // ?monicXsubC // size_XsubC size_polyC.
by case: (p.[c] == 0).
Qed.
@@ -2735,7 +2735,7 @@ Qed.
Lemma mulpK q : (q * d) %/ d = q.
Proof.
case/edivpP: (sym_eq (addr0 (q * d))); rewrite // size_poly0 size_poly_gt0.
-by rewrite -lead_coef_eq0; apply: contraTneq ulcd => ->; rewrite unitr0.
+by rewrite -lead_coef_eq0; apply: contraTneq ulcd => ->; rewrite unitr0.
Qed.
Lemma mulKp q : (d * q) %/ d = q.
@@ -2785,7 +2785,7 @@ by rewrite -lead_coef_eq0; apply: contraTneq ulcd => ->; rewrite unitr0.
Qed.
Lemma dvdp_eq_mul p q : d %| p -> (p == q * d) = (p %/ d == q).
-Proof. by move=>dv_d_p; rewrite eq_sym -dvdp_eq_div // eq_sym. Qed.
+Proof. by move=> dv_d_p; rewrite eq_sym -dvdp_eq_div // eq_sym. Qed.
Lemma divp_mulA p q : d %| q -> p * (q %/ d) = p * q %/ d.
Proof.
@@ -3206,7 +3206,7 @@ Qed.
Lemma edivp_eq d q r : size r < size d -> edivp (q * d + r) d = (0%N, q, r).
Proof.
-move=> srd; apply: Idomain.edivp_eq ; rewrite // unitfE lead_coef_eq0.
+move=> srd; apply: Idomain.edivp_eq; rewrite // unitfE lead_coef_eq0.
by rewrite -size_poly_gt0; apply: leq_trans srd.
Qed.
@@ -3228,8 +3228,8 @@ Qed.
Lemma Bezout_eq1_coprimepP : forall p q,
reflect (exists u, u.1 * p + u.2 * q = 1) (coprimep p q).
Proof.
-move=> p q; apply:(iffP idP)=> [hpq|]; last first.
- by case=>[[u v]] /= e; apply/Bezout_coprimepP; exists (u, v); rewrite e eqpxx.
+move=> p q; apply: (iffP idP)=> [hpq|]; last first.
+ by case=> [[u v]] /= e; apply/Bezout_coprimepP; exists (u, v); rewrite e eqpxx.
case/Bezout_coprimepP: hpq => [[u v]] /=.
case/eqpP=> [[c1 c2]] /andP /= [c1n0 c2n0] e.
exists (c2^-1 *: (c1 *: u), c2^-1 *: (c1 *: v)); rewrite /= -!scalerAl.
@@ -3298,7 +3298,7 @@ Proof.
rewrite /rdivp /rscalp /rmodp !unlock map_poly_eq0 size_map_poly.
case: eqP; rewrite /= -(rmorph0 (map_poly_rmorphism f)) //; move/eqP=> q_nz.
move: (size a) => m; elim: m 0%N 0 a => [|m IHm] qq r a /=.
- rewrite -!mul_polyC !size_map_poly !lead_coef_map // -(map_polyXn f).
+ rewrite -!mul_polyC !size_map_poly !lead_coef_map // -(map_polyXn f).
by rewrite -!(map_polyC f) -!rmorphM -rmorphB -rmorphD; case: (_ < _).
rewrite -!mul_polyC !size_map_poly !lead_coef_map // -(map_polyXn f).
by rewrite -!(map_polyC f) -!rmorphM -rmorphB -rmorphD /= IHm; case: (_ < _).
diff --git a/mathcomp/algebra/rat.v b/mathcomp/algebra/rat.v
index d004748..e837ed2 100644
--- a/mathcomp/algebra/rat.v
+++ b/mathcomp/algebra/rat.v
@@ -32,7 +32,7 @@ Local Open Scope ring_scope.
Local Notation sgr := Num.sg.
Record rat : Set := Rat {
- valq : (int * int) ;
+ valq : (int * int);
_ : (0 < valq.2) && coprime `|valq.1| `|valq.2|
}.
@@ -73,7 +73,7 @@ Lemma coprime_num_den x : coprime `|numq x| `|denq x|.
Proof. by rewrite /numq /denq; case: x=> [[a b] /= /andP []]. Qed.
Fact RatK x P : @Rat (numq x, denq x) P = x.
-Proof. by move:x P => [[a b] P'] P; apply: val_inj. Qed.
+Proof. by move: x P => [[a b] P'] P; apply: val_inj. Qed.
Fact fracq_subproof : forall x : int * int,
let n :=
@@ -100,8 +100,8 @@ Proof. by apply: val_inj; rewrite /= gcdn1 !divn1 abszE mulr_sign_norm. Qed.
Fact valqK x : fracq (valq x) = x.
Proof.
-move:x => [[n d] /= Pnd]; apply: val_inj=> /=.
-move: Pnd; rewrite /coprime /fracq /=; case/andP=> hd; move/eqP=> hnd.
+move: x => [[n d] /= Pnd]; apply: val_inj=> /=.
+move: Pnd; rewrite /coprime /fracq /= => -/andP[] hd -/eqP hnd.
by rewrite ltr_gtF ?gtr_eqF //= hnd !divn1 mulz_sign_abs abszE gtr0_norm.
Qed.
@@ -407,7 +407,7 @@ Proof. by rewrite -ratzE /ratz rat_eqE /numq /denq /= mulr0 eqxx andbT. Qed.
(* fracq should never appear, its canonical form is _%:Q / _%:Q *)
Lemma fracqE x : fracq x = x.1%:Q / x.2%:Q.
Proof.
-move:x => [m n] /=.
+move: x => [m n] /=.
case n0: (n == 0); first by rewrite (eqP n0) fracq0 rat0 invr0 mulr0.
rewrite -[m%:Q]valqK -[n%:Q]valqK.
rewrite [_^-1]invq_frac ?(denq_neq0, numq_eq0, n0, intq_eq0) //.
@@ -426,7 +426,7 @@ CoInductive divq_spec (n d : int) : int -> int -> rat -> Type :=
Lemma divqP n d : divq_spec n d n d (n%:Q / d%:Q).
Proof.
set x := (n, d); rewrite -[n]/x.1 -[d]/x.2 -fracqE.
-by case: fracqP => [_|k fx k_neq0] /=; constructor.
+by case: fracqP => [_|k fx k_neq0] /=; constructor.
Qed.
Lemma divq_eq (nx dx ny dy : rat) :
@@ -466,7 +466,8 @@ Qed.
Lemma denqVz (i : int) : i != 0 -> denq (i%:~R^-1) = `|i|.
Proof.
-by move=> h; rewrite -div1r -[1]/(1%:~R) coprimeq_den /= ?coprime1n // (negPf h).
+move=> h; rewrite -div1r -[1]/(1%:~R).
+by rewrite coprimeq_den /= ?coprime1n // (negPf h).
Qed.
Lemma numqE x : (numq x)%:~R = x * (denq x)%:~R.
@@ -657,7 +658,7 @@ Qed.
Fact Qnat_semiring_closed : semiring_closed Qnat.
Proof.
-do 2?split; move => // x y; rewrite !Qnat_def => /andP[xQ hx] /andP[yQ hy].
+do 2?split; move=> // x y; rewrite !Qnat_def => /andP[xQ hx] /andP[yQ hy].
by rewrite rpredD // addr_ge0.
by rewrite rpredM // mulr_ge0.
Qed.
diff --git a/mathcomp/algebra/ssralg.v b/mathcomp/algebra/ssralg.v
index 15bce96..9a0314e 100644
--- a/mathcomp/algebra/ssralg.v
+++ b/mathcomp/algebra/ssralg.v
@@ -756,7 +756,7 @@ Lemma eqr_opp x y : (- x == - y) = (x == y).
Proof. exact: can_eq opprK x y. Qed.
Lemma eqr_oppLR x y : (- x == y) = (x == - y).
-Proof. exact: inv_eq opprK x y. Qed.
+Proof. exact: inv_eq opprK x y. Qed.
Lemma mulr0n x : x *+ 0 = 0. Proof. by []. Qed.
Lemma mulr1n x : x *+ 1 = x. Proof. by []. Qed.
@@ -1234,7 +1234,7 @@ rewrite exprS {}IHn /= mulrDl !big_distrr /= big_ord_recl mulr1 subn0.
rewrite !big_ord_recr /= !binn !subnn !mul1r !subn0 bin0 !exprS -addrA.
congr (_ + _); rewrite addrA -big_split /=; congr (_ + _).
apply: eq_bigr => i _; rewrite !mulrnAr !mulrA -exprS -subSn ?(valP i) //.
-by rewrite subSS (commrX _ (commr_sym cxy)) -mulrA -exprS -mulrnDr.
+by rewrite subSS (commrX _ (commr_sym cxy)) -mulrA -exprS -mulrnDr.
Qed.
Lemma exprBn_comm x y n (cxy : comm x y) :
@@ -2612,7 +2612,7 @@ Section ClassDef.
Variable R : ringType.
Record class_of (T : Type) : Type := Class {
- base : Lalgebra.class_of R T;
+ base : Lalgebra.class_of R T;
mixin : axiom (Lalgebra.Pack _ base T)
}.
Local Coercion base : class_of >-> Lalgebra.class_of.
@@ -2682,7 +2682,7 @@ Lemma mulr_algr a x : x * a%:A = a *: x.
Proof. by rewrite -scalerAr mulr1. Qed.
Lemma exprZn k x n : (k *: x) ^+ n = k ^+ n *: x ^+ n.
-Proof.
+Proof.
elim: n => [|n IHn]; first by rewrite !expr0 scale1r.
by rewrite !exprS IHn -scalerA scalerAr scalerAl.
Qed.
@@ -3124,7 +3124,7 @@ Section ClassDef.
Variable R : ringType.
Record class_of (T : Type) : Type := Class {
- base : Algebra.class_of R T;
+ base : Algebra.class_of R T;
mixin : GRing.UnitRing.mixin_of (Ring.Pack base T)
}.
Definition base2 R m := UnitRing.Class (@mixin R m).
@@ -3627,7 +3627,7 @@ End LmodPred.
Section UnitRingPred.
-Variable R : unitRingType.
+Variable R : unitRingType.
Section Div.
@@ -4247,7 +4247,7 @@ Proof. by move=> /= -> -> ->. Qed.
Lemma eval_If e :
let ev := qf_eval e in ev If = (if ev pred_f then ev then_f else ev else_f).
-Proof. by rewrite /=; case: ifP => _; rewrite ?orbF. Qed.
+Proof. by rewrite /=; case: ifP => _; rewrite ?orbF. Qed.
End If.
@@ -6011,7 +6011,7 @@ Section FinFunRing.
Variable (aT : finType) (R : ringType) (a : aT).
Definition ffun_one : {ffun aT -> R} := [ffun => 1].
-Definition ffun_mul (f g : {ffun aT -> R}) := [ffun x => f x * g x].
+Definition ffun_mul (f g : {ffun aT -> R}) := [ffun x => f x * g x].
Fact ffun_mulA : associative ffun_mul.
Proof. by move=> f1 f2 f3; apply/ffunP=> i; rewrite !ffunE mulrA. Qed.
diff --git a/mathcomp/algebra/ssrint.v b/mathcomp/algebra/ssrint.v
index eb66940..e6c4ca6 100644
--- a/mathcomp/algebra/ssrint.v
+++ b/mathcomp/algebra/ssrint.v
@@ -120,7 +120,7 @@ Lemma int_rect (P : int -> Type) :
-> (forall n : nat, P (- n) -> P (- (n.+1)))
-> forall n : int, P n.
Proof.
-by move=> P0 hPp hPn []; elim=> [|n ihn]//; do? [apply: hPn | apply: hPp].
+by move=> P0 hPp hPn []; elim=> [|n ihn]//; do ?[apply: hPn | apply: hPp].
Qed.
Definition int_rec := int_rect.
@@ -210,7 +210,7 @@ Lemma int_rect (P : int -> Type) :
-> (forall n : nat, P (- (n%:Z)) -> P (- (n.+1%N%:Z)))
-> forall n : int, P n.
Proof.
-by move=> P0 hPp hPn []; elim=> [|n ihn]//; do? [apply: hPn | apply: hPp].
+by move=> P0 hPp hPn []; elim=> [|n ihn]//; do ?[apply: hPn | apply: hPp].
Qed.
Definition int_rec := int_rect.
@@ -546,7 +546,7 @@ case: (leqP m n)=> hmn; rewrite /intmul //=.
rewrite -{2}[n](@subnKC m)// mulrnDr opprD addrA subrr sub0r.
by case hdmn: (_ - _)%N=> [|dmn] /=; first by rewrite mulr0n oppr0.
have hnm := ltnW hmn.
-rewrite -{2}[m](@subnKC n)// mulrnDr addrAC subrr add0r.
+rewrite -{2}[m](@subnKC n)// mulrnDr addrAC subrr add0r.
by rewrite subzn.
Qed.
diff --git a/mathcomp/algebra/vector.v b/mathcomp/algebra/vector.v
index b7a9052..c4865ca 100644
--- a/mathcomp/algebra/vector.v
+++ b/mathcomp/algebra/vector.v
@@ -204,7 +204,7 @@ Proof.
have r2vP r: {v | v2r v = r}.
by apply: sig_eqW; have [v _ vK] := v2r_bij; exists (v r).
by exists (fun r => sval (r2vP r)) => r; case: (r2vP r).
-Qed.
+Qed.
Definition r2v := sval r2v_subproof.
Lemma r2vK : cancel r2v v2r. Proof. exact: (svalP r2v_subproof). Qed.
@@ -721,7 +721,7 @@ Lemma dimvS U V : (U <= V)%VS -> \dim U <= \dim V.
Proof. exact: mxrankS. Qed.
Lemma dimv_leqif_sup U V : (U <= V)%VS -> \dim U <= \dim V ?= iff (V <= U)%VS.
-Proof. exact: mxrank_leqif_sup. Qed.
+Proof. exact: mxrank_leqif_sup. Qed.
Lemma dimv_leqif_eq U V : (U <= V)%VS -> \dim U <= \dim V ?= iff (U == V).
Proof. by rewrite eqEsubv; apply: mxrank_leqif_eq. Qed.
@@ -939,7 +939,7 @@ Lemma span_subvP {X U} : reflect {subset X <= U} (<<X>> <= U)%VS.
Proof.
rewrite /subV [@span _ _]unlock genmxE.
apply: (iffP row_subP) => /= [sXU | sXU i].
- by move=> _ /seq_tnthP[i ->]; have:= sXU i; rewrite rowK memvK.
+ by move=> _ /seq_tnthP[i ->]; have:= sXU i; rewrite rowK memvK.
by rewrite rowK -memvK sXU ?mem_tnth.
Qed.
@@ -1005,7 +1005,7 @@ Lemma seq1_free v : free [:: v] = (v != 0).
Proof. by rewrite /free span_seq1 dim_vline; case: (~~ _). Qed.
Lemma perm_free X Y : perm_eq X Y -> free X = free Y.
-Proof.
+Proof.
by move=> eqX; rewrite /free (perm_eq_size eqX) (eq_span (perm_eq_mem eqX)).
Qed.
@@ -1202,7 +1202,7 @@ Lemma bigcat_free :
directv (\sum_(i | P i) <<Xs i>>) ->
(forall i, P i -> free (Xs i)) -> free (\big[cat/[::]]_(i | P i) Xs i).
Proof.
-rewrite /free directvE /= span_bigcat => /directvP-> /= freeXs.
+rewrite /free directvE /= span_bigcat => /directvP-> /= freeXs.
rewrite (big_morph _ (@size_cat _) (erefl _)) /=.
by apply/eqP/eq_bigr=> i /freeXs/eqP.
Qed.
@@ -1534,7 +1534,7 @@ Qed.
Lemma limg_lfunVK f : {in limg f, cancel f^-1%VF f}.
Proof. by move=> _ /memv_imgP[u _ ->]; rewrite -!comp_lfunE inv_lfun_def. Qed.
-Lemma lkerE f U : (U <= lker f)%VS = (f @: U == 0)%VS.
+Lemma lkerE f U : (U <= lker f)%VS = (f @: U == 0)%VS.
Proof.
rewrite unlock -dimv_eq0 /dimv /subsetv !genmxE mxrank_eq0.
by rewrite (sameP sub_kermxP eqP).
@@ -1550,7 +1550,7 @@ Lemma eqlfun_inP V f g : reflect {in V, f =1 g} (V <= lker (f - g))%VS.
Proof. by apply: (iffP subvP) => E x /E/eqlfunP. Qed.
Lemma limg_ker_compl f U : (f @: (U :\: lker f) = f @: U)%VS.
-Proof.
+Proof.
rewrite -{2}(addv_diff_cap U (lker f)) limg_add; apply/esym/addv_idPl.
by rewrite (subv_trans _ (sub0v _)) // subv0 -lkerE capvSr.
Qed.
@@ -1825,7 +1825,7 @@ Lemma addv_pi2_proj U V w (pi2 := addv_pi2 U V) : pi2 (pi2 w) = pi2 w.
Proof. by rewrite addv_pi2_id ?memv_pi2. Qed.
Lemma addv_pi1_pi2 U V w :
- w \in (U + V)%VS -> addv_pi1 U V w + addv_pi2 U V w = w.
+ w \in (U + V)%VS -> addv_pi1 U V w + addv_pi2 U V w = w.
Proof. by rewrite -addv_diff; apply: daddv_pi_add; apply: capv_diff. Qed.
Section Sumv_Pi.
diff --git a/mathcomp/attic/algnum_basic.v b/mathcomp/attic/algnum_basic.v
index 48adbb3..54cb1c5 100644
--- a/mathcomp/attic/algnum_basic.v
+++ b/mathcomp/attic/algnum_basic.v
@@ -102,12 +102,12 @@ pose g := fun l => let p := minPoly K l in \prod_(i < size p) f p`_i; exists g =
pose p := minPoly K l; pose n := (size p).-1.
pose s := mkseq (fun i => p`_i * (g l) ^+ (n - i)%N) (size p).
have kI (i : 'I_(size p)) : p`_i \in K by apply/all_nthP => //; apply/minPolyOver.
-have glA : g l \in A by rewrite/g; elim/big_ind: _ => // i _; apply/fHa.
+have glA : g l \in A by rewrite /g; elim/big_ind: _ => // i _; apply/fHa.
have pmon: p`_n = 1 by have /monicP := monic_minPoly K l.
-have an1: nth 0 s n = 1 by rewrite /n nth_mkseq ?pmon ?mul1r ?subnn ?size_minPoly.
+have an1: nth 0 s n = 1 by rewrite /n nth_mkseq ?pmon ?mul1r ?subnn ?size_minPoly.
have eqPs: (Poly s) = s :> seq L0.
by rewrite (PolyK (c := 0)) // -nth_last size_mkseq an1 oner_neq0.
-have ilen i : i < size p -> i <= n by move => iB; rewrite /n -ltnS prednK // size_minPoly.
+have ilen i : i < size p -> i <= n by move=> iB; rewrite /n -ltnS prednK // size_minPoly.
split => //; first by apply/prodf_neq0 => i _.
exists (Poly s); split; last first; last by rewrite monicE lead_coefE eqPs // size_mkseq an1.
rewrite /root -(mulr0 ((g l) ^+ n)); have <- := minPolyxx K l.
@@ -116,11 +116,11 @@ exists (Poly s); split; last first; last by rewrite monicE lead_coefE eqPs // si
by congr (_ * _); rewrite -exprD subnK ?ilen.
apply/(all_nthP 0) => i; rewrite eqPs size_mkseq => iB; rewrite nth_mkseq //.
have := ilen _ iB; rewrite leq_eqVlt => /orP.
- case; first by move /eqP ->; rewrite subnn pmon mulr1.
+ case; first by move/eqP ->; rewrite subnn pmon mulr1.
rewrite -subn_gt0 => {pmon ilen eqPs an1} /prednK <-; rewrite exprS mulrA /= Amcl ?rpredX //.
rewrite /g (bigD1 (Ordinal iB)) //= mulrA; apply/Amcl.
by rewrite mulrC; apply/fHk/(kI (Ordinal iB)).
- by rewrite rpred_prod => // j _; apply/fHa.
+ by rewrite rpred_prod => // j _; apply/fHa.
Qed.
Lemma int_clos_incl a : a \in A -> integral a.
@@ -135,7 +135,7 @@ Lemma intPl (I : eqType) G (r : seq I) l : has (fun x => G x != 0) r ->
Proof.
have Aaddr : addr_closed A := Asubr; have Amulr : mulr_closed A := Asubr.
have Aoppr : oppr_closed A := Asubr; have [Aid _ _] := Asubr.
-move => rn gen; pose s := in_tuple r; pose g j := gen (tnth s j) (mem_tnth j s).
+move=> rn gen; pose s := in_tuple r; pose g j := gen (tnth s j) (mem_tnth j s).
pose f j := sval (g j); pose fH j := svalP (g j).
pose M := \matrix_(i, j < size r) f j (tnth s i).
exists (char_poly M); rewrite char_poly_monic; split => //.
@@ -153,7 +153,7 @@ Qed.
Lemma intPr l : integral l -> exists r : seq L0,
[/\ r != nil, all A r & \sum_(i < size r) r`_i * l ^+ i = l ^+ (size r)].
Proof.
-move => [p [pm pA pr]]; pose n := size p; pose r := take n.-1 (- p).
+move=> [p [pm pA pr]]; pose n := size p; pose r := take n.-1 (- p).
have ps : n > 1.
rewrite ltnNge; apply/negP => /size1_polyC pc; rewrite pc in pr pm => {pc}.
move: pr => /rootP; rewrite hornerC => pc0.
@@ -163,10 +163,10 @@ exists r; split.
apply/eqP => /nilP; rewrite /nilp /r size_takel; last by rewrite size_opp leq_pred.
by rewrite -subn1 subn_eq0 leqNgt ps.
have : - p \is a polyOver A by rewrite rpredN //; apply Asubr.
- by move => /allP-popA; apply/allP => x /mem_take /popA.
+ by move=> /allP-popA; apply/allP => x /mem_take /popA.
move: pr => /rootP; rewrite horner_coef -(prednK (n := size p)); last by rewrite ltnW.
rewrite big_ord_recr /= rs; have := monicP pm; rewrite /lead_coef => ->; rewrite mul1r => /eqP.
-rewrite addrC addr_eq0 -sumrN => /eqP => ->; apply/eq_bigr => i _; rewrite /r nth_take //.
+rewrite addrC addr_eq0 -sumrN => /eqP => ->; apply/eq_bigr => i _; rewrite /r nth_take //.
by rewrite coefN mulNr.
Qed.
@@ -174,11 +174,11 @@ Lemma int_subring_closed a b : integral a -> integral b ->
integral (a - b) /\ integral (a * b).
Proof.
have [A0 _ ] := (Asubr : zmod_closed A); have [A1 Asubr2 Amulr2] := Asubr.
-move => /intPr[ra [/negbTE-ran raA raS]] /intPr[rb [/negbTE-rbn rbA rbS]].
+move=> /intPr[ra [/negbTE-ran raA raS]] /intPr[rb [/negbTE-rbn rbA rbS]].
pose n := size ra; pose m := size rb; pose r := Finite.enum [finType of 'I_n * 'I_m].
pose G (z : 'I_n * 'I_m) := let (k, l) := z in a ^ k * b ^l.
have [nz mz] : 0 < n /\ 0 < m.
- by rewrite !lt0n; split; apply/negP; move => /nilP/eqP; rewrite ?ran ?rbn.
+ by rewrite !lt0n; split; apply/negP => - /nilP/eqP; rewrite ?ran ?rbn.
have rnn : has (fun x => G x != 0) r.
apply/hasP; exists (Ordinal nz, Ordinal mz); first by rewrite /r -enumT mem_enum.
by rewrite /G mulr1 oner_neq0.
@@ -186,22 +186,22 @@ pose h s i : 'I_(size s) -> L0 := fun k => if (i != size s) then (i == k)%:R els
pose f i j (z : 'I_n * 'I_m) : L0 := let (k, l) := z in h ra i k * h rb j l.
have fA i j : forall z, f i j z \in A.
have hA s k l : all A s -> h s k l \in A.
- move => /allP-sa; rewrite /h; case (eqVneq k (size s)) => [/eqP ->|->].
- by apply/sa/mem_nth.
+ move=> /allP-sa; rewrite /h; case (eqVneq k (size s)) => [/eqP ->|->].
+ by apply/sa/mem_nth.
by case (eqVneq k l) => [/eqP ->|/negbTE ->].
- by move => [k l]; rewrite /f; apply/Amulr2; apply/hA.
+ by move=> [k l]; rewrite /f; apply/Amulr2; apply/hA.
have fS i j : (i <= n) -> (j <= m) -> \sum_(z <- r) f i j z * G z = a ^ i * b ^ j.
have hS s k c : (k <= size s) -> \sum_(l < size s) s`_l * c ^ l = c ^ (size s) ->
\sum_(l < size s) h s k l * c ^ l = c ^ k.
- move => kB sS; rewrite /h; case (eqVneq k (size s)) => [->|kn {sS}]; first by rewrite eqxx.
+ move=> kB sS; rewrite /h; case (eqVneq k (size s)) => [->|kn {sS}]; first by rewrite eqxx.
rewrite kn; rewrite leq_eqVlt (negbTE kn) /= in kB => {kn}.
rewrite (bigD1 (Ordinal kB)) //= eqxx mul1r /= -[RHS]addr0; congr (_ + _).
by apply/big1 => l; rewrite eq_sym => kl; have : k != l := kl => /negbTE ->; rewrite mul0r.
- move => iB jB; rewrite -(hS ra i a) // -(hS rb j b) // mulr_suml.
+ move=> iB jB; rewrite -(hS ra i a) // -(hS rb j b) // mulr_suml.
rewrite (eq_bigr (fun k => \sum_(l < m) (h ra i k * a ^ k) * (h rb j l * b ^ l))).
rewrite pair_bigA; apply eq_bigr => [[k l] _]; rewrite !mulrA; congr (_ * _).
by rewrite -!mulrA [in h rb j l * a ^ k] mulrC.
- by move => k _; rewrite mulr_sumr.
+ by move=> k _; rewrite mulr_sumr.
pose fB i j z := f i.+1 j z - f i j.+1 z; pose fM i j z := f i.+1 j.+1 z.
have fBA i j z : fB i j z \in A by rewrite /fB Asubr2.
have fBM i j z : fM i j z \in A by rewrite /fM.
@@ -213,10 +213,10 @@ by rewrite /fM [in RHS]/G mulrA [in (a * b) * a ^ i] mulrC mulrA -exprSr -mulrA
Qed.
Lemma int_zmod_closed a b : integral a -> integral b -> integral (a - b).
-Proof. by move => aI bI; have [Azmod] := int_subring_closed aI bI. Qed.
+Proof. by move=> aI bI; have [Azmod] := int_subring_closed aI bI. Qed.
Lemma int_mulr_closed a b : integral a -> integral b -> integral (a * b).
-Proof. by move => aI bI; have [_] := int_subring_closed aI bI. Qed.
+Proof. by move=> aI bI; have [_] := int_subring_closed aI bI. Qed.
End Integral.
@@ -233,7 +233,7 @@ Definition tr : L0 -> L0 -> F := fun l k =>
Fact tr_is_scalar l : scalar (tr l).
Proof.
-move => c a b; rewrite /tr -!linearP /=; congr (\tr _); apply/matrixP => i j; rewrite !mxE.
+move=> c a b; rewrite /tr -!linearP /=; congr (\tr _); apply/matrixP => i j; rewrite !mxE.
by rewrite mulrDr mulrDl linearD /= -scalerAr -scalerAl linearZ.
Qed.
@@ -241,7 +241,7 @@ Canonical tr_additive l := Additive (@tr_is_scalar l).
Canonical tr_linear l := AddLinear (@tr_is_scalar l).
Lemma tr_sym : commutative tr.
-Proof. by move => a b; rewrite /tr mulrC. Qed.
+Proof. by move=> a b; rewrite /tr mulrC. Qed.
Hypothesis Asubr : subring_closed A.
Hypothesis Aint : int_closed A.
@@ -267,36 +267,36 @@ Lemma dual_basis_def :
forall (i : 'I_m), tr X`_i Y`_i = 1 /\
forall (j : 'I_m), j != i -> tr X`_i Y`_j = 0}.
Proof.
-pose Uv := subvs_vectType U; pose Fv := subvs_FalgType (1%AS : {aspace L0});
+pose Uv := subvs_vectType U; pose Fv := subvs_FalgType (1%AS : {aspace L0});
pose HomV := [vectType _ of 'Hom(Uv, Fv)].
pose tr_sub : Uv -> Uv -> Fv := fun u v => (tr (vsval u) (vsval v))%:A.
have HomVdim : \dim {:HomV} = m by rewrite dimvf /Vector.dim /= /Vector.dim /= dimv1 muln1.
have [f fH] : {f : 'Hom(Uv, HomV) | forall u, f u =1 tr_sub u}.
- have lf1 u : linear (tr_sub u) by move => c x y; rewrite /tr_sub linearP scalerDl scalerA.
+ have lf1 u : linear (tr_sub u) by move=> c x y; rewrite /tr_sub linearP scalerDl scalerA.
have lf2 : linear (fun u => linfun (Linear (lf1 u))).
- move => c x y; rewrite -lfunP => v; rewrite add_lfunE scale_lfunE !lfunE /= /tr_sub.
+ move=> c x y; rewrite -lfunP => v; rewrite add_lfunE scale_lfunE !lfunE /= /tr_sub.
by rewrite tr_sym linearP scalerDl scalerA /=; congr (_ + _); rewrite tr_sym.
by exists (linfun (Linear lf2)) => u v; rewrite !lfunE.
have [Xdual XdualH] : {Xdual : m.-tuple HomV |
forall (i : 'I_m) u, Xdual`_i u = (coord X i (vsval u))%:A}.
have lg (i : 'I_m) : linear (fun u : Uv => (coord X i (vsval u))%:A : Fv).
- by move => c x y; rewrite linearP /= scalerDl scalerA.
+ by move=> c x y; rewrite linearP /= scalerDl scalerA.
exists (mktuple (fun i => linfun (Linear (lg i)))) => i u.
by rewrite -tnth_nth tnth_mktuple !lfunE.
have [finv finvH] : {finv : 'Hom(HomV, L0) | finv =1 vsval \o (f^-1)%VF}.
- by exists (linfun vsval \o f^-1)%VF => u; rewrite comp_lfunE lfunE.
+ by exists (linfun vsval \o f^-1)%VF => u; rewrite comp_lfunE lfunE.
pose Y := map_tuple finv Xdual; exists Y => Und Xb.
have Ydef (i : 'I_m) : Y`_i = finv Xdual`_i by rewrite -!tnth_nth tnth_map.
have XiU (i : 'I_m) : X`_i \in U by apply/(basis_mem Xb)/mem_nth; rewrite size_tuple.
have Xii (i : 'I_m) : coord X i X`_i = 1%:R.
by rewrite coord_free ?eqxx //; apply (basis_free Xb).
have Xij (i j : 'I_m) : j != i -> coord X i X`_j = 0%:R.
- by rewrite coord_free; [move => /negbTE -> | apply (basis_free Xb)].
+ by rewrite coord_free; [move=> /negbTE -> | apply (basis_free Xb)].
have Xdualb : basis_of fullv Xdual.
suffices Xdualf : free Xdual.
rewrite /basis_of Xdualf andbC /= -dimv_leqif_eq ?subvf // eq_sym HomVdim.
by move: Xdualf; rewrite /free => /eqP => ->; rewrite size_tuple.
- apply/freeP => k sX i.
+ apply/freeP => k sX i.
suffices: (\sum_(i < m) k i *: Xdual`_i) (vsproj U X`_i) = (k i)%:A.
by rewrite sX zero_lfunE => /esym /eqP; rewrite scaler_eq0 oner_eq0 orbF => /eqP.
rewrite sum_lfunE (bigD1 i) //= scale_lfunE XdualH vsprojK // Xii.
@@ -311,10 +311,10 @@ have flimg : limg f = fullv.
apply/eqP; rewrite -dimv_leqif_eq ?subvf // limg_dim_eq; last by rewrite finj capv0.
by rewrite HomVdim dimvf /Vector.dim.
have finvK : cancel finv (f \o vsproj U).
- by move => u; rewrite finvH /= vsvalK; apply/limg_lfunVK; rewrite flimg memvf.
+ by move=> u; rewrite finvH /= vsvalK; apply/limg_lfunVK; rewrite flimg memvf.
have finv_inj : (lker finv = 0)%VS by apply/eqP/lker0P/(can_inj finvK).
-have finv_limg : limg finv = U.
- apply/eqP; rewrite -dimv_leqif_eq; first by rewrite limg_dim_eq ?HomVdim ?finv_inj ?capv0.
+have finv_limg : limg finv = U.
+ apply/eqP; rewrite -dimv_leqif_eq; first by rewrite limg_dim_eq ?HomVdim ?finv_inj ?capv0.
by apply/subvP => u /memv_imgP [h _] ->; rewrite finvH subvsP.
have Xt (i j : 'I_m) : (f \o vsproj U) Y`_j (vsproj U X`_i) = (tr Y`_j X`_i)%:A.
by rewrite fH /tr_sub !vsprojK // Ydef finvH subvsP.
@@ -355,7 +355,7 @@ Definition trK : L0 -> L0 -> K' := tr (aspaceOver K L).
Lemma trK_ndeg (U : {aspace L0}) : (K <= U)%VS ->
(ndeg trK U <-> ndeg (tr (aspaceOver K L)) (aspaceOver K U)).
Proof.
-move => UsubL; have UU' : aspaceOver K U =i U := mem_aspaceOver UsubL.
+move=> UsubL; have UU' : aspaceOver K U =i U := mem_aspaceOver UsubL.
split => [ndK l lnz | nd l lnz].
by rewrite UU' => liU; have [k] := ndK l lnz liU; exists k; rewrite UU'.
by rewrite -UU' => liU'; have [k] := nd l lnz liU'; exists k; rewrite -UU'.
@@ -397,8 +397,8 @@ Lemma int_mod_closed : module (int_closure A L).
Proof.
have [A0 _] : zmod_closed A := Asubr; split.
by rewrite /int_closure mem0v; split => //; apply/int_clos_incl.
-move => a k l aA [kI kL] [lI lL]; split; first by rewrite rpredB ?rpredM //; apply/AsubL.
-by apply/int_zmod_closed => //; apply/int_mulr_closed => //; apply/int_clos_incl.
+move=> a k l aA [kI kL] [lI lL]; split; first by rewrite rpredB ?rpredM //; apply/AsubL.
+by apply/int_zmod_closed => //; apply/int_mulr_closed => //; apply/int_clos_incl.
Qed.
End Modules.
@@ -408,7 +408,7 @@ Variable (F0 : fieldType) (E : fieldExtType F0) (I : pred E) (Ifr K : {subfield
Hypothesis Isubr : subring_closed I.
Hypothesis Iint : int_closed I.
Hypothesis Ipid : PID I.
-Hypothesis Ifrac : is_frac_field I Ifr.
+Hypothesis Ifrac : is_frac_field I Ifr.
Hypothesis IsubK : {subset I <= K}.
Hypothesis Knd : ndeg (trK Ifr K) K.
@@ -422,24 +422,24 @@ suffices FisK (F : fieldType) (L0 : fieldExtType F) (A : pred L0) (L : {subfield
have Ifrsub : (Ifr <= K)%VS.
apply/subvP=> x /fHk-[fHx fHxx]; rewrite -(mulKf (fH0 x) x).
by apply/memvM; rewrite ?memvV; apply/IsubK.
- have LK : L =i K := mem_aspaceOver Ifrsub; have Lnd : ndeg (tr L) L by rewrite -trK_ndeg.
+ have LK : L =i K := mem_aspaceOver Ifrsub; have Lnd : ndeg (tr L) L by rewrite -trK_ndeg.
have Ifrac1 : is_frac_field (I : pred L0) 1.
- split; first by move => a; rewrite /= trivial_fieldOver; apply/Isub.
+ split; first by move=> a; rewrite /= trivial_fieldOver; apply/Isub.
by exists f => k; split => //; rewrite trivial_fieldOver => /fHk.
have [X Xsize [Xf [Xs Xi]]] := FisK _ L0 _ _ Isubr Iint Ipid Ifrac1 Lnd.
rewrite -dim_aspaceOver => //; have /eqP <- := Xsize; exists (in_tuple X); split; last first.
- split => m; last by move => /Xi; rewrite /int_closure LK.
- by rewrite /int_closure -LK; move => /Xs.
- move: Xf; rewrite -{1}(in_tupleE X); move => /freeP-XfL0; apply/freeP => k.
+ split => m; last by move=> /Xi; rewrite /int_closure LK.
+ by rewrite /int_closure -LK => - /Xs.
+ move: Xf; rewrite -{1}(in_tupleE X) => - /freeP-XfL0; apply/freeP => k.
have [k' kk'] : exists k' : 'I_(size X) -> F, forall i, (k i)%:A = vsval (k' i).
by exists (fun i => vsproj Ifr (k i)%:A) => i; rewrite vsprojK ?rpredZ ?mem1v.
pose Ainj := fmorph_inj [rmorphism of in_alg E].
- move => kS i; apply/Ainj => {Ainj} /=; rewrite scale0r kk'; apply/eqP.
+ move=> kS i; apply/Ainj => {Ainj} /=; rewrite scale0r kk'; apply/eqP.
rewrite raddf_eq0; last by apply/subvs_inj.
by apply/eqP/XfL0; rewrite -{3}kS => {i}; apply/eq_bigr => i _; rewrite -[RHS]mulr_algl kk'.
-move => Asubr Aint Apid Afrac1 Lnd; pose n := \dim L; have Amulr : mulr_closed A := Asubr.
+move=> Asubr Aint Apid Afrac1 Lnd; pose n := \dim L; have Amulr : mulr_closed A := Asubr.
have [A0 _] : zmod_closed A := Asubr; have [Asub1 _] := Afrac1.
-have AsubL : {subset A <= L} by move => a /Asub1; apply (subvP (sub1v L) a).
+have AsubL : {subset A <= L} by move=> a /Asub1; apply (subvP (sub1v L) a).
have [b1 [b1B b1H]] : exists (b1 : n.-tuple L0), [/\ basis_of L b1 &
forall i : 'I_n, integral A b1`_i].
pose b0 := vbasis L; have [f /all_and3-[fH0 fHa fHi]] := frac_field_alg_int Asubr Afrac1.
@@ -453,7 +453,7 @@ have [b1 [b1B b1H]] : exists (b1 : n.-tuple L0), [/\ basis_of L b1 &
have dinA : d \in A by rewrite rpred_prod.
rewrite limg_amulr; apply/eqP; rewrite -dimv_leqif_eq; first by rewrite dim_cosetv_unit.
by apply/prodv_sub => //; apply/AsubL.
- rewrite -lim limg_basis_of //; last by apply/vbasisP.
+ rewrite -lim limg_basis_of //; last by apply/vbasisP.
by have /eqP -> := lker0_amulr dun; rewrite capv0.
have [b2 [/andP[/eqP-b2s b2f] b2H]] : exists (b2 : n.-tuple L0), [/\ basis_of L b2 &
forall b, b \in L -> integral A b -> forall i, (coord b2 i b)%:A \in A].
@@ -465,55 +465,55 @@ have [b2 [/andP[/eqP-b2s b2f] b2H]] : exists (b2 : n.-tuple L0), [/\ basis_of L
by congr (_ + _); apply/big1 => j jneqi; rewrite (oj j jneqi) mulr0.
have Mbasis k (X : k.-tuple L0) M : free X -> module A M -> submod M (span_mod A X) ->
exists B, basis_of_mod A M B.
- move: k X M; elim => [X M _ _ Ms | k IH X M Xf [M0 Mm] Ms].
- by exists [::]; rewrite /basis_of_mod nil_free; move: Ms; rewrite tuple0.
+ move: k X M; elim=> [X M _ _ Ms | k IH X M Xf [M0 Mm] Ms].
+ by exists [::]; rewrite /basis_of_mod nil_free; move: Ms; rewrite tuple0.
pose X1 := [tuple of behead X]; pose v := thead X.
pose M1 := fun m => M m /\ coord X ord0 m = 0.
pose M2 := fun (a : L0) => exists2 m, M m & (coord X ord0 m)%:A = a.
have scr r m : r \in A -> exists c, r * m = c *: m.
- by move => /Asub1/vlineP[c ->]; exists c; rewrite mulr_algl.
+ by move=> /Asub1/vlineP[c ->]; exists c; rewrite mulr_algl.
have span_coord m : M m -> exists r : (k.+1).-tuple L0,
[/\ all A r, m = \sum_(i < k.+1) r`_i * X`_i & forall i, (coord X i m)%:A = r`_i].
have seqF (s : seq L0) : all A s -> exists s', s = [seq c%:A | c <- s'].
elim: s => [_| a l IHl /= /andP[/Asub1/vlineP[c ->]]]; first by exists [::].
- by move => /IHl[s' ->]; exists (c :: s').
- move => mM; have := Ms m mM; rewrite /span_mod !size_tuple; move => [r rA rS].
+ by move=> /IHl[s' ->]; exists (c :: s').
+ move=> mM; have := Ms m mM; rewrite /span_mod !size_tuple => - [r rA rS].
exists r; split => //; have [rF rFr] := seqF r rA => {seqF}; rewrite rFr in rA.
have rFs : size rF = k.+1 by rewrite -(size_tuple r) rFr size_map.
have -> : m = \sum_(i < k.+1) rF`_i *: X`_i.
by rewrite rS; apply/eq_bigr => i _; rewrite rFr (nth_map 0) ?rFs // mulr_algl.
- by move => i; rewrite coord_sum_free // rFr (nth_map 0) ?rFs.
+ by move=> i; rewrite coord_sum_free // rFr (nth_map 0) ?rFs.
have [B1 [B1f [B1s B1A]]] : exists B1, basis_of_mod A M1 B1.
have X1f : free X1 by move: Xf; rewrite (tuple_eta X) free_cons => /andP[_].
apply/(IH X1) => //.
rewrite /module /M1 linear0; split => // a x y aA [xM xfc0] [yM yfc0].
have := Mm a x y aA xM yM; move: aA => /Asub1/vlineP[r] ->; rewrite mulr_algl => msc.
by rewrite /M1 linearB linearZ /= xfc0 yfc0 subr0 mulr0.
- move => m [mM mfc0]; have := span_coord m mM; move => [r [rA rS rC]].
- move: mfc0 (rC 0) ->; rewrite scale0r; move => r0; rewrite /span_mod size_tuple.
+ move=> m [mM mfc0]; have := span_coord m mM => - [r [rA rS rC]].
+ move: mfc0 (rC 0) ->; rewrite scale0r => - r0; rewrite /span_mod size_tuple.
exists [tuple of behead r]; first by apply/allP => a /mem_behead/(allP rA).
by rewrite rS big_ord_recl -r0 mul0r add0r; apply/eq_bigr => i _; rewrite !nth_behead.
have [a [w wM wC] aG] : exists2 a, M2 a & forall v, M2 v -> exists2 d, d \in A & d * a = v.
apply/Apid; split.
- move => c [m mM <-]; have := span_coord m mM; move => [r [/all_nthP-rA _ rC]].
+ move=> c [m mM <-]; have := span_coord m mM => - [r [/all_nthP-rA _ rC]].
by move: rC ->; apply/rA; rewrite size_tuple.
split; first by exists 0 => //; rewrite linear0 scale0r.
- move => c x y cA [mx mxM mxC] [my myM myC]; have := Mm c mx my cA mxM myM.
+ move=> c x y cA [mx mxM mxC] [my myM myC]; have := Mm c mx my cA mxM myM.
move: cA => /Asub1/vlineP[r] ->; rewrite !mulr_algl => mC.
by exists (r *: mx - my) => //; rewrite linearB linearZ /= scalerBl -scalerA mxC myC.
pose Ainj := fmorph_inj [rmorphism of in_alg L0].
have mcM1 m : M m -> exists2 d, d \in A & d * a = (coord X 0 m)%:A.
- by move => mM; apply/aG; exists m.
+ by move=> mM; apply/aG; exists m.
case: (eqVneq a 0) => [| an0].
- exists B1; split => //; split => [m mM |]; last by move => m /B1A[mM].
+ exists B1; split => //; split => [m mM |]; last by move=> m /B1A[mM].
apply/B1s; split => //; apply/Ainj => /=; have [d _ <-] := mcM1 m mM.
- by rewrite a0 mulr0 scale0r.
+ by rewrite a0 mulr0 scale0r.
exists (w :: B1); split.
rewrite free_cons B1f andbT; move: an0; apply/contra; move: wC <-.
- rewrite -(in_tupleE B1); move => /coord_span ->; apply/eqP.
+ rewrite -(in_tupleE B1) => - /coord_span ->; apply/eqP.
rewrite linear_sum big1 ?scale0r => //= i _; rewrite linearZ /=.
by have [_] := B1A B1`_i (mem_nth 0 (ltn_ord _)) => ->; rewrite mulr0.
- split => [m mM | m]; last by rewrite in_cons; move => /orP; case => [/eqP ->|/B1A[mM]].
+ split => [m mM | m]; last by rewrite in_cons => - /orP; case=> [/eqP ->|/B1A[mM]].
have [d dA dam] := mcM1 m mM; have mdwM1 : M1 (m - d * w).
split; [have Mdwm := Mm d w m dA wM mM; have := Mm _ _ _ A0 Mdwm Mdwm |].
by rewrite mul0r sub0r opprB.
@@ -525,17 +525,17 @@ have [X Xb] : exists X, basis_of_mod A (int_closure A L) X.
apply/(Mbasis _ b2 _ b2f) => [| m [mL mI]]; first by apply/int_mod_closed.
pose r : n.-tuple L0 := [tuple (coord b2 i m)%:A | i < n]; rewrite /span_mod size_tuple.
exists r; have rci (i : 'I_n) : r`_i = (coord b2 i m)%:A by rewrite -tnth_nth tnth_mktuple.
- apply/(all_nthP 0) => i; rewrite size_tuple; move => iB.
- by have -> := rci (Ordinal iB); apply/b2H.
- move: mL; rewrite -b2s; move => /coord_span ->; apply/eq_bigr => i _.
+ apply/(all_nthP 0) => i; rewrite size_tuple => - iB.
+ by have -> := rci (Ordinal iB); apply/b2H.
+ move: mL; rewrite -b2s => - /coord_span ->; apply/eq_bigr => i _.
by rewrite rci mulr_algl.
exists X => //; move: Xb => [/eqP-Xf [Xs Xg]]; rewrite -Xf eqn_leq; apply/andP; split.
by apply/dimvS/span_subvP => m /Xg[mL _].
have /andP[/eqP-b1s _] := b1B; rewrite -b1s; apply/dimvS/span_subvP => b /tnthP-[i ->] {b}.
rewrite (tnth_nth 0); have [r /all_tnthP-rA ->] : span_mod A X b1`_i.
by apply/Xs; rewrite /int_closure (basis_mem b1B) ?mem_nth ?size_tuple => //.
-apply/rpred_sum => j _; have := rA j; rewrite (tnth_nth 0); move => /Asub1/vlineP[c ->].
-by rewrite mulr_algl; apply/rpredZ/memv_span/mem_nth.
+apply/rpred_sum => j _; have := rA j; rewrite (tnth_nth 0) => - /Asub1/vlineP[c ->].
+by rewrite mulr_algl; apply/rpredZ/memv_span/mem_nth.
Qed.
End BasisLemma. \ No newline at end of file
diff --git a/mathcomp/attic/amodule.v b/mathcomp/attic/amodule.v
index d74288c..0a5b655 100644
--- a/mathcomp/attic/amodule.v
+++ b/mathcomp/attic/amodule.v
@@ -143,7 +143,7 @@ Definition eprodv vs ws := span (Tuple (size_eprodv vs ws)).
Local Notation "A :* B" := (eprodv A B) : vspace_scope.
Lemma memv_eprod vs ws a b : a \in vs -> b \in ws -> a :* b \in (vs :* ws)%VS.
-Proof.
+Proof.
move=> Ha Hb.
rewrite (coord_vbasis Ha) (coord_vbasis Hb).
rewrite linear_sum /=; apply: memv_suml => j _.
@@ -190,7 +190,7 @@ move=> vs; apply subv_anti; apply/andP; split.
apply/eprodvP=> a b Ha; case/vlineP=> k1 ->.
by rewrite linearZ /= rmul1 memvZ.
apply/subvP=> v Hv.
-rewrite (coord_vbasis Hv); apply: memv_suml=> [] [i Hi] _ /=.
+rewrite (coord_vbasis Hv); apply: memv_suml=> [] [i Hi] _ /=.
apply: memvZ.
rewrite -[_`_i]rmul1; apply: memv_eprod; last by apply: memv_line.
by apply: vbasis_mem; apply: mem_nth; rewrite size_tuple.
@@ -211,9 +211,9 @@ Qed.
Lemma eprodv_addl: left_distributive eprodv addv.
Proof.
move=> vs1 vs2 ws; apply subv_anti; apply/andP; split.
- apply/eprodvP=> a b;case/memv_addP=> v1 Hv1 [v2 Hv2 ->] Hb.
+ apply/eprodvP=> a b; case/memv_addP=> v1 Hv1 [v2 Hv2 ->] Hb.
by rewrite rmulD; apply: memv_add; apply: memv_eprod.
-apply/subvP=> v; case/memv_addP=> v1 Hv1 [v2 Hv2 ->].
+apply/subvP=> v; case/memv_addP=> v1 Hv1 [v2 Hv2 ->].
apply: memvD.
by move: v1 Hv1; apply/subvP; apply: eprodvSl; apply: addvSl.
by move: v2 Hv2; apply/subvP; apply: eprodvSl; apply: addvSr.
@@ -222,9 +222,9 @@ Qed.
Lemma eprodv_sumr vs ws1 ws2 : (vs :* (ws1 + ws2) = vs :* ws1 + vs :* ws2)%VS.
Proof.
apply subv_anti; apply/andP; split.
- apply/eprodvP=> a b Ha;case/memv_addP=> v1 Hv1 [v2 Hv2 ->].
+ apply/eprodvP=> a b Ha; case/memv_addP=> v1 Hv1 [v2 Hv2 ->].
by rewrite linearD; apply: memv_add; apply: memv_eprod.
-apply/subvP=> v; case/memv_addP=> v1 Hv1 [v2 Hv2 ->].
+apply/subvP=> v; case/memv_addP=> v1 Hv1 [v2 Hv2 ->].
apply: memvD.
by move: v1 Hv1; apply/subvP; apply: eprodvSr; apply: addvSl.
by move: v2 Hv2; apply/subvP; apply: eprodvSr; apply: addvSr.
@@ -244,7 +244,7 @@ Proof. by move=> al; apply: subvf. Qed.
Lemma memv_mod_mul : forall ms al m a,
modv ms al -> m \in ms -> a \in al -> m :* a \in ms.
-Proof.
+Proof.
move=> ms al m a Hmo Hm Ha; apply: subv_trans Hmo.
by apply: memv_eprod.
Qed.
@@ -262,7 +262,7 @@ Lemma modv_cap : forall ms1 ms2 al ,
Proof.
move=> ms1 ms2 al Hm1 Hm2.
by rewrite /modv subv_cap; apply/andP; split;
- [apply: subv_trans Hm1 | apply: subv_trans Hm2];
+ [apply: subv_trans Hm1 | apply: subv_trans Hm2];
apply: eprodvSl; rewrite (capvSr,capvSl).
Qed.
@@ -324,7 +324,7 @@ Lemma modf_add : forall f1 f2 ms al,
Proof.
move=> f1 f2 ms al Hm1 Hm2; apply/allP=> [] [v x].
case/allpairsP=> [[x1 x2] [I1 I2 ->]]; rewrite !lfunE rmulD /=.
-move/modfP: Hm1->; try apply: vbasis_mem=>//.
+move/modfP: Hm1->; try apply: vbasis_mem=> //.
by move/modfP: Hm2->; try apply: vbasis_mem.
Qed.
@@ -414,7 +414,7 @@ rewrite memv_cap; apply/andP; split.
apply: memvB=> //; apply: subv_trans Hsub.
by rewrite -If; apply: memv_img; apply: memvf.
rewrite memv_ker linearB /= (Himf (f v)) ?subrr // /in_mem /= -If.
-by apply: memv_img; apply: memvf.
+by apply: memv_img; apply: memvf.
Qed.
End ModuleRepresentation.
diff --git a/mathcomp/attic/fib.v b/mathcomp/attic/fib.v
index fefa0d2..a75a226 100644
--- a/mathcomp/attic/fib.v
+++ b/mathcomp/attic/fib.v
@@ -59,15 +59,15 @@ Proof. by []. Qed.
Lemma lin_fib_alt : forall n a b,
lin_fib a b n.+2 = lin_fib a b n.+1 + lin_fib a b n.
Proof.
-case=>//; elim => [//|n IHn] a b.
+case=> //; elim=> [//|n IHn] a b.
by rewrite lin_fibSS (IHn b (b + a)) lin_fibE.
Qed.
Lemma fib_is_linear : fib =1 lin_fib 0 1.
Proof.
-move=>n; elim: n {-2}n (leqnn n)=> [n|n IHn].
+move=> n; elim: n {-2}n (leqnn n)=> [n|n IHn].
by rewrite leqn0; move/eqP=>->.
-case=>//; case=>// n0; rewrite ltnS=> ltn0n; rewrite fibSS lin_fib_alt.
+case=> //; case=> // n0; rewrite ltnS=> ltn0n; rewrite fibSS lin_fib_alt.
by rewrite (IHn _ ltn0n) (IHn _ (ltnW ltn0n)).
Qed.
@@ -132,7 +132,7 @@ case: m=> [|[|m]] Hm.
- by rewrite eq_sym fib_eq1 orbF [1==_]eq_sym; case: eqP.
have: 1 < m.+2 < n by [].
move/fib_smonotone; rewrite ltn_neqAle; case/andP; move/negPf=> -> _.
-case: n Hm=> [|[|n]] //;rewrite ltn_neqAle; case/andP; move/negPf=> ->.
+case: n Hm=> [|[|n]] //; rewrite ltn_neqAle; case/andP; move/negPf=> ->.
by rewrite andbF.
Qed.
@@ -154,7 +154,7 @@ case/orP: (Hf _ (dvdn_fib _ _ (dvdn_mulr d (dvdnn k)))).
rewrite fib_eq; case/or3P; first by move/eqP<-; rewrite eqxx orbT.
by case/andP=>->.
by rewrite Hk; case: (d)=> [|[|[|]]].
-rewrite fib_eq; case/or3P; last by case/andP;move/eqP->; case: (d)=> [|[|]].
+rewrite fib_eq; case/or3P; last by case/andP; move/eqP->; case: (d)=> [|[|]].
rewrite -{1}[k]muln1; rewrite eqn_mul2l; case/orP; move/eqP=> HH.
by move: Pp; rewrite Hp HH.
by rewrite -HH eqxx.
@@ -216,9 +216,9 @@ Proof. by []. Qed.
Lemma lucas_is_linear : lucas =1 lin_fib 2 1.
Proof.
-move=>n; elim: n {-2}n (leqnn n)=> [n|n IHn].
+move=> n; elim: n {-2}n (leqnn n)=> [n|n IHn].
by rewrite leqn0; move/eqP=>->.
-case=>//; case=>// n0; rewrite ltnS=> ltn0n; rewrite lucasSS lin_fib_alt.
+case=> //; case=> // n0; rewrite ltnS=> ltn0n; rewrite lucasSS lin_fib_alt.
by rewrite (IHn _ ltn0n) (IHn _ (ltnW ltn0n)).
Qed.
@@ -329,7 +329,7 @@ Local Notation "''M{' l } " := (seq2matrix _ _ l).
Lemma matrix_fib : forall n,
'M{[:: [::(fib n.+2)%:R; (fib n.+1)%:R];
- [::(fib n.+1)%:R; (fib n)%:R]]} =
+ [::(fib n.+1)%:R; (fib n)%:R]]} =
('M{[:: [:: 1; 1];
[:: 1; 0]]})^+n.+1 :> 'M[R]_(2,2).
Proof.
diff --git a/mathcomp/attic/forms.v b/mathcomp/attic/forms.v
index a1a987b..7098af9 100644
--- a/mathcomp/attic/forms.v
+++ b/mathcomp/attic/forms.v
@@ -20,7 +20,7 @@ Variable (R : fieldType).
Definition r2rv x: 'rV[R^o]_1 := \row_(i < 1) x .
Lemma r2rv_morph_p : linear r2rv.
-Proof. by move=> k x y; apply/matrixP=> [] [[|i] Hi] j;rewrite !mxE. Qed.
+Proof. by move=> k x y; apply/matrixP=> [] [[|i] Hi] j; rewrite !mxE. Qed.
Canonical Structure r2rv_morph := Linear r2rv_morph_p.
@@ -28,8 +28,8 @@ Definition rv2r (A: 'rV[R]_1): R^o := A 0 0.
Lemma r2rv_bij : bijective r2rv.
Proof.
-exists rv2r; first by move => x; rewrite /r2rv /rv2r /= mxE.
-by move => x; apply/matrixP=> i j; rewrite [i]ord1 [j]ord1 /r2rv /rv2r !mxE /=.
+exists rv2r; first by move=> x; rewrite /r2rv /rv2r /= mxE.
+by move=> x; apply/matrixP=> i j; rewrite [i]ord1 [j]ord1 /r2rv /rv2r !mxE /=.
Qed.
Canonical Structure RVMixin := Eval hnf in VectMixin r2rv_morph_p r2rv_bij.
@@ -48,7 +48,7 @@ Variable (F : fieldType) (V : vectType F).
Section SesquiLinearFormDef.
Structure fautomorphism:= FautoMorph {fval :> F -> F;
- _ : rmorphism fval;
+ _ : rmorphism fval;
_ : bijective fval}.
Variable theta: fautomorphism.
@@ -72,7 +72,7 @@ Variable f : sesquilinear_form.
Lemma bilin1 : forall x, {morph f x : y z / y + z}. Proof. by case f. Qed.
Lemma bilin2 : forall x, {morph f ^~ x : y z / y + z}. Proof. by case f. Qed.
Lemma bilina1 : forall a x y, f (a *: x) y = a * f x y. Proof. by case f. Qed.
-Lemma bilina2 : forall a x y, f x (a *: y) = (theta a) * (f x y).
+Lemma bilina2 : forall a x y, f x (a *: y) = (theta a) * (f x y).
Proof. by case f. Qed.
End SesquiLinearFormDef.
@@ -97,9 +97,9 @@ Inductive symmetricf (f : sqlf): Prop :=
Lemma fsym_f0: forall (f: sqlf) x y, (symmetricf f) ->
(f x y = 0 <-> f y x = 0).
Proof.
-move => f x y ;case; first by move=> [Htheta Hf];split; rewrite Hf.
- by move=> [Htheta Hf];split; rewrite Hf; move/eqP;rewrite oppr_eq0; move/eqP->.
-move=> Htheta;split; first by rewrite (Htheta y x) => ->; rewrite rmorph0.
+move=> f x y; case; first by move=> [Htheta Hf]; split; rewrite Hf.
+ by move=> [Htheta Hf]; split; rewrite Hf; move/eqP; rewrite oppr_eq0; move/eqP->.
+move=> Htheta; split; first by rewrite (Htheta y x) => ->; rewrite rmorph0.
by rewrite (Htheta x y) => ->; rewrite rmorph0.
Qed.
@@ -114,21 +114,21 @@ Section orthogonal.
Definition orthogonal x y := f x y = 0.
Lemma ortho_sym: forall x y, orthogonal x y <-> orthogonal y x.
-Proof. by move=> x y; apply:fsym_f0. Qed.
+Proof. by move=> x y; apply: fsym_f0. Qed.
Theorem Pythagore: forall u v, orthogonal u v -> f (u+v) (u+v) = f u u + f v v.
Proof.
-move => u v Huv; case:(ortho_sym u v ) => Hvu _.
+move=> u v Huv; case: (ortho_sym u v ) => Hvu _.
by rewrite !bilin1 !bilin2 Huv (Hvu Huv) add0r addr0.
Qed.
Lemma orthoD : forall u v w , orthogonal u v -> orthogonal u w -> orthogonal u (v + w).
Proof.
-by move => u v w Huv Huw; rewrite /orthogonal bilin1 Huv Huw add0r.
+by move=> u v w Huv Huw; rewrite /orthogonal bilin1 Huv Huw add0r.
Qed.
Lemma orthoZ: forall u v a, orthogonal u v -> orthogonal (a *: u) v.
-Proof. by move => u v a Huv; rewrite /orthogonal bilina1 Huv mulr0. Qed.
+Proof. by move=> u v a Huv; rewrite /orthogonal bilina1 Huv mulr0. Qed.
Variable x:V.
@@ -139,7 +139,7 @@ Definition alpha_lfun := (lfun_of_fun alpha).
Definition xbar := lker alpha_lfun .
Lemma alpha_lin: linear alpha.
-Proof. by move => a b c; rewrite /alpha bilin2 bilina1. Qed.
+Proof. by move=> a b c; rewrite /alpha bilin2 bilina1. Qed.
@@ -151,10 +151,10 @@ Qed.
Lemma dim_xbar :forall vs,(\dim vs ) - 1 <= \dim (vs :&: xbar).
-Proof.
+Proof.
move=> vs; rewrite -(addKn 1 (\dim (vs :&: xbar))) addnC leq_sub2r //.
have H :\dim (alpha_lfun @: vs )<= 1 by rewrite -(dimR F) -dimvf dimvS // subvf.
-by rewrite -(limg_ker_dim alpha_lfun vs)(leq_add (leqnn (\dim(vs :&: xbar)))).
+by rewrite -(limg_ker_dim alpha_lfun vs)(leq_add (leqnn (\dim(vs :&: xbar)))).
Qed.
(* to be improved*)
@@ -162,16 +162,16 @@ Lemma xbar_eqvs: forall vs, (forall v , v \in vs -> orthogonal v x )-> \dim (vs
move=> vs Hvs.
rewrite -(limg_ker_dim alpha_lfun vs).
suff-> : \dim (alpha_lfun @: vs) = 0%nat by rewrite addn0.
-apply/eqP; rewrite dimv_eq0; apply /vspaceP => w.
-rewrite memv0;apply/memv_imgP.
+apply/eqP; rewrite dimv_eq0; apply/vspaceP => w.
+rewrite memv0; apply/memv_imgP.
case e: (w==0).
- exists 0; split ;first by rewrite mem0v.
+ exists 0; split; first by rewrite mem0v.
apply sym_eq; rewrite (eqP e).
rewrite (lfun_of_funK alpha_lin 0).
rewrite /alpha_lfun /alpha /=.
- by move:(bilina1 f 0 x x); rewrite scale0r mul0r.
-move/eqP:e =>H2;case=> x0 [Hx0 Hw].
-apply H2;rewrite Hw;move: (Hvs x0 Hx0).
+ by move: (bilina1 f 0 x x); rewrite scale0r mul0r.
+move/eqP:e =>H2; case=> x0 [Hx0 Hw].
+apply H2; rewrite Hw; move: (Hvs x0 Hx0).
rewrite /orthogonal.
by rewrite (lfun_of_funK alpha_lin x0).
Qed.
@@ -189,9 +189,9 @@ Import GRing.Theory.
Lemma f2Q: forall x, Q x + Q x = f x x.
Proof.
-move=> x; apply:(@addrI _ (Q x + Q x)).
+move=> x; apply: (@addrI _ (Q x + Q x)).
rewrite !addrA -quadQ -[x + x](scaler_nat 2) quadQ.
-by rewrite -mulrA !mulr_natl -addrA.
+by rewrite -mulrA !mulr_natl -addrA.
Qed.
End LinearForm.
diff --git a/mathcomp/attic/galgebra.v b/mathcomp/attic/galgebra.v
index 4902a47..16bbe1e 100644
--- a/mathcomp/attic/galgebra.v
+++ b/mathcomp/attic/galgebra.v
@@ -55,11 +55,11 @@ Definition mulrg v1 v2 :=
GAlg ([ffun g => \sum_(k : gT) (v1 k) * (v2 ((k^-1) * g)%g)]).
Lemma addrgA : associative addrg.
-Proof.
+Proof.
by move=> *; apply: val_inj; apply/ffunP=> ?; rewrite !ffunE addrA.
Qed.
Lemma addrgC : commutative addrg.
-Proof.
+Proof.
by move=> *; apply: val_inj; apply/ffunP=> ?; rewrite !ffunE addrC.
Qed.
Lemma addr0g : left_id g0 addrg.
diff --git a/mathcomp/attic/multinom.v b/mathcomp/attic/multinom.v
index 175da6c..96a8071 100644
--- a/mathcomp/attic/multinom.v
+++ b/mathcomp/attic/multinom.v
@@ -107,7 +107,7 @@ Definition multi_var n (i : 'I_n) := cast_multi (subnK (valP i)) 'X.
Notation "'X_ i" := (multi_var i).
Lemma inject_is_rmorphism : forall m n, rmorphism (@inject n m).
-Proof.
+Proof.
elim=> // m ihm n /=; have ->: inject m = RMorphism (ihm n) by [].
by rewrite -/(_ \o _); apply: rmorphismP.
Qed.
@@ -132,14 +132,14 @@ Lemma cast_multi_inj n i i' n' (m1 m2 : multi n)
cast_multi p1 m1 == cast_multi p2 m2 = (m1 == m2).
Proof.
have := p2; rewrite -{1}[n']p1; move/eqP; rewrite eqn_add2r.
-move=> /eqP /= Eii; move:p2; rewrite Eii=> p2 {Eii}.
+move=> /eqP /= Eii; move: p2; rewrite Eii=> p2 {Eii}.
have <-: p1 = p2; first exact: nat_irrelevance.
apply/idP/idP; last by move/eqP->.
-move => Hm {p2}.
+move=> Hm {p2}.
have : inject i m1 = inject i m2; last first.
by move/eqP; rewrite (inj_eq (@inject_inj _ _)).
-move: Hm; move:(p1); rewrite -p1 => p2.
-rewrite (_ : p2 = erefl (i+n)%N); last exact: nat_irrelevance.
+move: Hm; move: (p1); rewrite -p1 => p2.
+rewrite (_ : p2 = erefl (i+n)%N); last exact: nat_irrelevance.
by move/eqP.
Qed.
@@ -195,8 +195,8 @@ Lemma interp_cast_multi n n' m (nltn' : n <= n') :
Proof.
move=> dmltn; have dmltn' := (leq_trans dmltn nltn').
elim: m nltn' dmltn dmltn'.
-+ move=> a /= nltn' dmltn dmltn'.
- apply/eqP; rewrite /multiC.
++ move=> a /= nltn' dmltn dmltn'.
+ apply/eqP; rewrite /multiC.
by rewrite cast_multi_add /= cast_multi_inj.
+ move=> N /= nltn' dmltn dmltn'.
move: (refl_equal (_ N < n')) (refl_equal (_ N < n)).
diff --git a/mathcomp/attic/tutorial.v b/mathcomp/attic/tutorial.v
index 332d841..b2025a7 100644
--- a/mathcomp/attic/tutorial.v
+++ b/mathcomp/attic/tutorial.v
@@ -59,7 +59,7 @@ Lemma andb_sym2 : forall A B : bool, A && B -> B && A.
Proof. by case; case. Qed.
Lemma andb_sym3 : forall A B : bool, A && B -> B && A.
-Proof. by do 2! case. Qed.
+Proof. by do 2!case. Qed.
Variables (C D : Prop) (hC : C) (hD : D).
Check (and C D).
diff --git a/mathcomp/character/character.v b/mathcomp/character/character.v
index 0738b14..6408b0b 100644
--- a/mathcomp/character/character.v
+++ b/mathcomp/character/character.v
@@ -382,7 +382,7 @@ Lemma prod_repr_lin n2 (rG1 : reprG 1) (rG2 : reprG n2) :
{in G, forall x, let cast_n2 := esym (mul1n n2) in
prod_repr rG1 rG2 x = castmx (cast_n2, cast_n2) (rG1 x 0 0 *: rG2 x)}.
Proof.
-move=> x Gx /=; set cast_n2 := esym _; rewrite /prod_repr /= !mxE !lshift0.
+move=> x Gx /=; set cast_n2 := esym _; rewrite /prod_repr /= !mxE !lshift0.
apply/matrixP=> i j; rewrite castmxE /=.
do 2![rewrite mxE; case: splitP => [? ? | []//]].
by congr ((_ *: rG2 x) _ _); apply: val_inj.
@@ -511,7 +511,7 @@ Proof. by move=> A B; rewrite /xcfun linearB mulmxBl !mxE. Qed.
Canonical xcfun_additive phi := Additive (xcfun_is_additive phi).
Lemma xcfunZr a phi A : xcfun phi (a *: A) = a * xcfun phi A.
-Proof. by rewrite /xcfun linearZ -scalemxAl mxE. Qed.
+Proof. by rewrite /xcfun linearZ -scalemxAl mxE. Qed.
(* In order to add a second canonical structure on xcfun *)
Definition xcfun_r_head k A phi := let: tt := k in xcfun phi A.
@@ -530,7 +530,7 @@ Lemma xcfunZl a phi A : xcfun (a *: phi) A = a * xcfun phi A.
Proof.
rewrite /xcfun !mxE big_distrr; apply: eq_bigr => i _ /=.
by rewrite !mxE cfunE mulrCA.
-Qed.
+Qed.
Lemma xcfun_repr n rG A : xcfun (@cfRepr n rG) A = \tr (gring_op rG A).
Proof.
@@ -1431,7 +1431,7 @@ Proof.
apply/eqP/andP=> [|[/eqP-> /pred2P[]-> //]]; last by rewrite !scale0r.
move/(congr1 (cfdotr 'chi__)) => /= eq_ai_bj.
move: {eq_ai_bj}(eq_ai_bj i) (esym (eq_ai_bj j)); rewrite !cfdotZl !cfdot_irr.
-by rewrite !mulr_natr !mulrb !eqxx eq_sym orbC; case: ifP => _ -> //= ->.
+by rewrite !mulr_natr !mulrb !eqxx eq_sym orbC; case: ifP => _ -> //= ->.
Qed.
Lemma eq_signed_irr (s t : bool) i j :
@@ -1624,7 +1624,7 @@ have:= (normC_sum_upper _ Kx) i; rewrite !cfunE => -> // {i Ci} i _.
have chi_i_ge0: 0 <= '[chi, 'chi_i].
by rewrite Cnat_ge0 ?Cnat_cfdot_char_irr.
by rewrite !cfunE normrM (normr_idP _) ?ler_wpmul2l ?char1_ge_norm ?irr_char.
-Qed.
+Qed.
Lemma TI_cfker_irr : \bigcap_i cfker 'chi[G]_i = [1].
Proof.
@@ -1710,7 +1710,7 @@ Lemma cfRes_irr_irr chi :
chi \is a character -> 'Res[H] chi \in irr H -> chi \in irr G.
Proof.
have [sHG /char_reprP[rG ->] | not_sHG Nchi] := boolP (H \subset G).
- rewrite -(cfRepr_sub _ sHG) => /irr_reprP[rH irrH def_rH]; apply/irr_reprP.
+ rewrite -(cfRepr_sub _ sHG) => /irr_reprP[rH irrH def_rH]; apply/irr_reprP.
suffices /subg_mx_irr: mx_irreducible (subg_repr rG sHG) by exists rG.
by apply: mx_rsim_irr irrH; apply/cfRepr_rsimP/eqP.
rewrite cfResEout // => /irrP[j Dchi_j]; apply/lin_char_irr/cfRes_lin_lin=> //.
@@ -2152,7 +2152,7 @@ Lemma cfBigdprod_eq1 phi :
Proof.
move=> Nphi; set Phi := cfBigdprod defG phi.
apply/eqP/eqfun_inP=> [Phi1 i Pi | phi1]; last first.
- by apply: big1 => i /phi1->; rewrite rmorph1.
+ by apply: big1 => i /phi1->; rewrite rmorph1.
have Phi1_1: Phi 1%g = 1 by rewrite Phi1 cfun1E group1.
have nz_Phi1: Phi 1%g != 0 by rewrite Phi1_1 oner_eq0.
have [_ <-] := cfBigdprodK nz_Phi1 Pi.
@@ -2484,7 +2484,7 @@ Lemma lin_char_group G :
{morph cF : u v / (u * v)%g >-> (u * v)%R},
forall k, {morph cF : u / (u^+ k)%g >-> u ^+ k},
{morph cF: u / u^-1%g >-> u^-1%CF}
- & {mono cF: u / #[u]%g >-> #[u]%CF} ]}}.
+ & {mono cF: u / #[u]%g >-> #[u]%CF} ]}}.
Proof.
pose linT := {i : Iirr G | 'chi_i \is a linear_char}.
pose cF (u : linT) := 'chi_(sval u).
@@ -2567,7 +2567,7 @@ Variables (n : nat) (rG : mx_representation [fieldType of algC] G n).
Definition det_repr_mx x : 'M_1 := (\det (rG x))%:M.
-Fact det_is_repr : mx_repr G det_repr_mx.
+Fact det_is_repr : mx_repr G det_repr_mx.
Proof.
split=> [|g h Gg Gh]; first by rewrite /det_repr_mx repr_mx1 det1.
by rewrite /det_repr_mx repr_mxM // det_mulmx !mulmxE scalar_mxM.
@@ -2725,7 +2725,7 @@ apply/eqP/is_scalar_mxP=> [|[c rG_c]].
by case/max_cfRepr_norm_scalar=> // c; exists c.
rewrite -(sqrCK (char1_ge0 (cfRepr_char rG))) normC_def; congr (sqrtC _).
rewrite expr2 -{2}(mulgV x) -char_inv ?cfRepr_char ?cfunE ?groupM ?groupV //.
-rewrite Gx group1 repr_mx1 repr_mxM ?repr_mxV ?groupV // !mulrb rG_c.
+rewrite Gx group1 repr_mx1 repr_mxM ?repr_mxV ?groupV // !mulrb rG_c.
by rewrite invmx_scalar -scalar_mxM !mxtrace_scalar mulrnAr mulrnAl mulr_natl.
Qed.
diff --git a/mathcomp/character/classfun.v b/mathcomp/character/classfun.v
index 54cbc41..81c26ab 100644
--- a/mathcomp/character/classfun.v
+++ b/mathcomp/character/classfun.v
@@ -464,7 +464,7 @@ Notation "{ 'in' CFD , 'isometry' tau , 'to' CFR }" :=
(at level 0, format "{ 'in' CFD , 'isometry' tau , 'to' CFR }")
: type_scope.
-Section ClassFun.
+Section ClassFun.
Variables (gT : finGroupType) (G : {group gT}).
Implicit Types (A B : {set gT}) (H K : {group gT}) (phi psi xi : 'CF(G)).
@@ -1123,7 +1123,7 @@ Qed.
Lemma eq_pairwise_orthogonal R S :
perm_eq R S -> pairwise_orthogonal R = pairwise_orthogonal S.
Proof.
-apply: catCA_perm_subst R S => R S S'.
+apply: catCA_perm_subst R S => R S S'.
rewrite !pairwise_orthogonal_cat !orthogonal_catr (orthogonal_sym R S) -!andbA.
by do !bool_congr.
Qed.
@@ -1201,7 +1201,7 @@ Qed.
Lemma sub_orthonormal S1 S2 :
{subset S1 <= S2} -> uniq S1 -> orthonormal S2 -> orthonormal S1.
Proof.
-move=> sS12 uniqS1 /orthonormalP[_ oS1].
+move=> sS12 uniqS1 /orthonormalP[_ oS1].
by apply/orthonormalP; split; last apply: sub_in2 sS12 _ _.
Qed.
@@ -1386,7 +1386,7 @@ Qed.
Lemma cfRes_is_multiplicative : multiplicative cfRes.
Proof.
-split=> [phi psi|]; [apply/cfunP=> x | exact: cfRes_cfun1].
+split=> [phi psi|]; [apply/cfunP=> x | exact: cfRes_cfun1].
by rewrite !cfunElock mulrnAr mulrnAl -mulrnA mulnb andbb.
Qed.
Canonical cfRes_rmorphism := AddRMorphism cfRes_is_multiplicative.
@@ -1489,7 +1489,7 @@ Canonical cfMorph_linear := Linear cfMorph_is_linear.
Fact cfMorph_is_multiplicative : multiplicative cfMorph.
Proof.
-split=> [phi psi|]; [apply/cfunP=> x | exact: cfMorph_cfun1].
+split=> [phi psi|]; [apply/cfunP=> x | exact: cfMorph_cfun1].
by rewrite !cfunElock mulrnAr mulrnAl -mulrnA mulnb andbb.
Qed.
Canonical cfMorph_rmorphism := AddRMorphism cfMorph_is_multiplicative.
@@ -1567,7 +1567,7 @@ Canonical cfIsom_unlockable := [unlockable of cfIsom].
Lemma cfIsomE phi x : x \in G -> cfIsom phi (f x) = phi x.
Proof.
-move=> Gx; rewrite unlock cfMorphE //= /restrm ?defG ?cfRes_id ?invmE //.
+move=> Gx; rewrite unlock cfMorphE //= /restrm ?defG ?cfRes_id ?invmE //.
by rewrite -defR mem_morphim.
Qed.
@@ -1751,7 +1751,7 @@ Lemma sub_cfker_mod (A : {set gT}) K (psi : 'CF(G / K)) :
(A \subset cfker (psi %% K)) = (A / K \subset cfker psi)%g.
Proof.
by move=> nsKG nKA; rewrite -(quotientSGK nKA) ?quotient_cfker_mod ?cfker_mod.
-Qed.
+Qed.
Lemma cfker_quo H phi :
H <| G -> H \subset cfker (phi) -> cfker (phi / H) = (cfker phi / H)%g.
@@ -1872,7 +1872,7 @@ Proof. by apply: cforder_inj_rmorph cfSdprod_inj. Qed.
End SDproduct.
-Section DProduct.
+Section DProduct.
Variables (gT : finGroupType) (G K H : {group gT}).
Hypothesis KxH : K \x H = G.
@@ -2065,7 +2065,7 @@ by rewrite -[P j](mem_enum P) r_j.
Qed.
Lemma cfBigdprodi_iso i : P i -> isometry (@cfBigdprodi i).
-Proof. by move=> Pi phi psi; rewrite cfDprodl_iso Pi !cfRes_id. Qed.
+Proof. by move=> Pi phi psi; rewrite cfDprodl_iso Pi !cfRes_id. Qed.
Definition cfBigdprod (phi : forall i, 'CF(A i)) :=
\prod_(i | P i) cfBigdprodi (phi i).
@@ -2321,7 +2321,7 @@ Lemma cfIndM phi psi: H \subset G ->
Proof.
move=> HsG; apply/cfun_inP=> x Gx; rewrite !cfIndE // !cfunE !cfIndE // -mulrA.
congr (_ * _); rewrite mulr_suml; apply: eq_bigr=> i iG; rewrite !cfunE.
-case:(boolP (x^i \in H))=> xJi; last by rewrite cfun0gen ?mul0r ?genGid.
+case: (boolP (x^i \in H))=> xJi; last by rewrite cfun0gen ?mul0r ?genGid.
by rewrite !cfResE //; congr (_*_); rewrite cfunJgen ?genGid.
Qed.
diff --git a/mathcomp/character/inertia.v b/mathcomp/character/inertia.v
index 3890fdd..9ae289d 100644
--- a/mathcomp/character/inertia.v
+++ b/mathcomp/character/inertia.v
@@ -277,7 +277,7 @@ Qed.
Lemma inertia_scale a phi : 'I[phi] \subset 'I[a *: phi].
Proof.
-apply/subsetP=> x /setIdP[nHx /eqP Iphi_x].
+apply/subsetP=> x /setIdP[nHx /eqP Iphi_x].
by rewrite inE nHx linearZ /= Iphi_x.
Qed.
@@ -497,7 +497,7 @@ Lemma cfResInd j:
Proof.
case/andP=> [sHG /subsetP nHG].
rewrite (reindex_inj invg_inj); apply/cfun_inP=> x Hx.
-rewrite cfResE // cfIndE // ?cfunE ?sum_cfunE; congr (_ * _).
+rewrite cfResE // cfIndE // ?cfunE ?sum_cfunE; congr (_ * _).
by apply: eq_big => [y | y Gy]; rewrite ?cfConjgE ?groupV ?invgK ?nHG.
Qed.
@@ -933,7 +933,7 @@ have AtoB_P s (psi := 'chi_s) (chi := 'Ind[G] psi): s \in calA ->
- rewrite !constt_Ind_Res => sHt; have [r sGr] := constt_cfInd_irr s sTG.
have rTs: s \in irr_constt ('Res[T] 'chi_r) by rewrite -constt_Ind_Res.
have NrT: 'Res[T] 'chi_r \is a character by rewrite cfRes_char ?irr_char.
- have rHt: t \in irr_constt ('Res[H] 'chi_r).
+ have rHt: t \in irr_constt ('Res[H] 'chi_r).
by have:= constt_Res_trans NrT rTs sHt; rewrite cfResRes.
pose e := '['Res[H] 'chi_r, theta]; set f := '['Res[H] psi, theta].
have DrH: 'Res[H] 'chi_r = e *: \sum_(xi <- (theta ^: G)%CF) xi.
@@ -956,7 +956,7 @@ have AtoB_P s (psi := 'chi_s) (chi := 'Ind[G] psi): s \in calA ->
rewrite (mono_lerif (ler_pmul2r (irr1_gt0 t))); apply: lerif_eq.
by rewrite /e -(cfResRes _ sHT) ?cfdot_Res_ge_constt.
have [_ /esym] := lerif_trans ub_chi_r lb_chi_r; rewrite eqxx.
- by case/andP=> /eqP Dchi /eqP->;rewrite cfIirrE -/chi -?Dchi ?mem_irr.
+ by case/andP=> /eqP Dchi /eqP->; rewrite cfIirrE -/chi -?Dchi ?mem_irr.
have part_c: {in calA, forall s (chi := 'Ind[G] 'chi_s),
[predI irr_constt ('Res[T] chi) & calA] =i pred1 s}.
- move=> s As chi s1; have [irr_chi _ /eqP Dchi_theta] := AtoB_P s As.
@@ -987,14 +987,14 @@ exists s => //; have [/irrP[r1 DsG] _ _] := AtoB_P s As.
by apply/eqP; rewrite /AtoB -constt_Ind_Res DsG irrK constt_irr in rTs *.
Qed.
-End ConsttInertiaBijection.
+End ConsttInertiaBijection.
Section ExtendInvariantIrr.
Variable gT : finGroupType.
Implicit Types G H K L M N : {group gT}.
-Section ConsttIndExtendible.
+Section ConsttIndExtendible.
Variables (G N : {group gT}) (t : Iirr N) (c : Iirr G).
Let theta := 'chi_t.
@@ -1174,7 +1174,7 @@ have [inj_Mphi | /injectivePn[i [j i'j eq_mm_ij]]] := boolP (injectiveb mmLth).
rewrite eqn_leq lt0n (contraNneq _ (irr1_neq0 s)); last first.
by rewrite -(cfRes1 L) DthL cfunE => ->; rewrite !mul0r.
rewrite -leq_sqr -leC_nat natrX -(ler_pmul2r (irr1_gt0 p0)) -mulrA mul1r.
- have ->: e%:R * 'chi_p0 1%g = 'Res[L] theta 1%g by rewrite DthL cfunE.
+ have ->: e%:R * 'chi_p0 1%g = 'Res[L] theta 1%g by rewrite DthL cfunE.
rewrite cfRes1 -(ler_pmul2l (gt0CiG K L)) -cfInd1 // -/phi.
rewrite -card_quotient // -card_Iirr_abelian // mulr_natl.
rewrite ['Ind phi]cfun_sum_cfdot sum_cfunE (bigID (mem (codom mmLth))) /=.
@@ -1497,7 +1497,7 @@ have kerN_mu_t: N \subset cfker (mu / 'chi_t)%R.
rewrite -subsetIidl -cfker_Res ?lin_charW ?rpred_div ?rmorph_div //.
by rewrite /= uNlam tNlam divrr ?lin_char_unitr ?cfker_cfun1.
have co_e_mu_t: coprime e #[(mu / 'chi_t)%R]%CF.
- suffices dv_o_mu_t: #[(mu / 'chi_t)%R]%CF %| 'o(mu)%CF * 'o('chi_t)%CF.
+ suffices dv_o_mu_t: #[(mu / 'chi_t)%R]%CF %| 'o(mu)%CF * 'o('chi_t)%CF.
by rewrite (coprime_dvdr dv_o_mu_t) // coprime_mulr o_mu co_e_lam.
rewrite !cfDet_order_lin //; apply/dvdn_cforderP=> x Gx.
rewrite invr_lin_char // !cfunE exprMn -rmorphX {2}mulnC.
@@ -1607,7 +1607,7 @@ apply: (iffP idP) => [not_chijK1 | [i nzi ->]]; last first.
have /neq0_has_constt[i chijKi]: 'Res[K] 'chi_j != 0 by apply: Res_irr_neq0.
have nz_i: i != 0.
by apply: contraNneq not_chijK1 => i0; rewrite constt0_Res_cfker // -i0.
-have /irrP[k def_chik] := irr_induced_Frobenius_ker nz_i.
+have /irrP[k def_chik] := irr_induced_Frobenius_ker nz_i.
have: '['chi_j, 'chi_k] != 0 by rewrite -def_chik -cfdot_Res_l.
by rewrite cfdot_irr pnatr_eq0; case: (j =P k) => // ->; exists i.
Qed.
diff --git a/mathcomp/character/integral_char.v b/mathcomp/character/integral_char.v
index ad2980f..16e3b51 100644
--- a/mathcomp/character/integral_char.v
+++ b/mathcomp/character/integral_char.v
@@ -77,7 +77,7 @@ exists QnC => [// nuQn|].
rewrite span_seq1 in genQn.
exists w => // hT H phi Nphi x x_dv_n.
apply: sig_eqW; have [rH ->] := char_reprP Nphi.
-have [Hx | /cfun0->] := boolP (x \in H); last by exists 0; rewrite rmorph0.
+have [Hx | /cfun0->] := boolP (x \in H); last by exists 0; rewrite rmorph0.
have [e [_ [enx1 _] [-> _] _]] := repr_rsim_diag rH Hx.
have /fin_all_exists[k Dk] i: exists k, e 0 i = z ^+ k.
have [|k ->] := (prim_rootP prim_z) (e 0 i); last by exists k.
@@ -657,14 +657,14 @@ have{defQn} imItoQ: calG = ItoQ @: {:I}.
have injItoQ: {in {:I} &, injective ItoQ}.
move=> k1 k2 _ _ /(congr1 (fun nu : gal_of _ => nu eps))/eqP.
by apply: contraTeq; rewrite !defItoQ (eq_prim_root_expr pr_eps) !modn_small.
-pose pi1 := \prod_(s in S) chi s; pose pi2 := \prod_(s in S) `|chi s| ^+ 2.
+pose pi1 := \prod_(s in S) chi s; pose pi2 := \prod_(s in S) `|chi s| ^+ 2.
have Qpi1: pi1 \in Crat.
have [a Da] := QnGg _ Nchi; suffices ->: pi1 = QnC (galNorm 1 {:Qn} a).
have /vlineP[q ->] := mem_galNorm galQn (memvf a).
by rewrite rmorphZ_num rmorph1 mulr1 Crat_rat.
rewrite /galNorm rmorph_prod -/calG imItoQ big_imset //=.
rewrite /pi1 -(eq_bigl _ _ imItoS) -big_uniq // big_map big_filter /=.
- apply: eq_bigr => k _; have [nuC DnuC] := gQnC (ItoQ k); rewrite DnuC Da.
+ apply: eq_bigr => k _; have [nuC DnuC] := gQnC (ItoQ k); rewrite DnuC Da.
have [r ->] := char_sum_irr Nchi; rewrite !sum_cfunE rmorph_sum.
apply: eq_bigr => i _; have /QnGg[b Db] := irr_char i.
have Lchi_i: 'chi_i \is a linear_char by rewrite irr_cyclic_lin.
diff --git a/mathcomp/character/mxabelem.v b/mathcomp/character/mxabelem.v
index c178d75..92fdb0e 100644
--- a/mathcomp/character/mxabelem.v
+++ b/mathcomp/character/mxabelem.v
@@ -247,7 +247,7 @@ Lemma dprod_rowg m1 m2 (A : 'M[F]_(m1, n)) (B : 'M[F]_(m2, n)) :
Proof.
rewrite (sameP mxdirect_addsP eqP) -trivg_rowg rowgI => /eqP tiAB.
by rewrite -cprod_rowg dprodEcp.
-Qed.
+Qed.
Lemma bigcprod_rowg m I r (P : pred I) (A : I -> 'M[F]_n) (B : 'M[F]_(m, n)) :
(\sum_(i <- r | P i) A i :=: B)%MS ->
@@ -356,7 +356,7 @@ move=> m_gt0 n_gt0 q_gt1; apply/eqP; rewrite eqn_dvd; apply/andP; split.
apply/exponentP=> x _; apply/matrixP=> i j; rewrite mulmxnE !mxE.
by rewrite -mulr_natr -Zp_nat_mod // modnn mulr0.
pose cmx1 := const_mx 1%R : 'M['Z_q]_(m, n).
-apply: dvdn_trans (dvdn_exponent (in_setT cmx1)).
+apply: dvdn_trans (dvdn_exponent (in_setT cmx1)).
have/matrixP/(_ (Ordinal m_gt0))/(_ (Ordinal n_gt0))/eqP := expg_order cmx1.
by rewrite mulmxnE !mxE -order_dvdn order_Zp1 Zp_cast.
Qed.
@@ -374,7 +374,7 @@ have ->: (q ^ (m * n))%N = #|G| by rewrite cardsT card_matrix card_ord Zp_cast.
rewrite max_card_abelian //= -grank_abelian //= -/G.
pose B : {set 'M['Z_q]_(m, n)} := [set delta_mx ij.1 ij.2 | ij : 'I_m * 'I_n].
suffices ->: G = <<B>>.
- have ->: (m * n)%N = #|{: 'I_m * 'I_n}| by rewrite card_prod !card_ord.
+ have ->: (m * n)%N = #|{: 'I_m * 'I_n}| by rewrite card_prod !card_ord.
exact: leq_trans (grank_min _) (leq_imset_card _ _).
apply/setP=> v; rewrite inE (matrix_sum_delta v).
rewrite group_prod // => i _; rewrite group_prod // => j _.
@@ -770,7 +770,7 @@ move: {2}_.+1 (ltnSn (n + #|H|)) {rG G sHG}(subg_repr _ _) => m.
elim: m gT H pH => // m IHm gT' G pG in n n_gt0 *; rewrite ltnS => le_nG_m rG.
apply/eqP=> Gregular; have irrG: mx_irreducible rG.
apply/mx_irrP; split=> // U modU; rewrite -mxrank_eq0 -lt0n => Unz.
- rewrite /row_full eqn_leq rank_leq_col leqNgt; apply/negP=> ltUn.
+ rewrite /row_full eqn_leq rank_leq_col leqNgt; apply/negP=> ltUn.
have: rfix_mx (submod_repr modU) G != 0.
by apply: IHm => //; apply: leq_trans le_nG_m; rewrite ltn_add2r.
by rewrite -mxrank_eq0 (rfix_submod modU) // Gregular capmx0 linear0 mxrank0.
@@ -857,7 +857,7 @@ Theorem extraspecial_repr_structure (sS : irrType F S) :
exists2 w, primitive_root_of_unity p w
& forall i, phi i z = (w ^+ i.+1)%:M
& forall i, irr_degree (iphi i) = (p ^ n)%N]
- & #|sS| = (p ^ n.*2 + p.-1)%N].
+ & #|sS| = (p ^ n.*2 + p.-1)%N].
Proof.
have [[defPhiS defS'] prZ] := esS; set linS := linear_irr sS.
have nb_lin: #|linS| = (p ^ n.*2)%N.
@@ -916,7 +916,7 @@ have phi_ze e: phi (z ^+ e)%g = (w ^+ e)%:M.
by rewrite /phi irr_center_scalar ?groupX ?irr_modeX.
have wp1: w ^+ p = 1 by rewrite -irr_modeX // -ozp expg_order irr_mode1.
have injw: {in 'Z(S) &, injective (irr_mode i0)}.
- move=> x y Zx Zy /= eq_xy; have [[Sx _] [Sy _]] := (setIP Zx, setIP Zy).
+ move=> x y Zx Zy /= eq_xy; have [[Sx _] [Sy _]] := (setIP Zx, setIP Zy).
apply: mx_faithful_inj (fful_nlin _ nlin_i0) _ _ Sx Sy _.
by rewrite !{1}irr_center_scalar ?eq_xy; first by split.
have prim_w e: 0 < e < p -> p.-primitive_root (w ^+ e).
diff --git a/mathcomp/character/mxrepresentation.v b/mathcomp/character/mxrepresentation.v
index 6dd4eec..0c1d4c1 100644
--- a/mathcomp/character/mxrepresentation.v
+++ b/mathcomp/character/mxrepresentation.v
@@ -712,7 +712,7 @@ Definition regular_mx x : 'M[R]_nG :=
Lemma regular_mx_repr : mx_repr G regular_mx.
Proof.
split=> [|x y Gx Gy]; apply/row_matrixP=> i; rewrite !rowK.
- by rewrite mulg1 row1 gring_valK.
+ by rewrite mulg1 row1 gring_valK.
by rewrite row_mul rowK -rowE rowK mulgA gring_indexK // groupM ?enum_valP.
Qed.
Canonical regular_repr := MxRepresentation regular_mx_repr.
@@ -1453,7 +1453,7 @@ Lemma cyclic_mx_sub m u (W : 'M_(m, n)) :
Proof.
move=> modU Wu; rewrite genmxE; apply/row_subP=> i.
by rewrite row_mul mul_rV_lin1 /= mxmodule_envelop // vec_mxK row_sub.
-Qed.
+Qed.
Lemma hom_cyclic_mx u f :
(u <= dom_hom_mx f)%MS -> (cyclic_mx u *m f :=: cyclic_mx (u *m f))%MS.
@@ -1585,7 +1585,7 @@ Proof.
move=> isoUV [modU nzU simU]; have [f injf homUf defV] := isoUV.
split=> [||W modW sWV nzW]; first by rewrite (mx_iso_module isoUV).
by rewrite -(eqmx_eq0 defV) -(mul0mx n f) (can_eq (mulmxK injf)).
-rewrite -defV -[W](mulmxKV injf) submxMr //; set W' := W *m _.
+rewrite -defV -[W](mulmxKV injf) submxMr //; set W' := W *m _.
have sW'U: (W' <= U)%MS by rewrite -[U](mulmxK injf) submxMr ?defV.
rewrite (simU W') //; last by rewrite -(can_eq (mulmxK injf)) mul0mx mulmxKV.
rewrite hom_mxmodule ?dom_hom_invmx // -[W](mulmxKV injf) submxMr //.
@@ -1640,7 +1640,7 @@ Proof.
move=> simU simV homUf sUfV nzUf; have [modU _ _] := simU.
have [g invg homUg defUg] := mx_Schur_inj_iso simU homUf nzUf.
exists g => //; apply: mx_Schur_onto; rewrite ?defUg //.
-by rewrite -!submx0 defUg in nzUf *.
+by rewrite -!submx0 defUg in nzUf *.
Qed.
(* A boolean test for module isomorphism that is only valid for simple *)
@@ -1998,7 +1998,7 @@ Proof.
have [I [W isoUW ->]] := component_mx_def => simV homWf sVWf.
have [i _ _|i _ ] := hom_mxsemisimple_iso simV _ homWf sVWf.
exact: mx_iso_simple (simU).
-exact: mx_iso_trans.
+exact: mx_iso_trans.
Qed.
Lemma component_mx_iso V : mxsimple V -> (V <= compU)%MS -> mx_iso U V.
@@ -2189,7 +2189,7 @@ have modMS: mxmodule (M :&: S)%MS by rewrite capmx_module ?subSocle_module.
have [J /= U simU defMS _] := mxsemisimpleS modMS (capmxSr M S) ssimS.
rewrite -defMS; apply/sumsmx_subP=> j _.
have [sUjV sUjS]: (U j <= M /\ U j <= S)%MS.
- by apply/andP; rewrite -sub_capmx -defMS (sumsmx_sup j).
+ by apply/andP; rewrite -sub_capmx -defMS (sumsmx_sup j).
have [W P_W isoWU] := subSocle_iso (simU j) sUjS.
rewrite (sumsmx_sup W) // sub_capmx sUjV mx_iso_component //.
exact: socle_simple.
@@ -2360,7 +2360,7 @@ suffices defM: (M == 1%:M)%MS by rewrite (eqmxP defM) mxrank1 in rM.
case: (mx_abs_irrW absG) => _ _ ->; rewrite ?submx1 -?mxrank_eq0 ?rM //.
apply/mxmoduleP=> x Gx; suffices: is_scalar_mx (rG x).
by case/is_scalar_mxP=> a ->; rewrite mul_mx_scalar scalemx_sub.
-apply: (mx_abs_irr_cent_scalar absG).
+apply: (mx_abs_irr_cent_scalar absG).
by apply/centgmxP=> y Gy; rewrite -!repr_mxM // (centsP cGG).
Qed.
@@ -3442,7 +3442,7 @@ rewrite inE -val_eqE /= PackSocleK eq_sym.
by apply/component_mx_isoP; rewrite ?subgK //; apply: Clifford_iso.
Qed.
-Lemma Clifford_astab1 (W : sH) : 'C[W | 'Cl] = rstabs rG W.
+Lemma Clifford_astab1 (W : sH) : 'C[W | 'Cl] = rstabs rG W.
Proof.
apply/setP=> x; rewrite !inE; apply: andb_id2l => Gx.
rewrite sub1set inE (sameP eqP socleP) !val_Clifford_act //.
@@ -3638,7 +3638,7 @@ have UvalI: (valI <= U)%MS.
exists (valI *m in_factmod _ 1%:M *m in_submod _ 1%:M) => [||x Gx].
- apply: (@addIn (\rank (U :&: V) + \rank V)%N); rewrite genmxE addnA addnCA.
rewrite /nI genmxE !{1}mxrank_in_factmod 2?(addsmx_idPr _) //.
- by rewrite -mxrank_sum_cap addnC.
+ by rewrite -mxrank_sum_cap addnC.
- rewrite -kermx_eq0; apply/rowV0P=> u; rewrite (sameP sub_kermxP eqP).
rewrite mulmxA -in_submodE mulmxA -in_factmodE -(inj_eq val_submod_inj).
rewrite linear0 in_submodK ?in_factmod_eq0 => [Vvu|]; last first.
@@ -4329,7 +4329,7 @@ rewrite -ker_irr_comp_op sub_capmx (sameP sub_kermxP eqP) mul_vec_lin.
by rewrite 2!linearB /= eqAB subrr linear0 addmx_sub ?eqmx_opp /=.
Qed.
-Lemma rank_irr_comp : \rank 'R_iG = \rank E_G.
+Lemma rank_irr_comp : \rank 'R_iG = \rank E_G.
Proof.
symmetry; rewrite -{1}irr_comp_envelop; apply/mxrank_injP.
by rewrite ker_irr_comp_op.
@@ -4544,7 +4544,7 @@ have [_ nG'G] := andP (der_normal 1 G); apply/eqP; rewrite -card_quotient //.
have cGqGq: abelian (G / G^`(1))%g by apply: sub_der1_abelian.
have F'Gq: [char F]^'.-group (G / G^`(1))%g by apply: morphim_pgroup.
have splitGq: group_splitting_field (G / G^`(1))%G.
- exact: quotient_splitting_field.
+ exact: quotient_splitting_field.
rewrite -(sum_irr_degree sGq) // -sum1_card.
pose rG (j : sGq) := morphim_repr (socle_repr j) nG'G.
have irrG j: mx_irreducible (rG j) by apply/morphim_mx_irr; apply: socle_irr.
@@ -4785,7 +4785,7 @@ suffices defU: (\sum_i oapp W_ V i :=: U)%MS.
apply: eqmx_trans defVW; rewrite (bigD1 None) //=; apply/eqmxP.
have [i0 _ | I0] := pickP I.
by rewrite (reindex some) ?addsmxS ?defW //; exists (odflt i0) => //; case.
-rewrite big_pred0 //; last by case => // /I0.
+rewrite big_pred0 //; last by case=> // /I0.
by rewrite !addsmxS ?sub0mx // -defW big_pred0.
Qed.
@@ -4841,7 +4841,7 @@ have sVS: (V <= \sum_(W : sG | has (fun Mi => Mi <= W) Ms) W)%MS.
rewrite [V](big_nth 0) big_mkord; apply/sumsmx_subP=> i _.
set Mi := Ms`_i; have MsMi: Mi \in Ms by apply: mem_nth.
have simMi := simMs _ MsMi; have S_Mi := component_socle sG simMi.
- rewrite (sumsmx_sup (PackSocle S_Mi)) ?PackSocleK //.
+ rewrite (sumsmx_sup (PackSocle S_Mi)) ?PackSocleK //.
by apply/hasP; exists Mi; rewrite ?component_mx_id.
have [W MsW isoWM] := subSocle_iso simM (submx_trans sMV sVS).
have [Mi MsMi sMiW] := hasP MsW; apply/hasP; exists Mi => //.
@@ -4908,7 +4908,7 @@ Lemma map_mx_faithful : mx_faithful rGf = mx_faithful rG.
Proof. by rewrite /mx_faithful rker_map. Qed.
Lemma map_mx_abs_irr :
- mx_absolutely_irreducible rGf = mx_absolutely_irreducible rG.
+ mx_absolutely_irreducible rGf = mx_absolutely_irreducible rG.
Proof.
by rewrite /mx_absolutely_irreducible -map_enveloping_algebra_mx row_full_map.
Qed.
@@ -5284,7 +5284,7 @@ rewrite {1}mulSn -Bfree -{1}rBj {rBj} -mxrank_disjoint_sum.
rewrite mxrankS // addsmx_sub -[m.+1]/(1 + m)%N; apply/andP; split.
apply/row_subP=> k; rewrite row_mul mul_rV_lin1 /=.
apply: eq_row_sub (mxvec_index (lshift _ 0) k) _.
- by rewrite !rowK mxvecK mxvecE mxE row_mxEl mxE -row_mul mul1mx.
+ by rewrite !rowK mxvecK mxvecE mxE row_mxEl mxE -row_mul mul1mx.
apply/row_subP; case/mxvec_indexP=> i k.
apply: eq_row_sub (mxvec_index (rshift 1 i) k) _.
by rewrite !rowK !mxvecE 2!mxE row_mxEr.
diff --git a/mathcomp/character/vcharacter.v b/mathcomp/character/vcharacter.v
index 5b1ff05..97ad828 100644
--- a/mathcomp/character/vcharacter.v
+++ b/mathcomp/character/vcharacter.v
@@ -248,7 +248,7 @@ by rewrite !cfunE rpredB // rpred_Cnat ?Cnat_char1.
Qed.
Lemma Cint_cfdot_vchar_irr i phi : phi \in 'Z[irr G] -> '[phi, 'chi_i] \in Cint.
-Proof.
+Proof.
case/vcharP=> chi1 Nchi1 [chi2 Nchi2 ->].
by rewrite cfdotBl rpredB // rpred_Cnat ?Cnat_cfdot_char_irr.
Qed.
@@ -310,7 +310,7 @@ have notSnu0: 0 \notin map nu S.
apply: contra notS0 => /mapP[phi Sphi /esym/eqP].
by rewrite -cfnorm_eq0 Inu ?Z_S // cfnorm_eq0 => /eqP <-.
apply/pairwise_orthogonalP; split; first by rewrite /= notSnu0 map_inj_in_uniq.
-move=>_ _ /mapP[phi Sphi ->] /mapP[psi Spsi ->].
+move=> _ _ /mapP[phi Sphi ->] /mapP[psi Spsi ->].
by rewrite (inj_in_eq inj_nu) // Inu ?Z_S //; apply: dotSS.
Qed.
@@ -553,9 +553,9 @@ Lemma isometry_in_zchar nu : {in S &, isometry nu} -> {in 'Z[S] &, isometry nu}.
Proof.
move=> Inu _ _ /zchar_nth_expansion[u Zu ->] /zchar_nth_expansion[v Zv ->].
rewrite !raddf_sum; apply: eq_bigr => j _ /=.
-rewrite !cfdot_suml; apply: eq_bigr => i _.
+rewrite !cfdot_suml; apply: eq_bigr => i _.
by rewrite !raddfZ_Cint //= !cfdotZl !cfdotZr Inu ?mem_nth.
-Qed.
+Qed.
End Isometries.
@@ -702,7 +702,7 @@ have [j def_chi_j]: {j | 'chi_j = phi}.
exists j; rewrite ?cfkerEirr def_chi_j //; apply/subsetP => x /setDP[Gx notHx].
rewrite inE cfunE def_phi // cfunE -/a cfun1E // Gx mulr1 cfIndE //.
rewrite big1 ?mulr0 ?add0r // => y Gy; apply/theta0/(contra _ notHx) => Hxy.
-by rewrite -(conjgK y x) cover_imset -class_supportEr mem_imset2 ?groupV.
+by rewrite -(conjgK y x) cover_imset -class_supportEr mem_imset2 ?groupV.
Qed.
End MoreVchar.
@@ -732,7 +732,7 @@ Proof. by rewrite !inE mem_irr. Qed.
Lemma dirrP f :
reflect (exists b : bool, exists i, f = (-1) ^+ b *: 'chi_i) (f \in dirr G).
Proof.
-apply: (iffP idP) => [| [b [i ->]]]; last by rewrite dirr_sign irr_dirr.
+apply: (iffP idP) => [| [b [i ->]]]; last by rewrite dirr_sign irr_dirr.
case/orP=> /irrP[i Hf]; first by exists false, i; rewrite scale1r.
by exists true, i; rewrite scaleN1r -Hf opprK.
Qed.
diff --git a/mathcomp/field/algC.v b/mathcomp/field/algC.v
index 2e8ce3f..b045c07 100644
--- a/mathcomp/field/algC.v
+++ b/mathcomp/field/algC.v
@@ -152,7 +152,7 @@ have sposDl x y : lt 0 x -> le 0 y -> lt 0 (x + y).
have sqrtJ z : le 0 z -> conj (sqrt z) = sqrt z.
rewrite posE -{2}[z]sqrtK -subr_eq0 -mulrBr mulf_eq0 subr_eq0.
by case/pred2P=> ->; rewrite ?rmorph0.
- case/andP=> nz_x /sqrtJ uJ /sqrtJ vJ.
+ case/andP=> nz_x /sqrtJ uJ /sqrtJ vJ.
set u := sqrt x in uJ; set v := sqrt y in vJ; pose w := u + i * v.
have ->: x + y = w * conj w.
rewrite rmorphD rmorphM iJ uJ vJ mulNr mulrC -subr_sqr sqrMi opprK.
@@ -171,7 +171,7 @@ have normD x y : le (norm (x + y)) (norm x + norm y).
by have /andP[]: lt 0 (u + v) by rewrite sposDl // /lt nz_u.
have le_sqr u v: conj u = u -> le 0 v -> le (u ^+ 2) (v ^+ 2) -> le u v.
move=> Ru v_ge0; have [-> // | nz_u] := eqVneq u 0.
- have [u_gt0 | u_le0 _] := boolP (lt 0 u).
+ have [u_gt0 | u_le0 _] := boolP (lt 0 u).
by rewrite leB (leB u) subr_sqr mulrC addrC; apply: sposM; apply: sposDl.
rewrite leB posD // posE normN -addr_eq0; apply/eqP.
rewrite /lt nz_u posE -subr_eq0 in u_le0; apply: (mulfI u_le0).
@@ -184,7 +184,7 @@ have normD x y : le (norm (x + y)) (norm x + norm y).
by rewrite rmorphD !rmorphM !conjK addrC mulrC (mulrC y).
rewrite -mulr2n -mulr_natr exprMn normK -natrX mulr_natr sqrrD mulrACA.
rewrite -rmorphM (mulrC y x) addrAC leB mulrnA mulr2n opprD addrACA.
- rewrite subrr addr0 {2}(mulrC x) rmorphM mulrACA -opprB addrAC -sqrrB -sqrMi.
+ rewrite subrr addr0 {2}(mulrC x) rmorphM mulrACA -opprB addrAC -sqrrB -sqrMi.
apply/posP; exists (i * (x * conj y - y * conj x)); congr (_ * _).
rewrite !(rmorphM, rmorphB) iJ !conjK mulNr -mulrN opprB.
by rewrite (mulrC x) (mulrC y).
@@ -421,7 +421,7 @@ Lemma conjK : involutive conj.
Proof. by move=> u; apply: CtoL_inj; rewrite !LtoC_K conjL_K. Qed.
Fact conj_nt : ~ conj =1 id.
-Proof.
+Proof.
have [i i2]: exists i : type, i ^+ 2 = -1.
have [i] := @solve_monicpoly _ 2 (nth 0 [:: -1 : type]) isT.
by rewrite !big_ord_recl big_ord0 /= mul0r mulr1 !addr0; exists i.
@@ -988,7 +988,7 @@ Proof.
rewrite unfold_in CintEge0 ?divr_ge0 ?invr_ge0 ?ler0n // !pnatr_eq0.
have [-> | nz_p] := altP eqP; first by rewrite dvd0n.
apply/CnatP/dvdnP=> [[q def_q] | [q ->]]; exists q.
- by apply/eqP; rewrite -eqC_nat natrM -def_q divfK ?pnatr_eq0.
+ by apply/eqP; rewrite -eqC_nat natrM -def_q divfK ?pnatr_eq0.
by rewrite [num in num / _]natrM mulfK ?pnatr_eq0.
Qed.
@@ -1213,10 +1213,10 @@ Section AutLmodC.
Variables (U V : lmodType algC) (f : {additive U -> V}).
-Lemma raddfZ_Cnat a u : a \in Cnat -> f (a *: u) = a *: f u.
+Lemma raddfZ_Cnat a u : a \in Cnat -> f (a *: u) = a *: f u.
Proof. by case/CnatP=> n ->; apply: raddfZnat. Qed.
-Lemma raddfZ_Cint a u : a \in Cint -> f (a *: u) = a *: f u.
+Lemma raddfZ_Cint a u : a \in Cint -> f (a *: u) = a *: f u.
Proof. by case/CintP=> m ->; rewrite !scaler_int raddfMz. Qed.
End AutLmodC.
diff --git a/mathcomp/field/algebraics_fundamentals.v b/mathcomp/field/algebraics_fundamentals.v
index 405a5d9..891bce5 100644
--- a/mathcomp/field/algebraics_fundamentals.v
+++ b/mathcomp/field/algebraics_fundamentals.v
@@ -561,7 +561,7 @@ have add_Rroot xR p c: {yR | extendsR xR yR & has_Rroot xR p c -> root_in yR p}.
have [m [le_vm le_wm _]] := maxn3 (n_ v) (n_ w) 0%N; rewrite !(posE m) //.
by rewrite /nlim limN -ltr_normr (ltr_trans e_gt0) ?v_gte ?ab_le.
have posD v w: lt 0 v -> lt 0 w -> lt 0 (v + w).
- move=> /posP[m [d d_gt0 v_gtd]] /posP[n [e e_gt0 w_gte]].
+ move=> /posP[m [d d_gt0 v_gtd]] /posP[n [e e_gt0 w_gte]].
apply/posP; exists (maxn m n), (d + e) => [|k]; first exact: addr_gt0.
rewrite geq_max => /andP[le_mk le_nk]; rewrite /nlim /lim.
have ->: q_ (v + w) = q_ v + q_ w.
diff --git a/mathcomp/field/algnum.v b/mathcomp/field/algnum.v
index c75bead..fcd6c2d 100644
--- a/mathcomp/field/algnum.v
+++ b/mathcomp/field/algnum.v
@@ -271,7 +271,7 @@ pose z_s := [seq coord b ij.2 (tnth s ij.1) | ij : IzT].
pose rank2 j i: Iz := enum_rank (i, j); pose val21 (p : Iz) := (enum_val p).1.
pose inQzs w := [forall j, Crat_span z_s (coord b j w)].
have enum_pairK j: {in predT, cancel (rank2 j) val21}.
- by move=> i; rewrite /val21 enum_rankK.
+ by move=> i; rewrite /val21 enum_rankK.
have Qz_Zs a: inQzs (\sum_(i < m) s`_i *~ a i).
apply/forallP=> j; apply/Crat_spanP; rewrite /in_Crat_span size_map -cardE.
exists [ffun ij => (a (val21 ij))%:Q *+ ((enum_val ij).2 == j)].
diff --git a/mathcomp/field/closed_field.v b/mathcomp/field/closed_field.v
index 8a2e304..05cf477 100644
--- a/mathcomp/field/closed_field.v
+++ b/mathcomp/field/closed_field.v
@@ -98,9 +98,9 @@ rewrite -cons_poly_def /lift polyseq_cons /nilp.
case pn0: (_ == _) => /=; last by move->; rewrite -cons_poly_def.
move=> _; rewrite polyseqC.
case c0: (_==_)=> /=.
- move: pn0; rewrite (eqP c0) size_poly_eq0; move/eqP->.
- by apply:val_inj=> /=; rewrite polyseq_cons // polyseq0.
-by rewrite mul0r add0r; apply:val_inj=> /=; rewrite polyseq_cons // /nilp pn0.
+ move: pn0; rewrite (eqP c0) size_poly_eq0; move/eqP->.
+ by apply: val_inj=> /=; rewrite polyseq_cons // polyseq0.
+by rewrite mul0r add0r; apply: val_inj=> /=; rewrite polyseq_cons // /nilp pn0.
Qed.
Fixpoint lead_coefT (k : term F -> fF) p :=
@@ -181,11 +181,11 @@ Qed.
Lemma rpoly_map_mul (t : term F) (p : polyF) (rt : rterm t) :
rpoly (map (Mul t) p) = rpoly p.
-Proof.
+Proof.
by rewrite /rpoly all_map /= (@eq_all _ _ (@rterm _)) // => x; rewrite /= rt.
Qed.
-Lemma rmulpT (p q : polyF) : rpoly p -> rpoly q -> rpoly (mulpT p q).
+Lemma rmulpT (p q : polyF) : rpoly p -> rpoly q -> rpoly (mulpT p q).
Proof.
elim: p q=> [|a p ihp] q rp rq //=; move: rp; case/andP=> ra rp /=.
apply: rsumpT; last exact: ihp.
@@ -206,7 +206,7 @@ Lemma eval_natmulpT (p : polyF) (n : nat) (e : seq F) :
eval_poly e (natmulpT n p) = (eval_poly e p) *+ n.
Proof.
elim: p; rewrite //= ?mul0rn // => c p ->.
-rewrite mulrnDl mulr_natl polyC_muln; congr (_+_).
+rewrite mulrnDl mulr_natl polyC_muln; congr (_+_).
by rewrite -mulr_natl mulrAC -mulrA mulr_natl mulrC.
Qed.
@@ -245,16 +245,16 @@ move=> Pk q sq cq c qq r n e /=.
elim: n c qq r k Pk e => [|n Pn] c qq r k Pk e; rewrite sizeTP.
case ltrq : (_ < _); first by rewrite /= ltrq /= -Pk.
rewrite lead_coefTP => [|a p]; rewrite Pk.
- rewrite ?(eval_mulpT,eval_amulXnT,eval_sumpT,eval_opppT) //=.
+ rewrite ?(eval_mulpT,eval_amulXnT,eval_sumpT,eval_opppT) //=.
by rewrite ltrq //= mul_polyC ?(mul0r,add0r).
by symmetry; rewrite Pk ?(eval_mulpT,eval_amulXnT,eval_sumpT, eval_opppT).
case ltrq : (_<_); first by rewrite /= ltrq Pk.
rewrite lead_coefTP.
- rewrite Pn ?(eval_mulpT,eval_amulXnT,eval_sumpT,eval_opppT) //=.
+ rewrite Pn ?(eval_mulpT,eval_amulXnT,eval_sumpT,eval_opppT) //=.
by rewrite ltrq //= mul_polyC ?(mul0r,add0r).
rewrite -/redivp_rec_loopT => x e'.
-rewrite Pn; last by move=>*; rewrite Pk.
-symmetry; rewrite Pn; last by move=>*; rewrite Pk.
+rewrite Pn; last by move=> *; rewrite Pk.
+symmetry; rewrite Pn; last by move=> *; rewrite Pk.
rewrite Pk ?(eval_lift,eval_mulpT,eval_amulXnT,eval_sumpT,eval_opppT).
by rewrite mul_polyC ?(mul0r,add0r).
Qed.
@@ -267,7 +267,7 @@ Lemma redivp_rec_loopT_qf (q : polyF) (sq : nat) (cq : term F)
Proof.
elim: n q sq cq k c qq r => [|n ihn] q sq cq k c qq r kP rq rcq rqq rr.
apply: sizeT_qf=> // n; case: (_ < _); first by apply: kP; rewrite // rqq rr.
- apply: lead_coefT_qf=> // l rl; apply: kP.
+ apply: lead_coefT_qf=> // l rl; apply: kP.
by rewrite /= ?(rsumpT,rmulpT,ramulXnT,rpoly_map_mul) //= rcq.
apply: sizeT_qf=> // m; case: (_ < _); first by apply: kP => //=; rewrite rqq rr.
apply: lead_coefT_qf=> // l rl; apply: ihn; rewrite //= ?rcq //.
@@ -290,7 +290,7 @@ Definition redivpT (p : polyF) (k : nat * polyF * polyF -> fF)
Lemma redivp_rec_loopP (q : {poly F}) (c : nat) (qq r : {poly F}) (n : nat) :
redivp_rec q c qq r n = redivp_rec_loop q (size q) (lead_coef q) c qq r n.
-Proof. by elim: n c qq r => [| n Pn] c qq r //=; rewrite Pn. Qed.
+Proof. by elim: n c qq r => [| n Pn] c qq r //=; rewrite Pn. Qed.
Lemma redivpTP (k : nat * polyF * polyF -> formula F) :
(forall c qq r e,
@@ -346,12 +346,12 @@ Lemma rgcdp_loopP (k : polyF -> formula F) :
Proof.
move=> Pk n p q e.
elim: n p q e => /= [| m Pm] p q e.
- rewrite redivpTP; last by move=>*; rewrite !isnullP eval_lift.
+ rewrite redivpTP; last by move=> *; rewrite !isnullP eval_lift.
rewrite isnullP eval_lift; case: (_ == 0); first by rewrite Pk.
- by rewrite redivpTP; last by move=>*; rewrite Pk.
-rewrite redivpTP; last by move=>*; rewrite !isnullP eval_lift.
+ by rewrite redivpTP; last by move=> *; rewrite Pk.
+rewrite redivpTP; last by move=> *; rewrite !isnullP eval_lift.
rewrite isnullP eval_lift; case: (_ == 0); first by rewrite Pk.
-by rewrite redivpTP; move=>*; rewrite ?Pm !eval_lift.
+by rewrite redivpTP => - *; rewrite ?Pm !eval_lift.
Qed.
Lemma rgcdp_loopT_qf (p : polyF) (k : polyF -> formula F) (q : polyF) (n : nat) :
@@ -371,16 +371,16 @@ Definition rgcdpT (p : polyF) k (q : polyF) : fF :=
(fun b => if b
then (k q1)
else (sizeT (fun n => (rgcdp_loopT p1 k n q1)) p1)) p1
- in (lt_sizeT (fun b => if b then (aux q k p) else (aux p k q)) p q).
+ in (lt_sizeT (fun b => if b then (aux q k p) else (aux p k q)) p q).
Lemma rgcdpTP (k : seq (term F) -> formula F) :
(forall p e, qf_eval e (k p) = qf_eval e (k (lift (eval_poly e p)))) ->
forall p q e, qf_eval e (rgcdpT p k q) =
qf_eval e (k (lift (rgcdp (eval_poly e p) (eval_poly e q)))).
Proof.
-move=> Pk p q e; rewrite /rgcdpT !sizeTP; case lqp: (_ < _).
+move=> Pk p q e; rewrite /rgcdpT !sizeTP; case lqp: (_ < _).
rewrite isnullP; case q0: (_ == _); first by rewrite Pk (eqP q0) rgcdp0.
- rewrite sizeTP rgcdp_loopP => [|e' p']; last by rewrite Pk.
+ rewrite sizeTP rgcdp_loopP => [|e' p']; last by rewrite Pk.
by rewrite /rgcdp lqp q0.
rewrite isnullP; case p0: (_ == _); first by rewrite Pk (eqP p0) rgcd0p.
rewrite sizeTP rgcdp_loopP => [|e' p']; last by rewrite Pk.
@@ -391,7 +391,7 @@ Lemma rgcdpT_qf (p : polyF) (k : polyF -> formula F) (q : polyF) :
(forall r, rpoly r -> qf (k r)) -> rpoly p -> rpoly q -> qf (rgcdpT p k q).
Proof.
move=> kP rp rq; apply: sizeT_qf=> // n; apply: sizeT_qf=> // m.
-by case:(_ < _);
+by case: (_ < _);
apply: isnull_qf=> //; case; do ?apply: kP=> //;
apply: sizeT_qf=> // n'; apply: rgcdp_loopT_qf.
Qed.
@@ -467,7 +467,7 @@ Proof. by move=> *; rewrite sizeTP rgdcop_recTP 1?Pk. Qed.
Lemma rgdcopT_qf (p : polyF) (k : polyF -> formula F) (q : polyF) :
(forall r, rpoly r -> qf (k r)) -> rpoly p -> rpoly q -> qf (rgdcopT p k q).
-Proof.
+Proof.
by move=> kP rp rq; apply: sizeT_qf => // n; apply: rgdcop_recT_qf.
Qed.
@@ -505,16 +505,16 @@ Lemma abstrXP (i : nat) (t : term F) (e : seq F) (x : F) :
rterm t -> (eval_poly e (abstrX i t)).[x] = eval (set_nth 0 e i x) t.
Proof.
elim: t => [n | r | n | t tP s sP | t tP | t tP n | t tP s sP | t tP | t tP n] h.
-- move=> /=; case ni: (_ == _);
+- move=> /=; case ni: (_ == _);
rewrite //= ?(mul0r,add0r,addr0,polyC1,mul1r,hornerX,hornerC);
by rewrite // nth_set_nth /= ni.
- by rewrite /= mul0r add0r hornerC.
- by rewrite /= mul0r add0r hornerC.
-- by case/andP: h => *; rewrite /= eval_sumpT hornerD tP ?sP.
+- by case/andP: h => *; rewrite /= eval_sumpT hornerD tP ?sP.
- by rewrite /= eval_opppT hornerN tP.
- by rewrite /= eval_natmulpT hornerMn tP.
- by case/andP: h => *; rewrite /= eval_mulpT hornerM tP ?sP.
-- by [].
+- by [].
- elim: n h => [|n ihn] rt; first by rewrite /= expr0 mul0r add0r hornerC.
by rewrite /= eval_mulpT exprSr hornerM ihn // mulrC tP.
Qed.
@@ -576,7 +576,7 @@ Proof.
move=> e i x; elim=> [|p ps ihps] //=.
case/andP=> rp rps; rewrite rootE abstrXP //.
constructor; first by case=> -> hps; rewrite eqxx /=; apply/ihps.
-by case/andP; move/eqP=> -> psr; split=> //; apply/ihps.
+by case/andP; move/eqP=> -> psr; split=> //; apply/ihps.
Qed.
Lemma holds_conjn (e : seq F) (i : nat) (x : F) (ps : seq (term F)) :
@@ -587,10 +587,10 @@ Proof.
elim: ps => [|p ps ihps] //=.
case/andP=> rp rps; rewrite rootE abstrXP //.
constructor; first by case=> /eqP-> hps /=; apply/ihps.
-by case/andP=> pr psr; split; first apply/eqP=> //; apply/ihps.
+by case/andP=> pr psr; split; first apply/eqP=> //; apply/ihps.
Qed.
-Lemma holds_ex_elim : GRing.valid_QE_proj ex_elim.
+Lemma holds_ex_elim: GRing.valid_QE_proj ex_elim.
Proof.
move=> i [ps qs] /= e; case/andP=> /= rps rqs.
rewrite ex_elim_seqP big_map.
@@ -616,7 +616,7 @@ case g0: (\big[(@rgcdp F)/0%:P]_(j <- map (eval_poly e \o abstrX i) ps) j == 0).
exists x; do 2?constructor=> //; last by apply/holds_conjn.
apply/holds_conj; rewrite //= -root_biggcd.
by rewrite (eqp_root (aux _ _ _ )) (eqP g0) root0.
-apply:(iffP (closed_rootP axiom _)); case=> x Px; exists x; move:Px => //=.
+apply: (iffP (closed_rootP axiom _)); case=> x Px; exists x; move: Px => //=.
rewrite (eqp_root (eqp_rgdco_gdco _ _)) root_gdco ?g0 //.
rewrite -(eqp_root (aux _ _ _ )) root_biggcd abstrX_bigmul eval_bigmul.
rewrite -bigmap_id root_bigmul; case/andP=> psr qsr.
@@ -629,7 +629,7 @@ constructor; first by apply/holds_conj.
by apply/holds_conjn.
Qed.
-Lemma wf_ex_elim : GRing.wf_QE_proj ex_elim.
+Lemma wf_ex_elim: GRing.wf_QE_proj ex_elim.
Proof. by move=> i bc /= rbc; apply: ex_elim_qf. Qed.
Definition closed_fields_QEMixin :=
diff --git a/mathcomp/field/countalg.v b/mathcomp/field/countalg.v
index 46ce3a3..95d28cb 100644
--- a/mathcomp/field/countalg.v
+++ b/mathcomp/field/countalg.v
@@ -957,7 +957,7 @@ pose incEp E i j :=
let v := map_poly (EtoInc E i) (tagged E j) in
if decode j is [:: i1; k] then
if i1 == i then odflt v (unpickle k) else v
- else v.
+ else v.
pose fix E_ i := if i is i1.+1 then MkExt _ (incEp (E_ i1) i1) else MkExt F \0.
pose E i := tag (E_ i); pose Krep := {i : nat & E i}.
pose fix toEadd i k : {rmorphism E i -> E (k + i)%N} :=
diff --git a/mathcomp/field/falgebra.v b/mathcomp/field/falgebra.v
index 23f5cba..995dbee 100644
--- a/mathcomp/field/falgebra.v
+++ b/mathcomp/field/falgebra.v
@@ -109,7 +109,7 @@ have amE u v : am u v = v * u by rewrite lfunE.
pose uam := [pred u | lker (am u) == 0%VS].
pose vam := [fun u => if u \in uam then (am u)^-1%VF 1 else u].
have vamKl: {in uam, left_inverse 1 vam *%R}.
- by move=> u Uu; rewrite /= Uu -amE lker0_lfunVK.
+ by move=> u Uu; rewrite /= Uu -amE lker0_lfunVK.
exists uam vam => // [u Uu | u v [_ uv1] | u /negbTE/= -> //].
by apply/(lker0P Uu); rewrite !amE -mulrA vamKl // mul1r mulr1.
by apply/lker0P=> w1 w2 /(congr1 (am v)); rewrite !amE -!mulrA uv1 !mulr1.
@@ -747,7 +747,7 @@ Qed.
Lemma memvV A u : (u^-1 \in A) = (u \in A).
Proof.
-suffices{u} invA: invr_closed A by apply/idP/idP=> /invA; rewrite ?invrK.
+suffices{u} invA: invr_closed A by apply/idP/idP=> /invA; rewrite ?invrK.
move=> u Au; have [Uu | /invr_out-> //] := boolP (u \is a GRing.unit).
rewrite memvE -(limg_ker0 _ _ (lker0_amulr Uu)) limg_line lfunE /= mulVr //.
suff ->: (amulr u @: A)%VS = A by rewrite -memvE -algid_eq1 (unitr_algid1 Au).
@@ -1202,7 +1202,7 @@ Notation "''AHom' ( aT , rT )" := (ahom aT rT) : type_scope.
Notation "''AEnd' ( aT )" := (ahom aT aT) : type_scope.
Delimit Scope lrfun_scope with AF.
-Bind Scope lrfun_scope with ahom.
+Bind Scope lrfun_scope with ahom.
Notation "\1" := (@id_ahom _ _) : lrfun_scope.
Notation "f \o g" := (comp_ahom f g) : lrfun_scope.
diff --git a/mathcomp/field/fieldext.v b/mathcomp/field/fieldext.v
index 234183e..8d2af81 100644
--- a/mathcomp/field/fieldext.v
+++ b/mathcomp/field/fieldext.v
@@ -870,7 +870,7 @@ Definition vspaceOver V := <<vbasis V : seq L_F>>%VS.
Lemma mem_vspaceOver V : vspaceOver V =i (F * V)%VS.
Proof.
-move=> y; apply/idP/idP; last rewrite unlock; move=> /coord_span->.
+move=> y; apply/idP/idP; last rewrite unlock; move/coord_span->.
rewrite (@memv_suml F0 L) // => i _.
by rewrite memv_mul ?subvsP // vbasis_mem ?memt_nth.
rewrite memv_suml // => ij _; rewrite -tnth_nth; set x := tnth _ ij.
@@ -1538,7 +1538,7 @@ have nzL1: L1 != 0 by rewrite -(inj_eq toPinj) L1K /toPF raddf0 oner_eq0.
pose mulM := ComRingMixin mulA mulC mul1 mulD nzL1.
pose rL := ComRingType (RingType vL mulM) mulC.
have mulZl: GRing.Lalgebra.axiom mul.
- move=> a x y; apply: toPinj; rewrite toL_K /toPF !linearZ /= -!/(toPF _).
+ move=> a x y; apply: toPinj; rewrite toL_K /toPF !linearZ /= -!/(toPF _).
by rewrite toL_K -scalerAl modp_scalel.
have mulZr: GRing.Algebra.axiom (LalgType F rL mulZl).
by move=> a x y; rewrite !(mulrC x) scalerAl.
@@ -1569,6 +1569,8 @@ Qed.
(*Coq 8.3 processes this shorter proof correctly, but then crashes on Qed.
In Coq 8.4 Qed takes about 18s.
+ In Coq 8.7, everything seems to be all right *)
+(*
Lemma Xirredp_FAdjoin' (F : fieldType) (p : {poly F}) :
irreducible_poly p ->
{L : fieldExtType F & Vector.dim L = (size p).-1 &
@@ -1609,7 +1611,7 @@ have unitE: GRing.Field.mixin_of urL.
have /Bezout_eq1_coprimepP[u upq1]: coprimep p q.
have /contraR := irr_p _ _ (dvdp_gcdl p q); apply.
have: size (gcdp p q) <= size q by apply: leq_gcdpr.
- rewrite leqNgt;apply:contra;move/eqp_size ->.
+ rewrite leqNgt; apply: contra; move/eqp_size ->.
by rewrite (polySpred nz_p) ltnS size_poly.
suffices: x * toL u.2 = 1 by exists (toL u.2); rewrite mulrC.
congr (poly_rV _); rewrite toL_K modp_mul mulrC (canRL (addKr _) upq1).
diff --git a/mathcomp/field/galois.v b/mathcomp/field/galois.v
index 17fefe6..eaf5709 100644
--- a/mathcomp/field/galois.v
+++ b/mathcomp/field/galois.v
@@ -227,7 +227,7 @@ Qed.
Lemma kHomExtendP : kHom K <<E; x>> kHomExtend.
Proof.
have [fM idKf] := kHomP homKf.
-apply/kHomP; split=> [|z Kz]; last by rewrite kHomExtend_id ?(subvP sKE) ?idKf.
+apply/kHomP; split=> [|z Kz]; last by rewrite kHomExtend_id ?(subvP sKE) ?idKf.
move=> _ _ /Fadjoin_polyP[p Ep ->] /Fadjoin_polyP[q Eq ->].
rewrite -hornerM !kHomExtend_poly ?rpredM // -hornerM; congr _.[_].
apply/polyP=> i; rewrite coef_map !coefM /= linear_sum /=.
@@ -255,7 +255,7 @@ Proof.
by move=> sKE eq_fg; rewrite !kAutE (kHom_eq sKE eq_fg) (eq_in_limg eq_fg).
Qed.
-Lemma kAutfE K f : kAut K {:L} f = kHom K {:L} f.
+Lemma kAutfE K f : kAut K {:L} f = kHom K {:L} f.
Proof. by rewrite kAutE subvf andbT. Qed.
Lemma kAut1E E (f : 'AEnd(L)) : kAut 1 E f = (f @: E <= E)%VS.
@@ -438,7 +438,7 @@ Lemma normal_field_splitting (F : fieldType) (L : fieldExtType F) :
SplittingField.axiom L.
Proof.
move=> normalL; pose r i := sval (sigW (normalL 1%AS (tnth (vbasis {:L}) i))).
-have sz_r i: size (r i) <= \dim {:L}.
+have sz_r i: size (r i) <= \dim {:L}.
rewrite -ltnS -(size_prod_XsubC _ id) /r; case: sigW => _ /= /eqP <-.
rewrite size_minPoly ltnS; move: (tnth _ _) => x.
by rewrite adjoin_degreeE dimv1 divn1 dimvS // subvf.
@@ -615,7 +615,7 @@ have [f homLf fxz]: exists2 f : 'End(Lz), kHom 1 imL f & f (inLz x) = z.
have [q2 Dq2]: exists q2, q1z = map_poly inLz q2.
exists (\poly_(i < size q1z) (sval (sig_eqW (F0q1z i)))%:A).
rewrite -{1}[q1z]coefK; apply/polyP=> i; rewrite coef_map !{1}coef_poly.
- by case: sig_eqW => a; case: ifP; rewrite /= ?rmorph0 ?linearZ ?rmorph1.
+ by case: sig_eqW => a; case: ifP; rewrite /= ?rmorph0 ?linearZ ?rmorph1.
rewrite Dq2 dvdp_map minPoly_dvdp //.
apply/polyOverP=> i; have[a] := F0q1z i.
rewrite -(rmorph1 [rmorphism of inLz]) -linearZ.
@@ -771,7 +771,7 @@ Variable V : {vspace L}.
(* The <<_>>, which becomes redundant when V is a {subfield L}, ensures that *)
(* the argument of [subg _] is syntactically a group. *)
Inductive gal_of := Gal of [subg kAEnd_group 1 <<V>> / kAEndf (agenv V)].
-Definition gal (f : 'AEnd(L)) := Gal (subg _ (coset _ f)).
+Definition gal (f : 'AEnd(L)) := Gal (subg _ (coset _ f)).
Definition gal_sgval x := let: Gal u := x in u.
Fact gal_sgvalK : cancel gal_sgval Gal. Proof. by case. Qed.
@@ -1009,7 +1009,7 @@ Qed.
Lemma galois_connection K E (A : {set gal_of E}):
(K <= E)%VS -> (A \subset 'Gal(E / K)) = (K <= fixedField A)%VS.
Proof.
-move=> sKE; apply/idP/idP => [/fixedFieldS | /(galS E)].
+move=> sKE; apply/idP/idP => [/fixedFieldS | /(galS E)].
by apply: subv_trans; apply galois_connection_subv.
by apply: subset_trans; apply: galois_connection_subset.
Qed.
@@ -1143,7 +1143,7 @@ Lemma normalFieldS K M E : (K <= M)%VS -> normalField K E -> normalField M E.
Proof.
move=> sKM /normalFieldP nKE; apply/normalFieldP=> a Ea.
have [r /allP Er splitKa] := nKE a Ea.
-have /dvdp_prod_XsubC[m splitMa]: minPoly M a %| \prod_(b <- r) ('X - b%:P).
+have /dvdp_prod_XsubC[m splitMa]: minPoly M a %| \prod_(b <- r) ('X - b%:P).
by rewrite -splitKa minPolyS.
exists (mask m r); first by apply/allP=> b /mem_mask/Er.
by apply/eqP; rewrite -eqp_monic ?monic_prod_XsubC ?monic_minPoly.
@@ -1169,7 +1169,7 @@ have sXE := basis_mem (vbasisP E); set X : seq L := vbasis E in sXE.
exists (\prod_(a <- X) minPoly K a).
by apply: rpred_prod => a _; apply: minPolyOver.
exists (flatten [seq (sval (rK_ a)) | a <- X]).
- move/allP: sXE; elim: X => [|a X IHX] ; first by rewrite !big_nil eqpxx.
+ move/allP: sXE; elim: X => [|a X IHX]; first by rewrite !big_nil eqpxx.
rewrite big_cons /= big_cat /= => /andP[Ea sXE].
by case: (rK_ a) => /= r [] // _ <-; apply/eqp_mull/IHX.
apply/eqP; rewrite eqEsubv; apply/andP; split.
@@ -1215,7 +1215,7 @@ Lemma normalField_factors K E :
(normalField K E).
Proof.
move=> sKE; apply: (iffP idP) => [nKE a Ea | nKE]; last first.
- apply/normalFieldP=> a Ea; have [r _ ->] := nKE a Ea.
+ apply/normalFieldP=> a Ea; have [r _ ->] := nKE a Ea.
exists [seq x a | x : gal_of E <- r]; last by rewrite big_map.
by rewrite all_map; apply/allP=> b _; apply: memv_gal.
have [r Er splitKa] := normalFieldP nKE a Ea.
@@ -1312,7 +1312,7 @@ apply (iffP idP) => [/and3P[sKE /separableP sepKE nKE] | fixedKE].
rewrite -eqSS -size_minPoly splitKa size_prod_XsubC eqSS -/(size [:: a]).
have Ur: uniq r by rewrite -separable_prod_XsubC -splitKa; apply: sepKE.
rewrite -uniq_size_uniq {Ur}// => b; rewrite inE -root_prod_XsubC -splitKa.
- apply/eqP/idP=> [-> | pKa_b_0]; first exact: root_minPoly.
+ apply/eqP/idP=> [-> | pKa_b_0]; first exact: root_minPoly.
by have [x /fixEa-> ->] := normalField_root_minPoly sKE nKE Ea pKa_b_0.
have sKE: (K <= E)%VS by rewrite -fixedKE capvSl.
apply/galois_factors=> // a Ea.
@@ -1321,7 +1321,7 @@ have /fin_all_exists2[x_ galEx_ Dx_a] (b : seq_sub r_pKa) := imageP (valP b).
exists (codom x_); rewrite -map_comp; set r := map _ _.
have r_xa x: x \in 'Gal(E / K) -> x a \in r.
move=> galEx; have r_pKa_xa: x a \in r_pKa by apply/imageP; exists x.
- by rewrite [x a](Dx_a (SeqSub r_pKa_xa)); apply: codom_f.
+ by rewrite [x a](Dx_a (SeqSub r_pKa_xa)); apply: codom_f.
have Ur: uniq r by apply/injectiveP=> b c /=; rewrite -!Dx_a => /val_inj.
split=> //; first by apply/subsetP=> _ /codomP[b ->].
apply/eqP; rewrite -eqp_monic ?monic_minPoly ?monic_prod_XsubC //.
@@ -1389,10 +1389,10 @@ have [x1 | ntx] := eqVneq x 1%g.
by rewrite -{1}normEa1 /galNorm DgalE x1 cycle1 big_set1 !gal_id divr1.
pose c_ y := \prod_(i < invm (injm_Zpm x) y) (x ^+ i)%g a.
have nz_c1: c_ 1%g != 0 by rewrite /c_ morph1 big_ord0 oner_neq0.
-have [d] := @gal_independent_contra _ (mem 'Gal(E / K)) _ _ (group1 _) nz_c1.
+have [d] := @gal_independent_contra _ (mem 'Gal(E / K)) _ _ (group1 _) nz_c1.
set b := \sum_(y in _) _ => Ed nz_b; exists b.
split=> //; apply: rpred_sum => y galEy.
- by apply: rpredM; first apply: rpred_prod => i _; apply: memv_gal.
+ by apply: rpredM; first apply: rpred_prod => i _; apply: memv_gal.
apply: canRL (mulfK _) _; first by rewrite fmorph_eq0.
rewrite rmorph_sum mulr_sumr [b](reindex_acts 'R _ galEx) ?astabsR //=.
apply: eq_bigr => y galEy; rewrite galM // rmorphM mulrA; congr (_ * _).
@@ -1477,7 +1477,7 @@ rewrite mulrC memv_mul ?memv_line //; apply/fixedFieldP=> [|x Gx].
have Edet n (N : 'M_n) (E_N : forall i j, N i j \in E): \det N \in E.
by apply: rpred_sum => sigma _; rewrite rpredMsign rpred_prod.
rewrite /invmx uM 2!mxE mulrC rpred_div ?Edet //.
- by rewrite rpredMsign Edet // => k l; rewrite 2!mxE.
+ by rewrite rpredMsign Edet // => k l; rewrite 2!mxE.
suffices{i} {2}<-: map_mx x v = v by rewrite [map_mx x v i 0]mxE.
have uMx: map_mx x (M w) \in unitmx by rewrite map_unitmx.
rewrite map_mxM map_invmx /=; apply: canLR {uMx}(mulKmx uMx) _.
diff --git a/mathcomp/field/separable.v b/mathcomp/field/separable.v
index 6178c01..c3f3ebb 100644
--- a/mathcomp/field/separable.v
+++ b/mathcomp/field/separable.v
@@ -71,13 +71,13 @@ apply: (iffP idP) => [sep_p | [sq'p nz_der1p]].
split=> [u v | u u_dv_p]; last first.
apply: contraTneq => u'0; rewrite -leqNgt -(eqnP sep_p).
rewrite dvdp_leq -?size_poly_eq0 ?(eqnP sep_p) // dvdp_gcd u_dv_p.
- have /dvdp_scaler <-: lead_coef u ^+ scalp p u != 0 by rewrite lcn_neq0.
+ have /dvdp_scaler <-: lead_coef u ^+ scalp p u != 0 by rewrite lcn_neq0.
by rewrite -derivZ -Pdiv.Idomain.divpK //= derivM u'0 mulr0 addr0 dvdp_mull.
rewrite Pdiv.Idomain.dvdp_eq mulrCA mulrA; set c := _ ^+ _ => /eqP Dcp.
have nz_c: c != 0 by rewrite lcn_neq0.
move: sep_p; rewrite coprimep_sym -[separable _](coprimep_scalel _ _ nz_c).
rewrite -(coprimep_scaler _ _ nz_c) -derivZ Dcp derivM coprimep_mull.
- by rewrite coprimep_addl_mul !coprimep_mulr -andbA => /and4P[].
+ by rewrite coprimep_addl_mul !coprimep_mulr -andbA => /and4P[].
rewrite /separable coprimep_def eqn_leq size_poly_gt0; set g := gcdp _ _.
have nz_g: g != 0.
rewrite -dvd0p dvdp_gcd -(mulr0 0); apply/nandP; left.
@@ -217,7 +217,7 @@ pose kappa' := inj_subfx iota z r1.
have /eq_map_poly Diota: kappa \o kappa' =1 iota.
by move=> w; rewrite /kappa /= subfx_inj_eval // map_polyC hornerC.
suffices [y3]: exists y3, y = kappa y3.
- have [q3 ->] := subfxE y3; rewrite /kappa subfx_inj_eval // => Dy.
+ have [q3 ->] := subfxE y3; rewrite /kappa subfx_inj_eval // => Dy.
split; [exists (t *: q3 - 'X) | by exists q3].
by rewrite rmorphB linearZ /= map_polyX !hornerE -Dy opprB addrC addrNK.
pose p0 := p ^ iota \Po (iota t *: 'X - z%:P).
@@ -244,7 +244,7 @@ have{p0} [p3 ->]: exists p3, p0 = p3 ^ kappa.
rewrite -Diota map_poly_comp -gcdp_map /= -/kappa.
move: (gcdp _ _) => r3 /eqpf_eq[c nz_c Dr3].
exists (- (r3`_0 / r3`_1)); rewrite [kappa _]rmorphN fmorph_div -!coef_map Dr3.
-by rewrite !coefZ polyseqXsubC mulr1 mulrC mulKf ?opprK.
+by rewrite !coefZ polyseqXsubC mulr1 mulrC mulKf ?opprK.
Qed.
Lemma char0_PET (q : {poly F}) :
@@ -534,7 +534,7 @@ have Dder: Derivation <<K; x>> D.
apply/allP=> u /vbasis_mem Kx_u; apply/allP=> v /vbasis_mem Kx_v.
rewrite !lfunE /= -{-2}(Fadjoin_poly_eq Kx_u) -{-3}(Fadjoin_poly_eq Kx_v).
rewrite -!hornerM -hornerD -derivM.
- rewrite Fadjoin_poly_mod ?rpredM ?Fadjoin_polyOver //.
+ rewrite Fadjoin_poly_mod ?rpredM ?Fadjoin_polyOver //.
rewrite {2}(divp_eq (_ * _) (minPoly K x)) derivD derivM pKx'_0 mulr0 addr0.
by rewrite hornerD hornerM minPolyxx mulr0 add0r.
have{Dder DK_0}: x \in lker D by apply: subvP Kx_x; apply: derKx_0.
@@ -608,7 +608,7 @@ Lemma charf_p_separable K x e p :
p \in [char L] -> separable_element K x = (x \in <<K; x ^+ (p ^ e.+1)>>%VS).
Proof.
move=> charLp; apply/idP/idP=> [sepKx | /Fadjoin_poly_eq]; last first.
- set m := p ^ _;set f := Fadjoin_poly K _ x => Dx; apply/separable_elementP.
+ set m := p ^ _; set f := Fadjoin_poly K _ x => Dx; apply/separable_elementP.
have mL0: m%:R = 0 :> L by apply/eqP; rewrite -(dvdn_charf charLp) dvdn_exp.
exists ('X - (f \Po 'X^m)); split.
- by rewrite rpredB ?polyOver_comp ?rpredX ?polyOverX ?Fadjoin_polyOver.
@@ -672,7 +672,7 @@ Lemma separable_inseparable_element K x :
Proof.
rewrite /purely_inseparable_element; case: ex_minnP => [[|m]] //=.
rewrite subfield_closed; case: m => /= [-> //| m _ /(_ 1%N)/implyP/= insepKx].
-by rewrite (negPf insepKx) (contraNF (@base_separable K x) insepKx).
+by rewrite (negPf insepKx) (contraNF (@base_separable K x) insepKx).
Qed.
Lemma base_inseparable K x : x \in K -> purely_inseparable_element K x.
diff --git a/mathcomp/fingroup/action.v b/mathcomp/fingroup/action.v
index 1bde1f7..ecfa6ea 100644
--- a/mathcomp/fingroup/action.v
+++ b/mathcomp/fingroup/action.v
@@ -380,14 +380,14 @@ apply/subsetP=> a cSa; rewrite !inE (astab_dom cSa).
by apply/subsetP=> x Sx; rewrite inE (astab_act cSa).
Qed.
-Lemma astabsC S : 'N(~: S | to) = 'N(S | to).
+Lemma astabsC S : 'N(~: S | to) = 'N(S | to).
Proof.
apply/setP=> a; apply/idP/idP=> nSa; rewrite !inE (astabs_dom nSa).
by rewrite -setCS -preimsetC; apply/subsetP=> x; rewrite inE astabs_act.
by rewrite preimsetC setCS; apply/subsetP=> x; rewrite inE astabs_act.
Qed.
-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).
Proof.
apply/subsetP=> a; rewrite !inE -!andbA preimsetI => /and4P[-> nSa _ nTa] /=.
by rewrite setISS.
@@ -425,7 +425,7 @@ Proof.
move=> sAD; apply/subsetP/subsetP=> [sAC x xS | sSF a aA].
by apply/afixP=> a aA; apply: astab_act (sAC _ aA) xS.
rewrite !inE (subsetP sAD _ aA); apply/subsetP=> x xS.
-by move/afixP/(_ _ aA): (sSF _ xS); rewrite inE => ->.
+by move/afixP/(_ _ aA): (sSF _ xS); rewrite inE => ->.
Qed.
Section ActsSetop.
@@ -436,12 +436,12 @@ 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).
Proof. by apply/setP=> a; rewrite !inE subUset; case: (a \in D). Qed.
-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).
Proof.
by rewrite -(astabsC S) -(astabsC T) -(astabsC (S :|: T)) setCU astabsI.
Qed.
-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).
Proof. by rewrite setDE -(astabsC T) astabsI. Qed.
Lemma actsI : [acts A, on S :&: T | to].
@@ -680,13 +680,13 @@ Proof. by move=> Da; rewrite afix_gen_in ?sub1set. Qed.
Lemma afixYin A B :
A \subset D -> B \subset D -> 'Fix_to(A <*> B) = 'Fix_to(A) :&: 'Fix_to(B).
-Proof. by move=> sAD sBD; rewrite afix_gen_in ?afixU // subUset sAD. Qed.
+Proof. by move=> sAD sBD; rewrite afix_gen_in ?afixU // subUset sAD. Qed.
Lemma afixMin G H :
G \subset D -> H \subset D -> 'Fix_to(G * H) = 'Fix_to(G) :&: 'Fix_to(H).
Proof.
by move=> sGD sHD; rewrite -afix_gen_in ?mul_subG // genM_join afixYin.
-Qed.
+Qed.
Lemma sub_astab1_in A x :
A \subset D -> (A \subset 'C[x | to]) = (x \in 'Fix_to(A)).
@@ -952,7 +952,7 @@ Proof. exact: sameP eqP (orbit_eqP G x y). Qed.
Lemma orbit_inv A x y : (y \in orbit to A^-1 x) = (x \in orbit to A y).
Proof. by rewrite orbit_inv_in ?subsetT. Qed.
-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).
Proof. by rewrite orbit_lcoset_in ?subsetT ?inE. Qed.
Lemma orbit_rcoset A a x y :
@@ -1910,7 +1910,7 @@ Lemma gacentIim : 'C_(R | to)(A) = 'C_(|to)(A).
Proof. by rewrite setIA setIid. Qed.
Lemma gacentS : A \subset B -> 'C_(|to)(B) \subset 'C_(|to)(A).
-Proof. by move=> sAB; rewrite !(setIS, afixS). Qed.
+Proof. by move=> sAB; rewrite !(setIS, afixS). Qed.
Lemma gacentU : 'C_(|to)(A :|: B) = 'C_(|to)(A) :&: 'C_(|to)(B).
Proof. by rewrite -setIIr -afixU -setIUr. Qed.
@@ -2001,8 +2001,8 @@ by move=> sGD sHB; rewrite -gacent_gen ?mul_subG // genM_join gacentY.
Qed.
Lemma astab1 : 'C(1 | to) = D.
-Proof.
-by apply/setP=> x; rewrite ?(inE, sub1set) andb_idr //; move/gact1=> ->.
+Proof.
+by apply/setP=> x; rewrite ?(inE, sub1set) andb_idr //; move/gact1=> ->.
Qed.
Lemma astab_range : 'C(R | to) = 'C(setT | to).
@@ -2599,10 +2599,10 @@ Lemma actsQ A B H :
A \subset 'N(H) -> A \subset 'N(B) -> [acts A, on B / H | 'Q].
Proof.
by move=> nHA nBA; rewrite acts_quotient // subsetI dom_qactJ nHA astabsJ.
-Qed.
+Qed.
Lemma astabsQ G H : H <| G -> 'N(G / H | 'Q) = 'N(H) :&: 'N(G).
-Proof. by move=> nsHG; rewrite astabs_quotient // dom_qactJ astabsJ. Qed.
+Proof. by move=> nsHG; rewrite astabs_quotient // dom_qactJ astabsJ. Qed.
Lemma astabQ H Abar : 'C(Abar |'Q) = coset H @*^-1 'C(Abar).
Proof.
diff --git a/mathcomp/fingroup/fingroup.v b/mathcomp/fingroup/fingroup.v
index 9d7bcc8..dd57af4 100644
--- a/mathcomp/fingroup/fingroup.v
+++ b/mathcomp/fingroup/fingroup.v
@@ -1163,7 +1163,7 @@ move=> Ax; apply/setP=> y.
by apply/imsetP/set1P=> [[a Aa]|] ->; last exists x; rewrite ?conj1g.
Qed.
-Lemma classVg x A : x^-1 ^: A = (x ^: A)^-1.
+Lemma classVg x A : x^-1 ^: A = (x ^: A)^-1.
Proof.
apply/setP=> xy; rewrite inE; apply/imsetP/imsetP=> [] [y Ay def_xy].
by rewrite def_xy conjVg invgK; exists y.
@@ -2661,7 +2661,7 @@ Lemma norms_class_support : A \subset 'N(class_support B C).
Proof.
apply/subsetP=> x Ax; rewrite inE sub_conjg class_supportEr.
apply/bigcupsP=> y Cy; rewrite -sub_conjg -conjsgM conjgC conjsgM.
-by rewrite (normsP nBA) // bigcup_sup ?memJ_norm ?(subsetP nCA).
+by rewrite (normsP nBA) // bigcup_sup ?memJ_norm ?(subsetP nCA).
Qed.
End norm_trans.
diff --git a/mathcomp/fingroup/gproduct.v b/mathcomp/fingroup/gproduct.v
index 94304c4..cd129f2 100644
--- a/mathcomp/fingroup/gproduct.v
+++ b/mathcomp/fingroup/gproduct.v
@@ -524,7 +524,7 @@ Lemma bigcprodWY I (r : seq I) P F G :
\big[cprod/1]_(i <- r | P i) F i = G -> << \bigcup_(i <- r | P i) F i >> = G.
Proof.
elim/big_rec2: _ G => [|i A B _ IH G]; first by rewrite gen0.
-case /cprodP => [[K H -> defB] <- cKH].
+case/cprodP => [[K H -> defB] <- cKH].
by rewrite -[<<_>>]joing_idr (IH H) ?cent_joinEr -?defB.
Qed.
@@ -1034,7 +1034,7 @@ Proof. by move=> x y. Qed.
Canonical fst_morphism := @Morphism _ _ setT _ (in2W fst_morphM).
-Canonical snd_morphism := @Morphism _ _ setT _ (in2W snd_morphM).
+Canonical snd_morphism := @Morphism _ _ setT _ (in2W snd_morphM).
Lemma injm_pair1g : 'injm pair1g.
Proof. by apply/subsetP=> x /morphpreP[_ /set1P[->]]; apply: set11. Qed.
@@ -1052,7 +1052,7 @@ Lemma morphim_fstX (H1: {set gT1}) (H2 : {group gT2}) :
[morphism of fun x => x.1] @* setX H1 H2 = H1.
Proof.
apply/eqP; rewrite eqEsubset morphimE setTI /=.
-apply/andP; split; apply/subsetP=> x.
+apply/andP; split; apply/subsetP=> x.
by case/imsetP=> x0; rewrite inE; move/andP=> [Hx1 _] ->.
move=> Hx1; apply/imsetP; exists (x, 1); last by trivial.
by rewrite in_setX Hx1 /=.
@@ -1062,9 +1062,9 @@ Lemma morphim_sndX (H1: {group gT1}) (H2 : {set gT2}) :
[morphism of fun x => x.2] @* setX H1 H2 = H2.
Proof.
apply/eqP; rewrite eqEsubset morphimE setTI /=.
-apply/andP; split; apply/subsetP=> x.
+apply/andP; split; apply/subsetP=> x.
by case/imsetP=> x0; rewrite inE; move/andP=> [_ Hx2] ->.
-move=>Hx2; apply/imsetP; exists (1, x); last by [].
+move=> Hx2; apply/imsetP; exists (1, x); last by [].
by rewrite in_setX Hx2 andbT.
Qed.
@@ -1084,7 +1084,7 @@ Lemma setX_dprod (H1 : {group gT1}) (H2 : {group gT2}) :
Proof.
rewrite dprodE ?setX_prod //.
apply/centsP=> [[x u]]; rewrite !inE /= => /andP[/eqP-> _] [v y].
- by rewrite !inE /= => /andP[_ /eqP->]; congr (_, _); rewrite ?mul1g ?mulg1.
+ by rewrite !inE /= => /andP[_ /eqP->]; congr (_, _); rewrite ?mul1g ?mulg1.
apply/trivgP; apply/subsetP=> [[x y]]; rewrite !inE /= -!andbA.
by case/and4P=> _ /eqP-> /eqP->; rewrite eqxx.
Qed.
diff --git a/mathcomp/odd_order/BGappendixAB.v b/mathcomp/odd_order/BGappendixAB.v
index 1dc4472..eb708a6 100644
--- a/mathcomp/odd_order/BGappendixAB.v
+++ b/mathcomp/odd_order/BGappendixAB.v
@@ -73,7 +73,7 @@ suffices IH gT (E : {group gT}) x y (G := <<[set x; y]>>) :
by rewrite -cRA !commgSS ?sub1set.
move: {2}_.+1 (ltnSn #|E|) => n; elim: n => // n IHn in gT E x y G *.
rewrite ltnS => leEn /and3P[oddG pE nEG] /and3P[/andP[p_x cRx] p_y cRy].
-have [Gx Gy]: x \in G /\ y \in G by apply/andP; rewrite -!sub1set -join_subG.
+have [Gx Gy]: x \in G /\ y \in G by apply/andP; rewrite -!sub1set -join_subG.
apply: wlog_neg => p'Gc; apply/pgroupP=> q q_pr qGc; apply/idPn => p'q.
have [Q sylQ] := Sylow_exists q [group of G].
have [sQG qQ]: Q \subset G /\ q.-group Q by case/and3P: sylQ.
@@ -130,7 +130,7 @@ case ncxy: (rG x *m rG y == rG y *m rG x).
rewrite -defC inE groupR //= !repr_mxM ?groupM ?groupV // mul1mx -/rG.
by rewrite (eqP ncxy) -!repr_mxM ?groupM ?groupV // mulKg mulVg repr_mx1.
rewrite [_^`(1)](commG1P _) ?pgroup1 //= quotient_gen -gen_subG //= -/G.
- rewrite !gen_subG centsC gen_subG quotient_cents2r ?gen_subG //= -/G.
+ rewrite !gen_subG centsC gen_subG quotient_cents2r ?gen_subG //= -/G.
rewrite /commg_set imset2Ul !imset2_set1l !imsetU !imset_set1.
by rewrite !subUset andbC !sub1set !commgg group1 /= -invg_comm groupV Cxy.
pose Ax : 'M(E) := rG x - 1; pose Ay : 'M(E) := rG y - 1.
@@ -231,7 +231,7 @@ Qed.
Theorem odd_abelian_gen_constrained :
'O_p^'(G) = 1 -> 'C_('O_p(G))(P) \subset P -> X \subset 'O_p(G).
Proof.
-set Q := 'O_p(G) => p'G1 sCQ_P.
+set Q := 'O_p(G) => p'G1 sCQ_P.
have sPQ: P \subset Q by rewrite pcore_max.
have defQ: 'O_{p^', p}(G) = Q by rewrite pseries_pop2.
have pQ: p.-group Q by apply: pcore_pgroup.
@@ -460,7 +460,7 @@ have sylCS: p.-Sylow(C) (C :&: S) := Sylow_setI_normal nsCG sylS.
have{defC} defC: 'C_G(Y) * (C :&: S) = C.
apply/eqP; rewrite eqEsubset mulG_subG sCY_C subsetIl /=.
have nCY_C: C \subset 'N('C_G(Y)).
- exact: subset_trans (normal_sub nsCG) (normal_norm nsCY_G).
+ exact: subset_trans (normal_sub nsCG) (normal_norm nsCY_G).
rewrite -quotientSK // -defC /= -pseries1.
rewrite -(pseries_catr_id [:: p : nat_pred]) (pseries_rcons_id [::]) /=.
rewrite pseries1 /= pseries1 defC pcore_sub_Hall // morphim_pHall //.
diff --git a/mathcomp/odd_order/BGappendixC.v b/mathcomp/odd_order/BGappendixC.v
index f8b9137..3cfb101 100644
--- a/mathcomp/odd_order/BGappendixC.v
+++ b/mathcomp/odd_order/BGappendixC.v
@@ -370,7 +370,7 @@ have [q_gt4 | q_le4] := ltnP 4 q.
rewrite natrM real_ler_distl ?rpredB ?rpredM ?rpred_nat // => /andP[lb_Pe _].
rewrite -ltC_nat -(ltr_pmul2l (gt0CG P)) {lb_Pe}(ltr_le_trans _ lb_Pe) //.
rewrite ltr_subr_addl (@ler_lt_trans _ ((p ^ q.-1)%:R ^+ 2)) //; last first.
- rewrite -!natrX ltC_nat ltn_sqr oU ltn_divRL ?dvdn_pred_predX //.
+ rewrite -!natrX ltC_nat ltn_sqr oU ltn_divRL ?dvdn_pred_predX //.
rewrite -(subnKC qgt1) /= -!subn1 mulnBr muln1 -expnSr.
by rewrite ltn_sub2l ?(ltn_exp2l 0) // prime_gt1.
rewrite -mulrDr -natrX -expnM muln2 -subn1 doubleB -addnn -addnBA // subn2.
diff --git a/mathcomp/odd_order/BGsection1.v b/mathcomp/odd_order/BGsection1.v
index 7539af3..3230da2 100644
--- a/mathcomp/odd_order/BGsection1.v
+++ b/mathcomp/odd_order/BGsection1.v
@@ -148,7 +148,7 @@ apply/setIidPl/minM'; last exact: subsetIl.
apply/andP; split; last by rewrite normsI // normal_norm.
apply: meet_center_nil => //; first by apply: Fitting_nil.
apply/andP; split; last exact: gFsub_trans.
-apply: Fitting_max; rewrite // /normal ?sMG //; apply: abelian_nil.
+apply: Fitting_max; rewrite // /normal ?sMG //; apply: abelian_nil.
by move: (minnormal_solvable_abelem minM solM) => /abelem_abelian.
Qed.
@@ -426,7 +426,7 @@ have sCG: C \subset G by rewrite subsetIl.
suffices cNA : A \subset 'C(N).
rewrite centsC (sameP setIidPl eqP) -(nilpotent_sub_norm nilG sCG) //= -/C.
by rewrite subsetI subsetIl centsC.
-have{nilG} solN: solvable N by rewrite(solvableS sNG) ?nilpotent_sol.
+have{nilG} solN: solvable N by rewrite (solvableS sNG) ?nilpotent_sol.
rewrite (stable_factor_cent cCA) ?(coprimeSg sNG) /stable_factor //= -/N -/C.
rewrite subcent_normal subsetI (subset_trans (commSg A sNG)) ?commg_subl //=.
rewrite comm_norm_cent_cent 1?centsC ?subsetIr // normsI // !norms_norm //.
@@ -636,7 +636,7 @@ have nKG: G \subset 'N(K) by rewrite normal_norm ?pcore_normal.
have nKC: 'C_G(P) \subset 'N(K) by rewrite subIset ?nKG.
rewrite -(quotientSGK nKC) //; last first.
by rewrite /= -pseries1 (pseries_sub_catl [::_]).
-apply: subset_trans (quotient_subcent _ _ _) _ ;rewrite /= -/K.
+apply: subset_trans (quotient_subcent _ _ _) _; rewrite /= -/K.
suffices ->: P / K = 'O_p(G / K).
rewrite quotient_pseries2 -Fitting_eq_pcore ?trivg_pcore_quotient // -/K.
by rewrite cent_sub_Fitting ?morphim_sol.
@@ -753,7 +753,7 @@ apply/andP; split; last by apply/bigcupsP=> B _; apply: subsetIl.
have [Z1 | ntZ] := eqsVneq 'Z(G) 1.
by rewrite (TI_center_nil _ (normal_refl G)) ?Z1 ?(setIidPr _) ?sub1G.
have{ntZ} [M /= minM] := minnormal_exists ntZ (gFnorm_trans _ nGA).
-rewrite subsetI centsC => /andP[sMG /cents_norm nMG].
+rewrite subsetI centsC => /andP[sMG /cents_norm nMG].
have coMA := coprimeSg sMG coGA; have{nilG} solG := nilpotent_sol nilG.
have [nMA ntM abelM] := minnormal_solvable minM sMG solG.
set GC := <<_>>; have sMGC: M \subset GC.
@@ -1145,7 +1145,7 @@ apply/idP/idP=> [p1G | pU].
have nOG: 'O_{p^', p}(G) <| G by apply: pseries_normal.
rewrite eqEsubset pseries_sub.
rewrite -(quotientSGK (normal_norm nOG)) ?(pseries_sub_catl [:: _; _]) //=.
-rewrite (quotient_pseries [::_;_]) pcore_max //.
+rewrite (quotient_pseries [::_; _]) pcore_max //.
rewrite /pgroup card_quotient ?normal_norm //.
apply: pnat_dvd (indexgS G (_ : p_elt_gen p G \subset _)) _; last first.
case p_pr: (prime p); last by rewrite p'natEpi // mem_primes p_pr.
diff --git a/mathcomp/odd_order/BGsection10.v b/mathcomp/odd_order/BGsection10.v
index 5a61e25..dbe9c6b 100644
--- a/mathcomp/odd_order/BGsection10.v
+++ b/mathcomp/odd_order/BGsection10.v
@@ -108,7 +108,7 @@ Lemma MalphaJ x : (H :^ x)`_\alpha = H`_\alpha :^ x.
Proof. by rewrite /alpha_core -(eq_pcore H (alphaJ x)) pcoreJ. Qed.
Lemma betaJ x : \beta(H :^ x) =i \beta(H).
-Proof.
+Proof.
move=> p; apply/forall_inP/forall_inP=> nnSylH P sylP.
by rewrite -(@narrowJ _ _ _ x) nnSylH ?pHallJ2.
by rewrite -(@narrowJ _ _ _ x^-1) nnSylH // -(pHallJ2 _ _ _ x) actKV.
@@ -136,7 +136,7 @@ Hypothesis maxM : M \in 'M.
(* This is the first inclusion in the remark following the preliminary *)
(* definitions in B & G, p. 70. *)
Remark beta_sub_alpha : {subset \beta(M) <= \alpha(M)}.
-Proof.
+Proof.
move=> p; rewrite !inE /= => /forall_inP nnSylM.
have [P sylP] := Sylow_exists p M; have:= nnSylM P sylP.
by rewrite negb_imply (p_rank_Sylow sylP) => /andP[].
@@ -221,7 +221,7 @@ Implicit Type A E H K M N P Q R S V W X Y : {group gT}.
Theorem sigma_Sylow_trans M p X g :
p \in \sigma(M) -> p.-Sylow(M) X -> X :^ g \subset M -> g \in M.
Proof.
-move=> sMp sylX sXgM; have pX := pHall_pgroup sylX.
+move=> sMp sylX sXgM; have pX := pHall_pgroup sylX.
have [|h hM /= sXghX] := Sylow_Jsub sylX sXgM; first by rewrite pgroupJ.
by rewrite -(groupMr _ hM) (subsetP (norm_sigma_Sylow _ sylX)) ?inE ?conjsgM.
Qed.
@@ -369,7 +369,7 @@ move=> hallH; have [sHM sH _] := and3P hallH.
rewrite -(Sylow_gen H) gen_subG; apply/bigcupsP=> P /SylowP[p p_pr sylP].
have [-> | ntP] := eqsVneq P 1; first by rewrite sub1G.
have [sPH pP _] := and3P sylP; have{ntP} [_ p_dv_P _] := pgroup_pdiv pP ntP.
-have{p_dv_P} s_p: p \in \sigma(M) := pgroupP (pgroupS sPH sH) p p_pr p_dv_P.
+have{p_dv_P} s_p: p \in \sigma(M) := pgroupP (pgroupS sPH sH) p p_pr p_dv_P.
have{sylP} sylP: p.-Sylow(M) P := subHall_Sylow hallH s_p sylP.
have [sPM nMP] := (pHall_sub sylP, norm_sigma_Sylow s_p sylP).
have sylP_G := sigma_Sylow_G maxM s_p sylP.
@@ -378,7 +378,7 @@ have defG': G^`(1) = G.
by have [?|//] := simpG _ (der_normal 1 _); case/derG1P: (mFT_nonAbelian gT).
rewrite -subsetIidl -{1}(setIT P) -defG'.
rewrite (focal_subgroup_gen sylP_G) (focal_subgroup_gen sylP) genS //.
-apply/subsetP=> _ /imset2P[x g Px /setIdP[Gg Pxg] ->].
+apply/subsetP=> _ /imset2P[x g Px /setIdP[Gg Pxg] ->].
pose X := <[x]>; have sXM : X \subset M by rewrite cycle_subG (subsetP sPM).
have sXgM: X :^ g \subset M by rewrite -cycleJ cycle_subG (subsetP sPM).
have [trMX _ _] := sigma_group_trans maxM s_p (mem_p_elt pP Px).
@@ -399,7 +399,7 @@ Qed.
(* This is B & G, Theorem 10.2(b1). *)
Theorem Msigma_Hall : \sigma(M).-Hall(M) M`_\sigma.
-Proof.
+Proof.
have [H hallH] := Hall_exists \sigma(M) solM; have [sHM sH _] := and3P hallH.
rewrite /M`_\sigma (normal_Hall_pcore hallH) // -(quotientGK nsMaM).
rewrite -(quotientGK (normalS _ sHM nsMaM)) ?cosetpre_normal //; last first.
@@ -420,7 +420,7 @@ Qed.
(* This is B & G, Theorem 10.2(b2). *)
Theorem Msigma_Hall_G : \sigma(M).-Hall(G) M`_\sigma.
-Proof.
+Proof.
rewrite pHallE subsetT /= eqn_dvd {1}(card_Hall Msigma_Hall).
rewrite partn_dvd ?cardG_gt0 ?cardSg ?subsetT //=.
apply/dvdn_partP; rewrite ?part_gt0 // => p.
@@ -501,7 +501,7 @@ rewrite leq_eqVlt; case: ltngtP => // rCPB _.
have: 2 < 'r('C(B)) by rewrite (leq_trans rCPB) ?rankS ?subsetIr.
by apply: cent_rank3_Uniqueness; rewrite -dimB -rank_abelem.
have cPX: P \subset 'C(X).
- have EpPB: B \in 'E_p(P) by apply/pElemP.
+ have EpPB: B \in 'E_p(P) by apply/pElemP.
have coPX: coprime #|P| #|X| := coprimeSg sPMa coMaX.
rewrite centsC (coprime_odd_faithful_cent_abelem EpPB) ?mFT_odd //.
rewrite -(setIid 'C(B)) setIA (pmaxElem_LdivP p_pr _) 1?centsC //.
@@ -606,7 +606,7 @@ have [P sylP sXP] := Sylow_superset sXM pX; have [sPM pP _] := and3P sylP.
pose T := 'Ohm_1('Z(P)); pose A := X <*> T; have nilP := pgroup_nil pP.
have charT: T \char P by apply/gFchar_trans/gFchar.
have neqTX: T != X.
- apply: contraNneq s'p => defX; apply/exists_inP; exists P => //.
+ apply: contraNneq s'p => defX; apply/exists_inP; exists P => //.
by rewrite (subset_trans _ sNXM) // -defX char_norms.
have rP: 'r(P) = 2 by rewrite (rank_Sylow sylP) rpM2.
have ntT: T != 1 by rewrite Ohm1_eq1 center_nil_eq1 // -rank_gt0 rP.
@@ -626,7 +626,7 @@ Qed.
End OneMaximal.
(* This is B & G, Theorem 10.6. *)
-Theorem mFT_proper_plength1 p H : H \proper G -> p.-length_1 H.
+Theorem mFT_proper_plength1 p H : H \proper G -> p.-length_1 H.
Proof.
case/mmax_exists=> M /setIdP[maxM sHM].
suffices{H sHM}: p.-length_1 M by apply: plength1S.
@@ -765,7 +765,7 @@ have sQyxP: Q :^ (y * x) \subset P.
by rewrite actM (subset_trans _ sRxP) // -(normP nRy) !conjSg.
have [t tNP defQx] := mFT_sub_Sylow_trans sQP sQxP.
have [z zNP defQxy] := mFT_sub_Sylow_trans sQP sQyxP.
-by rewrite inE -(conjSg _ _ x) -actM /= defQx defQxy !(normsP nQ_NP).
+by rewrite inE -(conjSg _ _ x) -actM /= defQx defQxy !(normsP nQ_NP).
Qed.
End OneSylow.
@@ -904,7 +904,7 @@ have{nilM'W} nilW: nilpotent W.
rewrite -(Lagrange_index (subsetIr _ _) (pcore_sub _ _)) pnat_mul //.
rewrite -(divgS (pcore_sub _ _)) -card_quotient ?normsI ?normG //= -pgroupE.
rewrite (pi_p'group qWWM') //= -(dprod_card (nilpotent_pcoreC p nilM'W)).
- by rewrite mulKn ?cardG_gt0 // -pgroupE pcore_pgroup.
+ by rewrite mulKn ?cardG_gt0 // -pgroupE pcore_pgroup.
have [[sWqW qWq _] [sWpW pWp _]] := (and3P sylWq, and3P sylWp).
have <-: Wp * Wq = W.
apply/eqP; rewrite eqEcard mul_subG //= -(partnC q (cardG_gt0 W)).
@@ -929,7 +929,7 @@ split=> // [a_p | {part1}sylX].
have ltCMX_G := sub_proper_trans (subsetIl M 'C(X)) ltMG.
have [P sylP cPX] := part1; have s_p := alpha_sub_sigma maxM a_p.
have{sylP} sylP := subHall_Sylow hallMs s_p sylP.
- apply: rank3_Uniqueness ltCMX_G (leq_trans a_p _).
+ apply: rank3_Uniqueness ltCMX_G (leq_trans a_p _).
by rewrite -(rank_Sylow sylP) rankS //= subsetI (pHall_sub sylP) // centsC.
do [move: sWXM'; rewrite (joing_idPr (pHall_sub sylX)) => sWM'] in hallW.
have nMbX: X \subset 'N(M`_\beta) := subset_trans sXM (normal_norm nsMbM).
@@ -1151,7 +1151,7 @@ have rZle1: 'r(Z) <= 1.
rewrite -(TI_pcoreC \sigma(M) M 'F(M)) subsetI commg_subl commg_subr.
by rewrite (subset_trans sZM) ?gFnorm ?gFsub_trans.
have{rZle1} cycZ: cyclic Z.
- have nilZ: nilpotent Z := nilpotentS (gFsub _ _) Fnil.
+ have nilZ: nilpotent Z := nilpotentS (gFsub _ _) Fnil.
by rewrite nil_Zgroup_cyclic // odd_rank1_Zgroup // mFT_odd.
have cZM': M^`(1) \subset 'C_M(Z).
rewrite der1_min ?normsI ?normG ?norms_cent //= -ker_conj_aut.
@@ -1453,7 +1453,7 @@ case/andP=> /pElemP[_ abelF] ltAF; have [pF cFF _] := and3P abelF.
apply: uniq_mmaxS sAR (mFT_pgroup_proper pR) _.
have rCAgt2: 'r('C(A)) > 2.
rewrite -dimA (leq_trans (properG_ltn_log pF ltAF)) // -(rank_abelem abelF).
- by rewrite rankS // centsC (subset_trans (proper_sub ltAF)).
+ by rewrite rankS // centsC (subset_trans (proper_sub ltAF)).
by apply: cent_rank3_Uniqueness rCAgt2; rewrite (rank_abelem abelA) dimA.
Qed.
diff --git a/mathcomp/odd_order/BGsection11.v b/mathcomp/odd_order/BGsection11.v
index fe41e8d..ae376c3 100644
--- a/mathcomp/odd_order/BGsection11.v
+++ b/mathcomp/odd_order/BGsection11.v
@@ -255,7 +255,7 @@ have [X1 EpX1 nregX11] := nregA _ ntQ1 nQ1A coQ1A.
pose Q2 := Q1 :^ g; have sylQ2: q.-Sylow(Ms :^ g) Q2 by rewrite pHallJ2.
have{ntQ1} ntQ2: Q2 != 1 by rewrite -!cardG_gt1 cardJg in ntQ1 *.
have nQ2A: A \subset 'N(Q2) by rewrite (subset_trans sAP) ?norm_conj_norm.
-have{coQ1A} coQ2A: coprime #|Q2| #|A| by rewrite cardJg.
+have{coQ1A} coQ2A: coprime #|Q2| #|A| by rewrite cardJg.
have{nregA ntQ2 coQ2A} [X2 EpX2 nregX22] := nregA _ ntQ2 nQ2A coQ2A.
have [|_ regA]:= exceptional_TIsigmaJ notMg _ sylQ1 nQ1A sylQ2 nQ2A.
by rewrite (subset_trans sAP) // -(normP nPg) conjSg.
@@ -424,7 +424,7 @@ have qQ0: q.-group Q0 := pgroupS sQ0Q qQ.
have p'Q0: p^'.-group Q0 by apply: (pi_pnat qQ0); rewrite eq_sym in q'p.
have sM'Q0: \sigma(M)^'.-group Q0 := pi_pnat qQ0 sM'q.
have cQ0Q0: abelian Q0 := center_abelian Q.
-have defQ0: [~: A, Q0] = Q0.
+have defQ0: [~: A, Q0] = Q0.
rewrite -{2}[Q0](coprime_abelian_cent_dprod nQ0A) //.
by rewrite setIAC regQ setI1g dprodg1 commGC.
by rewrite (coprimeSg (subset_trans sQ0Q sQK)).
diff --git a/mathcomp/odd_order/BGsection12.v b/mathcomp/odd_order/BGsection12.v
index 1dc8454..7cc32ed 100644
--- a/mathcomp/odd_order/BGsection12.v
+++ b/mathcomp/odd_order/BGsection12.v
@@ -100,7 +100,7 @@ rewrite (solvableS sEM) // mFT_sol // properT.
apply: contraNneq (pgroupP s'E p p_pr pE) => ->.
have [P sylP] := Sylow_exists p [set: gT].
by apply/exists_inP; exists P; rewrite ?subsetT.
-Qed.
+Qed.
Let solE := sigma_compl_sol.
Let exHallE pi := exists Ei : {group gT}, pi.-Hall(E) Ei.
@@ -233,7 +233,7 @@ Qed.
(* This is B & G, Lemma 12.1(g). *)
Lemma tau2_not_beta p :
- p \in \tau2(M) -> p \notin \beta(G) /\ {subset 'E_p^2(M) <= 'E*_p(G)}.
+ p \in \tau2(M) -> p \notin \beta(G) /\ {subset 'E_p^2(M) <= 'E*_p(G)}.
Proof.
case/andP=> s'p /eqP rpM; split; first exact: sigma'_rank2_beta' rpM.
by apply/subsetP; apply: sigma'_rank2_max.
@@ -255,7 +255,7 @@ Lemma sigma_compl_context M E E1 E2 E3 :
& (*f*) 'C_E3(E) = 1].
Proof.
move=> maxM [hallE hallE1 hallE2 hallE3 groupE21].
-have [sEM solM] := (pHall_sub hallE, mmax_sol maxM).
+have [sEM solM] := (pHall_sub hallE, mmax_sol maxM).
have [[sE1E t1E1 _] [sE3E t3E3 _]] := (and3P hallE1, and3P hallE3).
have tiE'E1: E^`(1) :&: E1 = 1.
rewrite coprime_TIg // coprime_pi' ?cardG_gt0 //.
@@ -308,7 +308,7 @@ have SylowE3 P: Sylow E3 P -> [/\ cyclic P, P \subset E^`(1) & 'C_P(E) = 1].
rewrite -{2}(Frattini_arg nsEp'P_E sylP_Ep'P) /= !norm_joinEr //.
by rewrite -mulgA (normC nPK) -mulPK -{1}(mulGid P) !mulgA.
have ntPE': P :&: E^`(1) != 1.
- have sylPE' := Hall_setI_normal (der_normal 1 E) sylP_E.
+ have sylPE' := Hall_setI_normal (der_normal 1 E) sylP_E.
rewrite -rank_gt0 (rank_Sylow sylPE') p_rank_gt0.
by rewrite (tau3E maxM hallE) in t3p; case/andP: t3p.
have defP := coprime_abelian_cent_dprod nPK coPK (cyclic_abelian cycP).
@@ -379,7 +379,7 @@ Lemma prime_class_mmax_norm M p X :
M \in 'M -> p.-group X -> 'N(X) \subset M ->
(p \in \sigma(M)) || (p \in \tau2(M)).
Proof.
-move=> maxM pX sNM; rewrite -implyNb; apply/implyP=> sM'p.
+move=> maxM pX sNM; rewrite -implyNb; apply/implyP=> sM'p.
by rewrite 3!inE /= sM'p (sigma'_norm_mmax_rank2 _ _ pX).
Qed.
@@ -462,7 +462,7 @@ have [sHp | sH'p] := boolP (p \in \sigma(H)); last first.
rewrite setIC coprime_TIg ?coprime_morph //.
rewrite (pnat_coprime (pcore_pgroup _ _)) // (card_pnElem Ep2A).
by rewrite pnat_exp ?orbF ?pnatE.
- rewrite commg_subI // subsetI ?joing_subr ?subsetIl.
+ rewrite commg_subI // subsetI ?joing_subr ?subsetIl.
by rewrite (subset_trans sAM) ?gFnorm.
by rewrite setIC subIset ?nHsA_H.
have sAHs: A \subset H`_\sigma.
@@ -918,7 +918,7 @@ have defFM: Ms \x A0 = 'F(M).
have sNQM: 'N(Q) \subset M.
rewrite (mmax_normal maxM) // (nilpotent_Hall_pcore nilF sylQ).
by rewrite p_core_Fitting pcore_normal.
- apply/implyP; rewrite implyNb /= -def_t2 orbC.
+ apply/implyP; rewrite implyNb /= -def_t2 orbC.
by rewrite (prime_class_mmax_norm maxM qQ).
rewrite pcore_max ?(pi_p'group (pcore_pgroup _ _)) //.
rewrite [_ <| _]andbC gFsub_trans ?gFnorm //.
@@ -1414,7 +1414,7 @@ have{sE3E} sK_CEA: K \subset 'C_E(A).
by rewrite (subset_trans _ sAE2) // commg_subr (subset_trans sE3E).
split=> // [_ F2 F3 [_ _ hallF2 hallF3 _] | ].
have solE: solvable E := solvableS sEM (mmax_sol maxM).
- have [x2 Ex2 ->] := Hall_trans solE hallF2 hallE2.
+ have [x2 Ex2 ->] := Hall_trans solE hallF2 hallE2.
have [x3 Ex3 ->] := Hall_trans solE hallF3 hallE3.
rewrite mulG_subG !sub_conjg !(normsP (normal_norm nsCAE)) ?groupV //.
by rewrite -mulG_subG mulE32.
@@ -1597,7 +1597,7 @@ have t2Lq: q \in \tau2(L).
have /orP[sLq | //] := prime_class_mmax_norm maxL qQ0 sNQ0_L.
by have /orP[/andP[/negP] | ] := pnatPpi (part_b L maxNA_L) piCEAb_q.
have [cQQ [/= sL'q _]] := (cyclic_abelian cycQ, andP t2Lq).
-have sQL: Q \subset L := subset_trans (centsS sQ0Q cQQ) sCQ0_L.
+have sQL: Q \subset L := subset_trans (centsS sQ0Q cQQ) sCQ0_L.
have [F hallF sQF] := Hall_superset (mmax_sol maxL) sQL (pi_pnat qQ sL'q).
have [B Eq2B _] := ex_tau2Elem hallF t2Lq.
have [_ sLp]: _ /\ p \in \sigma(L) := andP (part_a L maxNA_L p t2Mp).
@@ -1703,11 +1703,11 @@ have [cSS | not_cSS] := boolP (abelian S); last first.
by rewrite ltnS logn_gt0.
have defM0: Ms ><| U0 = Ms <*> U0 := sdprod_subr defMsU (subsetIr _ _).
have frobM0: [Frobenius Ms <*> U0 = Ms ><| U0].
- apply/Frobenius_semiregularP=> // [|e /setD1P[nte /setIP[E0e Ue]]].
- by rewrite -rank_gt0 (leq_trans _ (p_rank_le_rank p _)) ?p_rank_gt0.
+ apply/Frobenius_semiregularP=> // [|e /setD1P[nte /setIP[E0e Ue]]].
+ by rewrite -rank_gt0 (leq_trans _ (p_rank_le_rank p _)) ?p_rank_gt0.
have [ | ] := boolP (p13.-elt e); first by apply: regU13; rewrite !inE nte.
apply: contraNeq => /trivgPn[x /setIP[Ms_x cex] ntx].
- apply/pgroupP=> q q_pr q_dv_x ; rewrite inE /= (regE0 x) ?inE ?ntx //.
+ apply/pgroupP=> q q_pr q_dv_x; rewrite inE /= (regE0 x) ?inE ?ntx //.
rewrite mem_primes q_pr cardG_gt0 (dvdn_trans q_dv_x) ?order_dvdG //.
by rewrite inE E0e cent1C.
have [nsA0U sU0U _ _ _] := sdprod_context defU.
@@ -1887,7 +1887,7 @@ have [cSU | not_cSU] := boolP (U \subset 'C(S)).
have ntz: <[z]> != 1 by rewrite trivg_card1 -orderE oz -dvdn1 -trivg_exponent.
rewrite regNNS ?cycle_cyclic ?cycle_subG //=.
suffices /eqP->: 'Ohm_1(<[z]>) == Sn by apply: char_norms; apply: gFchar.
- have [p_z pS1] := (mem_p_elt pS Sz, pgroupS (Ohm_sub 1 S) pS).
+ have [p_z pS1] := (mem_p_elt pS Sz, pgroupS (Ohm_sub 1 S) pS).
rewrite eqEcard (Ohm1_cyclic_pgroup_prime _ p_z) ?cycle_cyclic //.
rewrite (Ohm_p_cycle _ p_z) oz -/n subn1 cycle_subG Mho_p_elt //=.
rewrite (card_pgroup (pgroupS sSnS1 pS1)) (leq_exp2l _ 1) ?prime_gt1 //.
@@ -1969,7 +1969,7 @@ have [X]: exists2 X, X \in subgroups Q & ('C_S(X) != 1) && ([~: S, X] != 1).
have ltNA_G: 'N(A) \proper G.
by rewrite defNS mFT_norm_proper // (mFT_pgroup_proper pS).
have [H maxNA_H] := mmax_exists ltNA_G.
- have nCEA_Q1 := subset_trans sQ1E (normal_norm nsCEA).
+ have nCEA_Q1 := subset_trans sQ1E (normal_norm nsCEA).
have [_ _] := primes_norm_tau2Elem maxM hallE t2p Ep2A maxNA_H.
case/(_ q)=> [||t2Hq [S2 sylS2 nsS2H] _].
- rewrite -p_rank_gt0 -(rank_Sylow (quotient_pHall _ sylQ1)) //.
@@ -2371,7 +2371,7 @@ without loss sXMs: M maxM sM_Y sMq / X \subset M`_\sigma.
have [x Gx sXQx] := Sylow_subJ sylQ_G (subsetT X) qX.
have: X \subset M`_\sigma :^ x by rewrite (subset_trans sXQx) ?conjSg.
rewrite -MsigmaJ => /IH; rewrite sigmaJ mmaxJ (eq_pgroup _ (sigmaJ _ _)).
- case => // [[y sYyMx] parts_ab].
+ case=> // [[y sYyMx] parts_ab].
split=> [|E p H hallE piEp bG'p maxY_H notMGH].
by exists (y * x^-1); rewrite conjsgM sub_conjgV -MsigmaJ.
have:= parts_ab (E :^ x)%G p H; rewrite tau1J /= cardJg pHallJ2.
diff --git a/mathcomp/odd_order/BGsection13.v b/mathcomp/odd_order/BGsection13.v
index e90be7f..de9ddaf 100644
--- a/mathcomp/odd_order/BGsection13.v
+++ b/mathcomp/odd_order/BGsection13.v
@@ -95,7 +95,7 @@ have sSH': S \subset H^`(1).
have [[F1 hallF1] [F3 hallF3]] := ex_tau13_compl hallF.
have [F2 _ complFi] := ex_tau2_compl hallF hallF1 hallF3.
have [[sF3F' nsF3F] _ _ _ _] := sigma_compl_context maxH complFi.
- apply: subset_trans (subset_trans sF3F' (dergS 1 (pHall_sub hallF))).
+ apply: subset_trans (subset_trans sF3F' (dergS 1 (pHall_sub hallF))).
by rewrite (sub_normal_Hall hallF3) ?(pi_pgroup pS).
have sylS_H' := pHall_subl sSH' (der_sub 1 H) sylS.
split=> // [P sPMH pP | t1Mp]; last first.
@@ -246,7 +246,7 @@ without loss symPR: p r P R EpP ErR cPR t1Mp /
rewrite sCaPR -(setIidPl sMaMs) -!setIA setIS ?(IH r p) 1?centsC // => _.
by case/eqVproper; rewrite // /proper sCaPR andbF.
do [rewrite !subsetI !subsetIl /=; set cRCaP := _ \subset _] in symPR *.
-pose Mz := 'O_(if cRCaP then \sigma(M) else \alpha(M))(M); pose C := 'C_Mz(P).
+pose Mz := 'O_(if cRCaP then \sigma(M) else \alpha(M))(M); pose C := 'C_Mz(P).
suffices: C \subset 'C(R) by rewrite /C /Mz /cRCaP; case: ifP => // ->.
have sMzMs: Mz \subset Ms by rewrite /Mz; case: ifP => // _.
have sCMs: C \subset Ms by rewrite subIset ?sMzMs.
@@ -276,7 +276,7 @@ have [sPH sRH] := (subset_trans cPP sCPH, subset_trans cPR sCPH).
have [sSM sSH] := (subset_trans sSMs sMsM, subset_trans cPS sCPH).
have [sQM sQH] := (subset_trans sQS sSM, subset_trans sQS sSH).
have ntMsH_R: [~: Ms :&: H, R] != 1.
- by rewrite (subG1_contra _ ntQ) ?commSg // subsetI sSMs.
+ by rewrite (subG1_contra _ ntQ) ?commSg // subsetI sSMs.
have sR_EH: R \subset E :&: H by apply/subsetIP.
have ntMsH_MH: [~: Ms :&: H, M :&: H] != 1.
by rewrite (subG1_contra _ ntMsH_R) ?commgS // (subset_trans sR_EH) ?setSI.
@@ -308,7 +308,7 @@ have ntHa: H`_\alpha != 1 by rewrite (subG1_contra _ ntCHaRQ) ?subsetIl.
have uniqNQ: 'M('N(Q)) = [set H].
apply: contraNeq ntCHaRQ; rewrite joingC.
by case/(cent_Malpha_reg_tau1 _ _ r'q ErH_R) => //; case=> //= _ -> _.
-have maxNQ_H: H \in 'M('N(Q)) :\ M by rewrite uniqNQ !inE neqHM /=.
+have maxNQ_H: H \in 'M('N(Q)) :\ M by rewrite uniqNQ !inE neqHM /=.
have{maxNQ_H} [_ _] := sigma_subgroup_embedding maxM sMq sQM qQ ntQ maxNQ_H.
have [sHq [_ st1HM [_ ntMa]] | _ [_ _ sM'MH]] := ifP; last first.
have piPp: p \in \pi(P) by rewrite -p_rank_gt0 p_rank_abelem ?dimP.
@@ -590,7 +590,7 @@ move=> [maxM maxL notMGL] [t1Mp t1Lp EpP] [sylQ sylU nQP nUP].
move=> [regPQ regPU] [sNQL sNUM]; rewrite setIC in sylU. (* for symmetry *)
have notLGM: gval M \notin L :^: G by rewrite orbit_sym. (* for symmetry *)
have{EpP} [ntP [sPML abelP dimP]] := (nt_pnElem EpP isT, pnElemP EpP).
-have{sPML} [[sPM sPL] [pP _ _]] := (subsetIP sPML, and3P abelP).
+have{sPML} [[sPM sPL] [pP _ _]] := (subsetIP sPML, and3P abelP).
have solCP: solvable 'C(P) by rewrite mFT_sol ?mFT_cent_proper.
pose Qprops M q Q := [&& q.-Sylow(M) Q, q != p, q \notin \beta(M),
'C_(M`_\beta)(P) != 1 & 'C_(M`_\beta)(P <*> Q) == 1].
@@ -662,7 +662,7 @@ have{ntX} sHM: H \subset M.
by rewrite beta_norm_sub_mmax // /psubgroup (subset_trans sYMb).
have [_ trCY _] := sigma_group_trans maxM (beta_sub_sigma maxM bMt) tY.
have [|| h cYh /= defMg] := (atransP2 trCY) M (M :^ g).
- - by rewrite inE orbit_refl (subset_trans (normG _) sNY_M).
+ - by rewrite inE orbit_refl (subset_trans (normG _) sNY_M).
- by rewrite inE mem_orbit ?in_setT.
by rewrite defMg conjGid // (subsetP sNY_M) ?(subsetP (cent_sub _)) in sHMg.
have sXMb: X \subset M`_\beta.
@@ -743,7 +743,7 @@ have{not_pM'} [R ErR nQR]: exists2 R, R \in 'E_r^1('C_M(P)) & R \subset 'N(Q).
have [T [sylT nTP sRT]] := coprime_Hall_subset nKP coKP solK sRK rR nRP.
have [x cKPx defS] := coprime_Hall_trans nKP coKP solK sylS_K nSP sylT nTP.
rewrite -(conjGid (subsetP (setSI _ sKM) x cKPx)).
- by exists (R :^ x)%G; rewrite ?pnElemJ ?(subset_trans _ nQS) // defS conjSg.
+ by exists (R :^ x)%G; rewrite ?pnElemJ ?(subset_trans _ nQS) // defS conjSg.
have [sRcMP abelR _] := pnElemP ErR; have ntR := nt_pnElem ErR isT.
have{sRcMP abelR} [[sRM cPR] [rR _]] := (subsetIP sRcMP, andP abelR).
have sNR_L: 'N(R) \subset L.
@@ -957,7 +957,7 @@ have{hallE2} E2_1: E2 :==: 1.
apply/idPn; rewrite -rank_gt0; have [p _ ->] := rank_witness E2.
rewrite p_rank_gt0 => /(pnatPpi (pHall_pgroup hallE2))t2p.
have [A Ep2A _] := ex_tau2Elem hallE t2p.
- by apply: not_regE3Ms; case: (tau2_regular maxM complEi t2p Ep2A).
+ by apply: not_regE3Ms; case: (tau2_regular maxM complEi t2p Ep2A).
have [_ ntE1 [cycE1 cycE3] [defE _] _] := sigma_compl_context maxM complEi.
rewrite (eqP E2_1) sdprod1g in defE; have{ntE1} ntE1 := ntE1 E2_1.
have [nsE3E _ mulE31 nE31 _] := sdprod_context defE.
@@ -977,7 +977,7 @@ have [p Ep1X] := nElemP EpX; have [sXE abelX oX] := pnElemPcard Ep1X.
have [p_pr ntX] := (pnElem_prime Ep1X, nt_pnElem Ep1X isT).
have tau31p: p \in [predU \tau3(M) & \tau1(M)].
rewrite (pgroupP (pgroupS sXE _)) ?oX // -mulE31 pgroupM.
- rewrite (sub_pgroup _ t3E3) => [|q t3q]; last by rewrite inE /= t3q.
+ rewrite (sub_pgroup _ t3E3) => [|q t3q]; last by rewrite inE /= t3q.
by rewrite (sub_pgroup _ t1E1) // => q t1q; rewrite inE /= t1q orbT.
have [/= t3p | t1p] := orP tau31p.
rewrite (char_normal_trans _ nsE3E) ?sub_cyclic_char //.
@@ -1028,7 +1028,7 @@ have [sLq t12Lp]: q \in \sigma(L) /\ (p \in \tau1(L)) || (p \in \tau2(L)).
rewrite -subG1 quotient_sub1 ?subsetI ?sPE // (subset_trans sPE) //.
by rewrite normsI ?normG ?norms_cent.
have [maxL sNL] := setIdP maxNL; have sEL := subset_trans nAE sNL.
-have sL'p: p \in \sigma(L)^' by move: t12Lp; rewrite -andb_orr => /andP[].
+have sL'p: p \in \sigma(L)^' by move: t12Lp; rewrite -andb_orr => /andP[].
have [sPL sL'P] := (subset_trans sPE sEL, pi_pgroup pP sL'p).
have{sL'P} [F hallF sPF] := Hall_superset (mmax_sol maxL) sPL sL'P.
have solF := sigma_compl_sol hallF.
diff --git a/mathcomp/odd_order/BGsection14.v b/mathcomp/odd_order/BGsection14.v
index 2e3f523..bc6f9e2 100644
--- a/mathcomp/odd_order/BGsection14.v
+++ b/mathcomp/odd_order/BGsection14.v
@@ -400,16 +400,16 @@ by apply: sub_in_pnat => p /(pnatPpi skM)/orP[] // kMp /negP.
Qed.
Lemma FtypeJ M x : ((M :^ x)%G \in 'M_'F) = (M \in 'M_'F).
-Proof. by rewrite inE mmaxJ pgroupJ (eq_p'group _ (kappaJ M x)) !inE. Qed.
+Proof. by rewrite inE mmaxJ pgroupJ (eq_p'group _ (kappaJ M x)) !inE. Qed.
Lemma PtypeJ M x : ((M :^ x)%G \in 'M_'P) = (M \in 'M_'P).
-Proof. by rewrite !in_setD mmaxJ FtypeJ. Qed.
+Proof. by rewrite !in_setD mmaxJ FtypeJ. Qed.
Lemma P1typeJ M x : ((M :^ x)%G \in 'M_'P1) = (M \in 'M_'P1).
Proof.
rewrite inE PtypeJ pgroupJ [M \in 'M_'P1]inE; congr (_ && _).
by apply: eq_pgroup => p; rewrite inE /= kappaJ sigmaJ.
-Qed.
+Qed.
Lemma P2typeJ M x : ((M :^ x)%G \in 'M_'P2) = (M \in 'M_'P2).
Proof. by rewrite in_setD PtypeJ P1typeJ -in_setD. Qed.
@@ -529,7 +529,7 @@ have [have_a nK1K ntE1 sE1K]: [/\ part_a, b1_hyp, E1 :!=: 1 & E1 \subset K].
apply: contraNeq (kappa_nonregular (pnatPpi kK piKp) EpMY).
move/(subG1_contra (setIS U (centS sYy))).
have{y sYy Ky} sYE1 := subset_trans sYy (subset_trans Ky sKE1).
- have ntY: Y :!=: 1 by apply: (nt_pnElem EpY).
+ have ntY: Y :!=: 1 by apply: (nt_pnElem EpY).
rewrite -subG1 /=; have [_ <- _ tiE32] := sdprodP defU.
rewrite -subcent_TImulg ?subsetI ?(subset_trans sYE1) // mulG_subG.
rewrite !subG1 /= => /nandP[nregE3Y | nregE2Y].
@@ -769,7 +769,7 @@ have hallE: \sigma(M)^'.-Hall(M) E.
rewrite pHallE /= -/E -mulUK mul_subG //= TI_cardMg //.
rewrite -(partnC \kappa(M) (part_gt0 _ _)) (partn_part _ (@kappa_sigma' M)).
apply/eqP; rewrite -partnI -(card_Hall hallK) mulnC; congr (_ * _)%N.
- by rewrite (card_Hall hallU); apply: eq_partn => p; apply: negb_or.
+ by rewrite (card_Hall hallU); apply: eq_partn => p; apply: negb_or.
have [K1 | ntK] := altP (K :=P: 1).
rewrite K1 sdprodg1 -{1}(mulg1 U) -{1}K1 mulUK sdprod_sigma //.
by split=> //; first apply: semiregular_prime; apply: semiregular1r.
@@ -1448,7 +1448,7 @@ have{K_spec} defZX: {in MX, forall Mi, K_ Mi \x Ks_ Mi = Z}.
by rewrite -defNXs (subset_trans sXK) // (subset_trans (joing_subl _ Ks)).
have{hallK_Zi} hallK_Z: {in MX, forall Mi, co_sHallK Mi Z}.
by move=> Mi MXi; rewrite -(defZX _ MXi); apply: hallK_Zi.
-have nsK_Z: {in MX, forall Mi, K_ Mi <| Z /\ Ks_ Mi <| Z}.
+have nsK_Z: {in MX, forall Mi, K_ Mi <| Z /\ Ks_ Mi <| Z}.
by move=> Mi /defZX; apply: dprod_normal2.
have tiKs: {in MX &, forall Mi Mj, gval Mi != gval Mj -> Ks_ Mi :&: Ks_ Mj = 1}.
move=> Mi Mj MXi MXj; apply: contraNeq; rewrite -rank_gt0.
@@ -1514,7 +1514,7 @@ have defT: \bigcup_(Mi in MX) (Ks_ Mi)^# * (K_ Mi)^# = T.
have [sXx abelX dimX] := pnElemP EpX.
have piXp: p \in \pi(X) by rewrite -p_rank_gt0 p_rank_abelem ?dimX.
have sXK: X \subset K by rewrite (subset_trans sXx) ?cycle_subG.
- have E1X: X \in 'E^1(K) by apply/nElemP; exists p; apply/pnElemP.
+ have E1X: X \in 'E^1(K) by apply/nElemP; exists p; apply/pnElemP.
have [Mi MNXi sXMis] := exMNX X E1X; have MXi: Mi \in MX := setU1r M MNXi.
have sXZ: X \subset Z := subset_trans sXK (joing_subl _ _).
have sMip: p \in \sigma(Mi) := pnatPpi (pcore_pgroup _ _) (piSg sXMis piXp).
@@ -1609,9 +1609,9 @@ have oTG: (#|TG|%:R = (1 + n / z - \sum_(Mi in MX) (k_ Mi)^-1) * g)%R.
rewrite natrM natf_indexg ?subsetT //= -/z -mulrA mulrC; congr (_ * _)%R.
rewrite oT natrB; last by rewrite ltnW // -subn_gt0 lt0n -oT cards_eq0.
rewrite mulrC natrD -/n -/z natr_sum /=.
- rewrite mulrBl mulrDl big_distrl divff //=; congr (_ - _)%R.
+ rewrite mulrBl mulrDl big_distrl divff //=; congr (_ - _)%R.
apply: eq_bigr => Mi MXi; have defZi := defZX _ MXi.
- by rewrite /z -(dprod_card defZi) natrM invfM mulrC divfK.
+ by rewrite /z -(dprod_card defZi) natrM invfM mulrC divfK.
have neMNX: MNX != set0.
move: ntK; rewrite -rank_gt0 => /rank_geP[X /exMNX[Mi MNXi _]].
by apply/set0Pn; exists Mi.
@@ -1722,7 +1722,7 @@ have{nilMis} cycZ: cyclic Z.
apply: wlog_neg; rewrite -ltnNge ltn_neqAle p_rank_gt0 => /andP[_ piSp].
have [_ /and3P[sKjMj kKj _]] := PmaxMX _ MXj.
rewrite -(rank_kappa (pnatPpi kKj (piSg sSKj piSp))) p_rankS //.
- exact: subset_trans sSKj sKjMj.
+ exact: subset_trans sSKj sKjMj.
rewrite (dprod_nil (defZX _ MXi)) abelian_nil ?cyclic_abelian //=.
exact: (nilpotentS (subsetIl _ _)) nilMis.
have cycK: cyclic K := cyclicS (joing_subl _ _) cycZ.
@@ -1798,7 +1798,7 @@ have oTGgt_g2: (g / 2%:R < #|TG|%:R)%R.
without loss [lt1p ltpq]: p q odd_p odd_q / 1 < p /\ p < q.
have [p_pr q_pr]: prime p /\ prime q by rewrite !pdiv_prime ?cardG_gt1.
have [ltpq | ltqp | eqpq] := ltngtP p q.
- - by apply; rewrite ?prime_gt1.
+ - by apply; rewrite ?prime_gt1.
- by rewrite mulrC; apply; rewrite ?prime_gt1.
have [] := hallK_Z _ MX0.
rewrite K0 Ks0 => /and3P[_ sM'K _] /and3P[_ sMKs _].
@@ -1839,7 +1839,7 @@ rewrite defZhat {1}defKs; split; first 2 [by split].
rewrite sub_abelian_cent ?cyclic_abelian //=; last first.
by rewrite (subset_trans sxK) ?joing_subl.
move: ntx; rewrite -rank_gt0 /= -{1}(setIidPr sxK) => /rank_geP[X].
- rewrite nElemI -setIdE -defZ => /setIdP[E1X sXx].
+ rewrite nElemI -setIdE -defZ => /setIdP[E1X sXx].
by have [<- _] := defNX _ E1X; rewrite setIS ?cents_norm ?centS.
+ case/setD1P; rewrite -cycle_eq1 -cycle_subG -cent_cycle => nty syKs.
have [_ [defNKs defNY] _ _ _] := Ptype_structure PmaxMstar hallKstar.
@@ -2067,7 +2067,7 @@ have [Mst _ [_ _ _ [cycZ _ defZ _ _] _]] := Ptype_embedding PmaxM hallK.
rewrite -(mulKVg y x) -/y' 2!inE negb_or andbC.
do [set Ks := 'C_(_)(K); set Z := K <*> _] in cycZ defZ *.
have Ks_y: y \in Ks.
- have cKZ := sub_abelian_cent (cyclic_abelian cycZ) (joing_subl K Ks).
+ have cKZ := sub_abelian_cent (cyclic_abelian cycZ) (joing_subl K Ks).
rewrite inE Ms_y (subsetP cKZ) // -(defZ y'); last by rewrite !inE nty'.
by rewrite inE cent1C (subsetP sMsM).
have [_ [defNK _] _ _ _] := Ptype_structure PmaxM hallK.
@@ -2169,7 +2169,7 @@ have [sKM s'K] := (subset_trans sKE sEM, pgroupS sKE s'E).
have regQ: 'C_(M`_\sigma)(Q) = 1.
apply/eqP; apply: contraFT (k'M q) => nregQ.
have EqQ_M: Q \in 'E_q^1(M) by apply/pnElemP.
- by rewrite unlock 3!inE /= t1Mq; apply/exists_inP; exists Q.
+ by rewrite unlock 3!inE /= t1Mq; apply/exists_inP; exists Q.
have nsKM: K <| M.
have [s'q _] := andP t1Mq.
have EqQ_NK: Q \in 'E_q^1('N_M(K)) by apply/pnElemP; rewrite subsetI sQM.
@@ -2240,7 +2240,7 @@ have{t12Hq} [/= t1Hq | /= t2Hq] := orP t12Hq.
by have [_ _ _ _ [|<- //]] := Ptype_structure PmaxH hallL; apply/setDP.
left; split=> //.
have [x defQ]: exists x, Q :=: <[x]> by apply/cyclicP; rewrite prime_cyclic ?oQ.
-rewrite defQ cent_cycle in nregQHs *; rewrite (cent1_nreg_sigma_uniq maxH) //.
+rewrite defQ cent_cycle in nregQHs *; rewrite (cent1_nreg_sigma_uniq maxH) //.
by rewrite 2!inE -cycle_eq1 -cycle_subG -defQ (nt_pnElem EqQ).
by rewrite /p_elt /order -defQ oQ pnatE.
Qed.
@@ -2351,7 +2351,7 @@ have sUHs: U \subset H`_\sigma.
have sK_HsDq: K \subset HsDq.
rewrite sub_gen ?subsetU // orbC -p_core_Fitting.
by rewrite (sub_Hall_pcore (nilpotent_pcore_Hall _ (Fitting_nil _))) ?qK.
- have [|sHsDq_H nHsDq_H] := andP (_ : HsDq <| H).
+ have [|sHsDq_H nHsDq_H] := andP (_ : HsDq <| H).
rewrite -(quotientGK nsHsH) -[HsDq]quotientYK //= cosetpre_normal //.
by rewrite -{3}mulHsD quotientMidl quotient_normal // pcore_normal.
have sU_HsDq: U \subset HsDq.
@@ -2458,7 +2458,7 @@ have{p pi_p sMp t2Np b'Mp} FmaxM: M \in 'M_'F.
have kMq: q \in \kappa(M).
by case/orP: (pnatPpi skM piMq) => //= sMq; case/negP: sM'q.
have [K hallK sQK] := Hall_superset (mmax_sol maxM) sQM (pi_pnat qQ kMq).
- have EqKQ: Q \in 'E_q^1(K) by apply/pnElemP.
+ have EqKQ: Q \in 'E_q^1(K) by apply/pnElemP.
have [L _ [uniqL [kLhallKs sMhallKs] _ _ _]] := Ptype_embedding PmaxM hallK.
set Ks := 'C_(_)(K) in kLhallKs sMhallKs.
have{uniqL} defL: 'N[x] :^ g = L.
diff --git a/mathcomp/odd_order/BGsection15.v b/mathcomp/odd_order/BGsection15.v
index 06d7eb9..704e98d 100644
--- a/mathcomp/odd_order/BGsection15.v
+++ b/mathcomp/odd_order/BGsection15.v
@@ -242,7 +242,7 @@ set part_c := forall U, _; have c_holds: part_c.
have piCx_hyp: {in X^#, forall x', x' \in ('C_M[x])^# /\ \sigma(M)^'.-elt x'}.
move=> x' /setD1P[ntx' Xx']; have Ex' := subsetP sXE x' Xx'.
rewrite 3!inE ntx' (subsetP sEM) ?(mem_p_elt s'M_E) //=.
- by rewrite (subsetP _ _ Xx') ?sub_cent1.
+ by rewrite (subsetP _ _ Xx') ?sub_cent1.
have piCx x' X1x' := (* GG -- ssreflect evar generalization fails in trunk *)
let: conj c e := piCx_hyp x' X1x' in pi_of_cent_sigma maxM Ms1x c e.
have t2X: \tau2(M).-group X.
@@ -250,7 +250,7 @@ set part_c := forall U, _; have c_holds: part_c.
have X1x': x' \in X^# by rewrite !inE Xx' -order_gt1 ox' prime_gt1.
have [[]|[]] := piCx _ X1x'; last by rewrite /p_elt ox' pnatE.
case/idPn; have:= mem_p_elt (pgroupS sXU sk'U) Xx'.
- by rewrite /p_elt ox' !pnatE // => /norP[].
+ by rewrite /p_elt ox' !pnatE // => /norP[].
suffices cycX: cyclic X.
split=> //; have [x' defX] := cyclicP cycX.
have X1x': x' \in X^# by rewrite !inE -cycle_eq1 -cycle_subG -defX ntX /=.
@@ -292,7 +292,7 @@ have{cycZ cUU} [cycK cUU] := (cyclicS (joing_subl _ _) cycZ, cUU ntK).
split=> // [_||/UtypeF[] //]; first split=> //.
apply/eqP; rewrite eq_sym eqEcard -(leq_pmul2r (cardG_gt0 K)).
have [nsMsU_M _ mulMsU _ _] := sdprod_context defM.
- rewrite (sdprod_card defM) (sdprod_card defM') der1_min ?normal_norm //=.
+ rewrite (sdprod_card defM) (sdprod_card defM') der1_min ?normal_norm //=.
by rewrite -(isog_abelian (sdprod_isog defM)) cyclic_abelian.
by apply: abelianS cUU; rewrite gen_subG -big_distrr subsetIl.
Qed.
@@ -348,7 +348,7 @@ have ltM'M: M' \proper M by rewrite (sol_der1_proper solM) ?mmax_neq1.
have sMsM': Ms \subset M' := Msigma_der1 maxM.
have [-> | ltMF_Ms] := eqVproper sMF_Ms; first by rewrite eqxx Msigma_neq1.
set KDpart := (X in _ /\ X); suffices KD_holds: KDpart.
- do 2!split=> //; have [K hallK] := Hall_exists \kappa(M) solM.
+ do 2!split=> //; have [K hallK] := Hall_exists \kappa(M) solM.
pose q := #|'C_(M`_\sigma)(K)|; have [D hallD] := Hall_exists q^' solMs.
have [_ [_ _ piMFq _] _ _ _] := KD_holds K D hallK (proper_neq ltMF_Ms) hallD.
by rewrite -rank_gt0 (leq_trans _ (p_rank_le_rank q _)) ?p_rank_gt0.
@@ -467,7 +467,7 @@ have{K1 sK1M sK1K coMsK1 coQK1 prK1 defCMsK1 nQK1 solMs} Qi_rec Qi:
rewrite -(setIidPr sLD_Ms) setIAC defCMsK1 quotientS1 //= -/Ks joingC.
rewrite norm_joinEl // -(setIidPl sKsQ) -setIA -group_modr // tiQD mul1g.
have [-> | ntLKs] := eqVneq (Ks :&: L) 1; first exact: sub1G.
- by rewrite subIset ?(implyP regLK) // prime_meetG.
+ by rewrite subIset ?(implyP regLK) // prime_meetG.
apply: (prime_Frobenius_sol_kernel_nil defLK1b).
by apply: solvableS (quotient_sol _ solM); rewrite join_subG !quotientS.
by rewrite -(card_isog (quotient_isog _ _)) ?coprime_TIg // (coprimeSg sQiQ).
@@ -566,7 +566,7 @@ have{frobDKb regQbDb} [p_pr oQb cQbD']:
transitivity ('C_Q[x] / Q0); last first.
rewrite -(coprime_quotient_cent (subsetIl Q _) nQ0K coQK solQ) /= -/Q0.
by rewrite -/Q -(setIidPl sQMs) -!setIA prMsK // !inE ntx.
- rewrite -!cent_cycle -quotient_cycle //; rewrite -!cycle_subG in Kx nQ0x.
+ rewrite -!cent_cycle -quotient_cycle //; rewrite -!cycle_subG in Kx nQ0x.
by rewrite coprime_quotient_cent ?(coprimegS Kx).
have:= Frobenius_primact frobDKb _ _ _ ntQb _ prQbK regQbDb.
have [nQDK solDK] := (subset_trans sDKM nQM, solvableS sDKM solM).
@@ -577,7 +577,7 @@ have{cQbD'} sM''FM: M'' \subset 'F(M).
have nQMs := subset_trans sMsM nQM.
rewrite [M'']dergSn -/M' -defMs -(quotientSGK _ sQFM) ?comm_subG //.
rewrite (quotient_der 1) //= -/Ms -mulQD quotientMidl -quotient_der //= -/Q.
- by rewrite quotientS // -defFM subsetI sub_astabQ !comm_subG ?quotient_der.
+ by rewrite quotientS // -defFM subsetI sub_astabQ !comm_subG ?quotient_der.
have sQ0Ms := subset_trans sQ0Q sQMs.
have ->: 'C_Ms(Ks / Q0 | 'Q) = 'F(M).
have sFMcKsb: 'F(M) \subset 'C_Ms(Ks / Q0 | 'Q).
@@ -1048,7 +1048,7 @@ split=> // [E E1 E2 E3 complEi | {Y t2Y defF sM'F}].
have E3_1: E3 :=: 1.
have [sEM s'E _] := and3P hallE; have sE'M' := dergS 1 sEM.
have sE3F: E3 \subset 'F(M) := subset_trans sE3E' (subset_trans sE'M' sM'F).
- rewrite -(setIidPr sE3F) coprime_TIg // -(dprod_card defF) coprime_mull.
+ rewrite -(setIidPr sE3F) coprime_TIg // -(dprod_card defF) coprime_mull.
rewrite (pnat_coprime (pcore_pgroup _ _) (pgroupS sE3E s'E)).
exact: p'nat_coprime (sub_pgroup (@tau3'2 _ M) t2Y) t3E3.
have{defE} defE: E2 ><| E1 = E by rewrite -defE E3_1 sdprod1g.
@@ -1106,7 +1106,7 @@ have max_rB A: p.-abelem A -> B \subset A -> 'r_p(A) <= 2.
have [x1 defX1]: exists x1, X1 :=: <[x1]>.
by apply/cyclicP; rewrite prime_cyclic ?oX1.
have Px1: x1 \in P by rewrite -cycle_subG -defX1.
- have Px1a: x1 ^ a \in P.
+ have Px1a: x1 ^ a \in P.
by rewrite (subsetP sAaP) // memJ_conjg -cycle_subG -defX1.
have [b nPb def_xb] := sigma_Hall_tame maxM sylP_Ms Px1 Px1a.
exists (a * b^-1); rewrite !inE !actM !sub_conjgV defX1 /= -!cycleJ def_xb.
@@ -1268,7 +1268,7 @@ Theorem tau2_P2type_signalizer M Mstar U K r R H (q := #|K|) :
[/\ prime q, \tau2(H) =i (q : nat_pred) & \tau2(M)^'.-group M].
Proof.
move: Mstar => L P2maxM complU maxCK_L sylR maxNR_H not_t2'H.
-have [[PmaxM notP1maxM] [hallU hallK _]] := (setDP P2maxM, complU).
+have [[PmaxM notP1maxM] [hallU hallK _]] := (setDP P2maxM, complU).
have q_pr: prime q by have [_ _ _ _ []] := Ptype_structure PmaxM hallK.
have [[maxH _] [maxM _]] := (setIdP maxNR_H, setDP PmaxM).
have [maxL sCKL] := setIdP maxCK_L; have hallLs := Msigma_Hall maxL.
diff --git a/mathcomp/odd_order/BGsection16.v b/mathcomp/odd_order/BGsection16.v
index 737a92d..ca73c4b 100644
--- a/mathcomp/odd_order/BGsection16.v
+++ b/mathcomp/odd_order/BGsection16.v
@@ -267,7 +267,7 @@ Proof. by rewrite (trivg_kappa maxM); case: complU. Qed.
Remark trivgPmax : (M \in 'M_'P) = (K :!=: 1).
Proof. by rewrite inE trivgFmax maxM andbT. Qed.
-Remark FmaxP : reflect (K :==: 1 /\ U :!=: 1) (M \in 'M_'F).
+Remark FmaxP : reflect (K :==: 1 /\ U :!=: 1) (M \in 'M_'F).
Proof.
rewrite (trivg_kappa_compl maxM complU) 2!inE.
have [_ hallK _] := complU; rewrite (trivg_kappa maxM hallK).
@@ -415,7 +415,7 @@ by rewrite injm_abelian /= ?im_quotient // injm_quotm ?injm_conj.
Qed.
Lemma FTcoreJ M x : (M :^ x)`_\s = M`_\s :^ x.
-Proof. by rewrite /FTcore FTtypeJ FcoreJ derJ; case: ifP. Qed.
+Proof. by rewrite /FTcore FTtypeJ FcoreJ derJ; case: ifP. Qed.
Lemma FTsupp1J M x : 'A1(M :^ x) = 'A1(M) :^ x.
Proof. by rewrite conjD1g -FTcoreJ. Qed.
@@ -1073,7 +1073,7 @@ have [K1 | ntK] := eqsVneq K 1.
have FmaxM: M \in 'M_'F by rewrite -(trivg_kappa maxM hallK) K1.
have ->: FTtype M = 1%N by apply/eqP; rewrite -FTtype_Fmax.
have ntU: U :!=: 1 by case/(FmaxP maxM complU): FmaxM.
- have defH: H = Ms.
+ have defH: H = Ms.
by apply/Fcore_eq_Msigma; rewrite // notP1type_Msigma_nil ?FmaxM.
have defM: H ><| U = M.
by have [_] := kappa_compl_context maxM complU; rewrite defH K1 sdprodg1.
@@ -1106,7 +1106,7 @@ have [K1 | ntK] := eqsVneq K 1.
by exists p; rewrite // -p_rank_gt0 -(rank_Sylow sylP) rank_gt0.
have PmaxM: M \in 'M_'P by rewrite inE -(trivg_kappa maxM hallK) ntK.
have [Mstar _ [_ _ _ [cycW _ _ _ _]]] := Ptype_embedding PmaxM hallK.
-case=> [[tiV _ _] _ _ defM {Mstar}].
+case=> [[tiV _ _] _ _ defM {Mstar}].
have [_ [_ cycK] [_ nUK _ _ _] _] := BGsummaryA maxM complU; rewrite -/H.
case=> [[ntKs defCMK] [_ _ _ _ nilM'H] [sM''F defF /(_ ntK)sFM'] types34].
have hallK_M := pHall_Hall hallK.
@@ -1280,7 +1280,7 @@ have tiA0A x a: x \in 'A0(M) :\: 'A(M) -> x ^ a \notin 'A(M).
rewrite 3!inE; case: (x \in _) => //= /and3P[_ notM'x _].
apply: contra notM'x => /bigcupP[y _ /setD1P[_ /setIP[Mx _]]].
by rewrite -(p_eltJ _ _ a) (mem_p_elt (pgroup_pi _)).
-have tiA0 x a: x \in 'A0(M) :\: 'A1(M) -> x ^ a \in 'A0(M) -> a \in M.
+have tiA0 x a: x \in 'A0(M) :\: 'A1(M) -> x ^ a \in 'A0(M) -> a \in M.
case/setDP=> A0x notA1x A0xa.
have [Mx Mxa] := (subsetP sA0M x A0x, subsetP sA0M _ A0xa).
have [[U K] /= complU] := kappa_witness maxM.
@@ -1329,7 +1329,7 @@ have [FmaxM t2'M]: M \in 'M_'F /\ \tau2(M)^'.-group M.
apply: (non_disjoint_signalizer_Frobenius ell1x MSx_gt1 SMxM).
by apply: contra not_sNx'CMy; apply: pgroupS (subsetIl _ _).
have defA0: 'A0(M) = Ms^#.
- rewrite FTsupp0_type1; last by rewrite -FTtype_Fmax.
+ rewrite FTsupp0_type1; last by rewrite -FTtype_Fmax.
rewrite /'A(M) /'A1(M) -FTtype_Fmax // FmaxM def_FTcore //= -/Ms.
apply/setP => z; apply/bigcupP/idP=> [[t Ms1t] | Ms1z]; last first.
have [ntz Ms_z] := setD1P Ms1z.
diff --git a/mathcomp/odd_order/BGsection2.v b/mathcomp/odd_order/BGsection2.v
index 5d7a899..85b95b2 100644
--- a/mathcomp/odd_order/BGsection2.v
+++ b/mathcomp/odd_order/BGsection2.v
@@ -134,7 +134,7 @@ without loss closF: F rG absG / group_closure_field F gT.
move=> IH; apply: (@group_closure_field_exists gT F) => [[F' f closF']].
by apply: IH (map_repr f rG) _ closF'; rewrite map_mx_abs_irr.
elim: {G}_.+1 {-2}G (ltnSn #|G|) => // m IHm G leGm in n rG absG solG *.
-have [G1 | ntG] := eqsVneq G 1%g.
+have [G1 | ntG] := eqsVneq G 1%g.
by rewrite abelian_abs_irr ?G1 ?abelian1 // in absG; rewrite (eqP absG) dvd1n.
have [H nsHG p_pr] := sol_prime_factor_exists solG ntG.
set p := #|G : H| in p_pr.
@@ -159,7 +159,7 @@ have card_sH: #|sH| = #|G : 'C_G[W | 'Cl]|.
have /imsetP[W' _ defW'] := Clifford_atrans irrG sH.
have WW': W' \in orbit 'Cl G W by rewrite orbit_in_sym // -defW' inE.
by rewrite defW' andbT; apply/subsetP=> W'' /orbit_in_trans->.
- rewrite orbit_stabilizer // card_in_imset //.
+ rewrite orbit_stabilizer // card_in_imset //.
exact: can_in_inj (act_reprK _).
have sHcW: H \subset 'C_G[W | 'Cl].
apply: subset_trans (subset_trans (joing_subl _ _) (Clifford_astab sH)) _.
@@ -882,7 +882,7 @@ have{IHm} abelQ: abelian Q.
move/forallP/(_ P); apply: contraL; rewrite subsetI subxx => -> /=.
apply: contra ntQ'; rewrite /Q => /eqP->.
by rewrite (setIidPr _) ?sub1G // commG1.
- case/eqP: ntQ'; have{p'Q'}: P :&: Q^`(1)%g = 1%g.
+ case/eqP: ntQ'; have{p'Q'}: P :&: Q^`(1)%g = 1%g.
rewrite coprime_TIg ?(pnat_coprime (pHall_pgroup sylP)) //= -/Q.
by rewrite (pi_p'nat p'Q') // !inE p_pr.
by rewrite (setIidPr _) // comm_subG ?subsetIr.
@@ -925,7 +925,7 @@ have ap1: a ^+ p = 1.
have ab1: a * b = 1.
have: Q \subset <<[set y in G | \det (rG y) == 1]>>.
rewrite subIset // genS //; apply/subsetP=> yz; case/imset2P=> y z Gy Gz ->.
- rewrite inE !repr_mxM ?groupM ?groupV //= !detM (mulrCA _ (\det (rG y))).
+ rewrite inE !repr_mxM ?groupM ?groupV //= !detM (mulrCA _ (\det (rG y))).
rewrite -!det_mulmx -!repr_mxM ?groupM ?groupV //.
by rewrite mulKg mulVg repr_mx1 det1.
rewrite gen_set_id; last first.
@@ -1034,7 +1034,7 @@ pose B := col_mx u v; have uB: B \in unitmx.
by rewrite mulmx1 -addsmxE addsmxS ?defU ?defUc.
have Umod: mxmodule rP U by apply: rfix_mx_module.
pose W := rfix_mx (factmod_repr Umod) P.
-have ntW: W != 0.
+have ntW: W != 0.
apply: (rfix_pgroup_char charFp) => //.
rewrite eqmxMfull ?row_full_unit ?unitmx_inv ?row_ebase_unit //.
by rewrite rank_copid_mx -(eqP Uscal).
diff --git a/mathcomp/odd_order/BGsection3.v b/mathcomp/odd_order/BGsection3.v
index 007aaf4..5e9f5db 100644
--- a/mathcomp/odd_order/BGsection3.v
+++ b/mathcomp/odd_order/BGsection3.v
@@ -123,7 +123,7 @@ have fixsum (H : {group gT}): H \subset G -> (gsum H <= rfix_mx rG H)%MS.
move/subsetP=> sHG; apply/rfix_mxP=> x Hx; have Gx := sHG x Hx.
rewrite -gring_opG // -gring_opM ?envelop_mx_id //; congr (gring_op _ _).
rewrite {2}/gset_mx (reindex_acts 'R _ Hx) ?astabsR //= mulmx_suml.
- by apply:eq_bigr=> y; move/sHG=> Gy; rewrite repr_mxM.
+ by apply: eq_bigr=> y; move/sHG=> Gy; rewrite repr_mxM.
have: gsum G + rG 1 *+ #|K| = gsum K + \sum_(x in K) gsum (R :^ x).
rewrite -gring_opG // -sumr_const -!linear_sum -!linearD; congr gring_op.
rewrite {1}/gset_mx (set_partition_big _ (Frobenius_partition frobG)) /=.
@@ -350,7 +350,7 @@ have [nsKG sRG defKR nKR tiKR] := sdprod_context defG.
have [sKG nKG] := andP nsKG; have solK := solvableS sKG solG.
have cycR := prime_cyclic p_pr.
case: (eqsVneq K 1) => [-> | ntK]; first by rewrite derg1 commG1 sub1G.
-have defR x: x \in R^# -> <[x]> = R.
+have defR x: x \in R^# -> <[x]> = R.
case/setD1P; rewrite -cycle_subG -cycle_eq1 => ntX sXR.
apply/eqP; rewrite eqEsubset sXR; apply: contraR ntX => /(prime_TIg p_pr).
by rewrite /= (setIidPr sXR) => ->.
@@ -856,7 +856,7 @@ have{IHsub nVH} IHsub: forall X : {group gT},
rewrite sub_Hall_pcore //; last by rewrite -defP commSg ?joing_subr.
rewrite /pHall pcore_sub pcore_pgroup /= -(pseries_pop2 _ Op'HR0).
rewrite -card_quotient ?normal_norm ?pseries_normal // -/(pgroup _ _).
- by rewrite -{1}((_ :=P: _) p1_HR0) (quotient_pseries [::_;_]) pcore_pgroup.
+ by rewrite -{1}((_ :=P: _) p1_HR0) (quotient_pseries [::_; _]) pcore_pgroup.
apply/trivgP; have <-: K :&: 'O_p([~: H0, R0]) = 1.
by rewrite setIC coprime_TIg // (pnat_coprime (pcore_pgroup p _)).
by rewrite commg_subI // subsetI ?sPOpHR0 ?sXK //= gFnorm_trans // normsRl.
@@ -953,7 +953,7 @@ have iK'K: 'C_(P <*> R / K')(K / K') = 1 -> #|K / K'| > q ^ 2.
by rewrite /pgroup (pi_pnat rR) // (pi_pnat pP) // !inE eq_sym.
case cKK: (abelian K); last first.
have [|[dPhiK dK'] dCKP] := abelian_charsimple_special qK coKP defKP.
- apply/bigcupsP=> L /andP[charL]; have sLK := char_sub charL.
+ apply/bigcupsP=> L /andP[charL]; have sLK := char_sub charL.
by case/IHsub: sLK cKK => // [|-> -> //]; apply: char_norm_trans charL _.
have eK: exponent K %| q.
have oddK: odd #|K| := oddSg sKG oddG.
@@ -1395,7 +1395,7 @@ have chF: 'F(K) \char K := Fitting_char K; have nFR := char_norm_trans chF nKR.
have nsFK := char_normal chF; have [sFK nFK] := andP nsFK.
pose KqF := K / 'F(K); have solK := solvableS sKG solG.
without loss [p p_pr pKqF]: / exists2 p, prime p & p.-group KqF.
- move=> IHp; apply: wlog_neg => IH_KR; rewrite -quotient_cents2 //= -/KqF.
+ move=> IHp; apply: wlog_neg => IH_KR; rewrite -quotient_cents2 //= -/KqF.
set Rq := R / 'F(K); have nKRq: Rq \subset 'N(KqF) by apply: quotient_norms.
rewrite centsC.
apply: subset_trans (coprime_cent_Fitting nKRq _ _); last first.
@@ -1487,7 +1487,7 @@ have defKv: (P / V) * 'C_(G / V)(W) = (K / V).
rewrite (subset_trans (quotientS _ sK_PF)) // quotientMl // mulgS //.
rewrite subsetI -quotient_astabQ !quotientS //.
by rewrite (subset_trans (Fitting_stab_chief solG nsKG)) ?(bigcap_inf (U, V)).
-have nW_ := subset_trans (quotientS _ _) nWG; have nWK := nW_ _ sKG.
+have nW_ := subset_trans (quotientS _ _) nWG; have nWK := nW_ _ sKG.
rewrite -quotient_cents2 ?norms_cent ?(nW_ _ sRG) //.
have [eq_qp | p'q] := eqVneq q p.
apply: subset_trans (sub1G _); rewrite -trivg_quotient quotientS // centsC.
diff --git a/mathcomp/odd_order/BGsection4.v b/mathcomp/odd_order/BGsection4.v
index 217f151..c35c9ab 100644
--- a/mathcomp/odd_order/BGsection4.v
+++ b/mathcomp/odd_order/BGsection4.v
@@ -47,7 +47,7 @@ Proposition exponent_odd_nil23 gT (R : {group gT}) p :
Proof.
move=> pR oddR classR.
pose f n := 'C(n, 3); pose g n := 'C(n, 3).*2 + 'C(n, 2).
-have fS n: f n.+1 = 'C(n, 2) + f n by rewrite /f binS addnC.
+have fS n: f n.+1 = 'C(n, 2) + f n by rewrite /f binS addnC.
have gS n: g n.+1 = 'C(n, 2).*2 + 'C(n, 1) + g n.
by rewrite /g !binS doubleD -!addnA; do 3!nat_congr.
have [-> | ntR] := eqsVneq R 1.
@@ -64,7 +64,7 @@ have exp_dv_p x m (S : {group gT}):
- move=> expSp p_dv_m Sx; apply/eqP; rewrite -order_dvdn.
by apply: dvdn_trans (dvdn_trans expSp p_dv_m); apply: dvdn_exponent.
have p3_L21: p <= 3 -> {in R & &, forall u v w, [~ u, v, w] = 1}.
- move=> lep3 u v w Ru Rv Rw; rewrite (ltnNge 3) lep3 nil_class2 in classR.
+ move=> lep3 u v w Ru Rv Rw; rewrite (ltnNge 3) lep3 nil_class2 in classR.
by apply/eqP/commgP; red; rewrite (centerC Rw) // (subsetP classR) ?mem_commg.
have{fS gS} expMR_fg: {in R &, forall u v n (r := [~ v, u]),
(u * v) ^+ n = u ^+ n * v ^+ n * r ^+ 'C(n, 2)
@@ -79,7 +79,7 @@ have{fS gS} expMR_fg: {in R &, forall u v n (r := [~ v, u]),
rewrite -commuteM; try by apply: commuteX; red; rewrite cRr ?groupM.
rewrite -mulgA; do 2!rewrite (mulgA _ u) (commgC _ u) -2!mulgA.
congr (_ * (_ * _)); rewrite (mulgA _ v).
- have ->: [~ v ^+ n, u] = r ^+ n * [~ r, v] ^+ 'C(n, 2).
+ have ->: [~ v ^+ n, u] = r ^+ n * [~ r, v] ^+ 'C(n, 2).
elim: n => [|n IHn]; first by rewrite comm1g mulg1.
rewrite !expgS commMgR -/r {}IHn commgX; last exact: cRr.
rewrite binS bin1 addnC expgD -2!mulgA; congr (_ * _); rewrite 2!mulgA.
@@ -168,7 +168,7 @@ have [[x y] genR modR] := generators_modular_group p_pr e_gt1 isoR.
have [_ _ _ _] := modular_group_structure p_pr e_gt1 genR isoR modR.
rewrite xpair_eqE p2; case/(_ 1%N) => // _ oR1.
by rewrite 2!inE Ohm_sub oR1 pfactorK ?abelem_Ohm1 ?(card_p2group_abelian p_pr).
-Qed.
+Qed.
Section OddNonCyclic.
@@ -197,7 +197,7 @@ Qed.
(* This is B & G, Lemma 4.5(c). *)
Lemma Ohm1_odd_ucn2 (Z := 'Ohm_1('Z_2(R))) : ~~ cyclic Z /\ exponent Z %| p.
-Proof.
+Proof.
have [S nsSR Ep2S] := ex_odd_normal_p2Elem; have p_pr := pnElem_prime Ep2S.
have [sSR abelS dimS] := pnElemP Ep2S; have [pS cSS expSp]:= and3P abelS.
pose SR := [~: S, R]; pose SRR := [~: SR, R].
@@ -209,7 +209,7 @@ have sSR_R := subset_trans sSR_S sSR.
have{ntS} prSR: SR \proper S.
by rewrite (nil_comm_properl nilR) // subsetI subxx -commg_subl.
have SRR1: SRR = 1.
- have [SR1 | ntSR] := eqVneq SR 1; first by rewrite /SRR SR1 comm1G.
+ have [SR1 | ntSR] := eqVneq SR 1; first by rewrite /SRR SR1 comm1G.
have prSRR: SRR \proper SR.
rewrite /proper sSRR_SR; apply: contra ntSR => sSR_SRR.
by rewrite (forall_inP nilR) // subsetI sSR_R.
@@ -303,7 +303,7 @@ have{gtR2} [A] := p_rank_geP gtR2; pose H := 'C_A(Z); pose K := H <*> Z.
case/pnElemP=> sAR abelA dimA3; have [pA cAA _] := and3P abelA.
have{nsZR} nZA := subset_trans sAR (normal_norm nsZR).
have sHA: H \subset A := subsetIl A _; have abelH := abelemS sHA abelA.
-have geH2: logn p #|H| >= 2.
+have geH2: logn p #|H| >= 2.
rewrite -ltnS -dimA3 -(Lagrange sHA) lognM // -addn1 leq_add2l /= -/H.
by rewrite logn_quotient_cent_abelem ?dimZ2.
have{abelH} abelK : p.-abelem K.
@@ -330,7 +330,7 @@ have sAR := normal_sub nAR; have pA := pgroupS sAR pR.
have abelA : p.-abelem A.
by rewrite /abelem pA cAA /= (dvdn_trans (exponentS sAR) expR).
have cardA : logn p #|A| <= 2.
- by rewrite -rank_abelem // (leq_trans (rankS sAR) rankR).
+ by rewrite -rank_abelem // (leq_trans (rankS sAR) rankR).
have cardRA : logn p #|R : A| <= 1.
by rewrite -cRAA logn_quotient_cent_abelem // (normal_norm nAR).
rewrite -(Lagrange sAR) lognM ?cardG_gt0 //.
@@ -384,7 +384,7 @@ have dimS1b: logn p #|R / 'Ohm_1(S)| <= 1.
by rewrite dvdn_leq_log ?prime_gt0 // order_dvdn yp1.
rewrite (leq_trans (nil_class_pgroup pR)) // geq_max /= -subn1 leq_subLR.
by rewrite -(Lagrange sS1R) lognM // -card_quotient // addnC leq_add.
-Qed.
+Qed.
(* This is B & G, Lemma 4.9. *)
Lemma quotient_p2_Ohm1 gT p (R : {group gT}) :
@@ -495,7 +495,7 @@ have [cRR | not_cRR] := boolP (abelian R).
by rewrite big_seq1 => <-; rewrite cyclic_metacyclic ?cycle_cyclic.
rewrite big_cons big_seq1; case/dprodP=> _ <- cAB _.
apply/existsP; exists <[a]>%G; rewrite cycle_cyclic /=.
- rewrite /normal mulG_subl mulG_subG normG cents_norm //= quotientMidl.
+ rewrite /normal mulG_subl mulG_subG normG cents_norm //= quotientMidl.
by rewrite quotient_cycle ?cycle_cyclic // -cycle_subG cents_norm.
pose R' := R^`(1); pose e := 'Mho^1(R') != 1.
have nsR'R: R' <| R := der_normal 1 R; have [sR'R nR'R] := andP nsR'R.
@@ -757,7 +757,7 @@ case recR: [exists (S : {group gT} | S \proper R), a \in 'N(S) :\: 'C(S)].
by apply: IHn nSa oa _; rewrite ?(pgroupS sSR) ?(leq_trans ltSR).
do [rewrite inE -!cycle_subG orderE; set A := <[a]>] in nRa oa.
have{nRa oa} [[not_cRA nRA] oA] := (andP nRa, oa).
-have coRA : coprime #|R| #|A| by rewrite oA (pnat_coprime pR) ?pnatE.
+have coRA : coprime #|R| #|A| by rewrite oA (pnat_coprime pR) ?pnatE.
have{recR} IH: forall S, gval S \proper R -> A \subset 'N(S) -> A \subset 'C(S).
move=> S ltSR; rewrite !cycle_subG => nSa; apply: contraFT recR => not_cSa.
by apply/exists_inP; exists S; rewrite // inE not_cSa nSa.
@@ -929,9 +929,9 @@ have{ziTX defB1} cycX: cyclic X; last have [x defX]:= cyclicP cycX.
have{Xb defXb defBb nsCX} mulSX: S * X = R.
have nCT: T \subset 'N(C) := subset_trans sTR nCR.
rewrite -defR -(normC (subset_trans sSR nBR)) -[B](quotientGK nsCB) -defBb.
- rewrite cosetpreM quotientK // defXb quotientGK // -(normC nCT).
+ rewrite cosetpreM quotientK // defXb quotientGK // -(normC nCT).
by rewrite -mulgA (mulSGid sCX) mulgA (mulGSid sTS).
-have{mulSX} not_sXS_S': ~~ ([~: X, S] \subset S').
+have{mulSX} not_sXS_S': ~~ ([~: X, S] \subset S').
apply: contra not_sTS' => sXS_S'; rewrite /T -mulSX.
by rewrite commGC commMG ?(subset_trans sXR) // mul_subG.
have [oSb oTb] : #|S / T| = p /\ #|T / S'| = p.
@@ -993,7 +993,7 @@ have i_neq0: i != 0 %[mod p].
rewrite -(orderJ _ a) conjXg xa order_eq1 -expgM -order_dvdn mod0n.
apply: contra; case/dvdnP=> m ->; rewrite -mulnA -expnS dvdn_mull //.
by rewrite {1}[#[x]](card_pgroup pX) dvdn_exp2l ?leqSpred.
-have Txy: [~ x, y] \in T by rewrite [T]commGC mem_commg // -cycle_subG -defX.
+have Txy: [~ x, y] \in T by rewrite [T]commGC mem_commg // -cycle_subG -defX.
have [Rx Ry]: x \in R /\ y \in R by rewrite -cycle_subG -defX (subsetP sSR).
have [nS'x nS'y] := (subsetP nS'R x Rx, subsetP nS'R y Ry).
have{not_sXS_S'} not_S'xy: [~ x, y] \notin S'.
@@ -1077,7 +1077,7 @@ have s_p'C_B X: gval X \subset C -> p^'.-group X -> X \subset B.
by rewrite qact_domE ?acts_char.
rewrite gacentE // subsetIidl -/V; apply/subsetP=> v Vv; apply/afixP=> a Xa.
have [cVa dom_a] := (subsetP sXC a Xa, subsetP domXb a Xa).
- have [x Nx Hx def_v] := morphimP Vv; rewrite {1}def_v qactE //=.
+ have [x Nx Hx def_v] := morphimP Vv; rewrite {1}def_v qactE //=.
by rewrite -qactE ?(astab_dom cVa) ?(astab_act cVa) -?def_v.
have{B pB s_p'C_B} pC : p.-group C.
apply/pgroupP=> q q_pr /Cauchy[] // a Ca oa; apply: wlog_neg => p'q.
@@ -1107,7 +1107,7 @@ rewrite !inE; case/pred2P=> dimV.
pose Vb := sdpair1 toAV @* V; pose Ab := sdpair2 toAV @* A.
have [injV injA] := (injm_sdpair1 toAV, injm_sdpair2 toAV).
have abelVb: p.-abelem Vb := morphim_abelem _ abelV.
-have ntVb: Vb != 1 by rewrite morphim_injm_eq1.
+have ntVb: Vb != 1 by rewrite morphim_injm_eq1.
have nVbA: Ab \subset 'N(Vb) := im_sdpair_norm toAV.
pose rV := morphim_repr (abelem_repr abelVb ntVb nVbA) (subxx A).
have{defC} <-: rker rV = C; last move: rV.
@@ -1128,8 +1128,8 @@ without loss Gp'1: gT G solG oddG rG q_dv_G / 'O_p^'(G) = 1.
rewrite trivg_pcore_quotient -(card_isog (quotient1_isog _)).
by rewrite p_rank_p'quotient ?pcore_pgroup ?gFnorm //; apply.
set R := 'O_p(G); have pR: p.-group R := pcore_pgroup p G.
-have [sRG nRG] := andP (pcore_normal p G : R <| G).
-have oddR: odd #|R| := oddSg sRG oddG.
+have [sRG nRG] := andP (pcore_normal p G : R <| G).
+have oddR: odd #|R| := oddSg sRG oddG.
have rR: 'r(R) <= 2 by rewrite (rank_pgroup pR) (leq_trans _ rG) ?p_rankS.
rewrite leq_eqVlt -implyNb; apply/implyP=> p'q.
have [|//] := pi_Aut_rank2_pgroup pR oddR rR _ p'q; rewrite eq_sym in p'q.
@@ -1193,7 +1193,7 @@ Qed.
(* This is B & G, Theorem 4.18(d) *)
Theorem rank2_sub_p'core_der1 gT (G A : {group gT}) p :
solvable G -> odd #|G| -> 'r_p(G) <= 2 -> p^'.-subgroup(G^`(1)) A ->
- A \subset 'O_p^'(G^`(1)).
+ A \subset 'O_p^'(G^`(1)).
Proof.
move=> solG oddG rG /andP[sAG' p'A]; rewrite sub_Hall_pcore //.
by have [-> _ _] := rank2_der1_complement solG oddG rG.
@@ -1264,7 +1264,7 @@ have pGb: p.-group((G / 'C_G(R))^`(1)).
by rewrite defA -pgroupE (der1_Aut_rank2_pgroup pR) ?(oddSg sRG).
set C := 'C_G(U / V | 'Q).
have nUfG: [acts G, on U / V | 'Q] by rewrite actsQ.
-have nCG: G \subset 'N(C) by rewrite -(setIidPl nUfG) normsGI ?astab_norm.
+have nCG: G \subset 'N(C) by rewrite -(setIidPl nUfG) normsGI ?astab_norm.
have{pGb sUfR} pGa': p.-group (G / C)^`(1).
have nCRG : G \subset 'N('C_G(R)) by rewrite normsI ?normG ?norms_cent.
have sCR_C: 'C_G(R) \subset C.
diff --git a/mathcomp/odd_order/BGsection5.v b/mathcomp/odd_order/BGsection5.v
index bf84a99..9769c86 100644
--- a/mathcomp/odd_order/BGsection5.v
+++ b/mathcomp/odd_order/BGsection5.v
@@ -69,7 +69,7 @@ Proof.
move=> injf sHG; rewrite /narrow injm_p_rank //; congr (_ ==> _).
apply/set0Pn/set0Pn=> [] [E /setIP[Ep2E maxE]].
exists (invm injf @* E)%G; rewrite -[H](group_inj (morphim_invm injf _)) //.
- have sEfG: E \subset f @* G.
+ have sEfG: E \subset f @* G.
by rewrite (subset_trans _ (morphimS _ sHG)) //; case/pnElemP: Ep2E.
by rewrite inE injm_pnElem ?injm_pmaxElem ?injm_invm ?morphimS // Ep2E.
have sEG: E \subset G by rewrite (subset_trans _ sHG) //; case/pnElemP: Ep2E.
@@ -166,7 +166,7 @@ Proof. by rewrite Ohm1_eq1 (center_nil_eq1 (pgroup_nil pR)). Qed.
Let sZR : Z \subset R. Proof. by rewrite !gFsub_trans. Qed.
-Let abelZ : p.-abelem (Z).
+Let abelZ : p.-abelem (Z).
Proof. by rewrite (Ohm1_abelem (pgroupS _ pR)) ?center_sub ?center_abelian. Qed.
Let pZ : p.-group Z. Proof. exact: abelem_pgroup abelZ. Qed.
@@ -272,12 +272,12 @@ have sZT: Z \subset T.
have{SZ sSSZ maxSZ} not_sST: ~~ (S \subset T).
have: ~~ (SZ \subset T) by case/Ohm1_ucn_p2maxElem: maxSZ.
by rewrite join_subG sZT andbT.
-have tiST: S :&: T :=: 1 by rewrite prime_TIg ?oS.
+have tiST: S :&: T :=: 1 by rewrite prime_TIg ?oS.
have defST: S * T = R.
apply/eqP; rewrite eqEcard TI_cardMg ?mul_subG ?subsetIl //=.
- by rewrite mulnC oS -maxT Lagrange ?subsetIl.
+ by rewrite mulnC oS -maxT Lagrange ?subsetIl.
have cRRb: abelian (R / T) by rewrite -defST quotientMidr quotient_abelian.
-have sR'T: R^`(1) \subset T by rewrite der1_min ?char_norm.
+have sR'T: R^`(1) \subset T by rewrite der1_min ?char_norm.
have TI_SR': S :&: R^`(1) :=: 1.
by rewrite prime_TIg ?oS // (contra _ not_sST) // => /subset_trans->.
have defCRS : S \x 'C_T(S) = 'C_R(S).
@@ -385,12 +385,12 @@ have tiHS: H :&: S = 1.
have nsUR: U <| R.
rewrite /normal sUR -commg_subl (subset_trans (commSg _ sUH)) //= -/U.
by rewrite (subset_trans sHRZ) // joing_subr.
- have{rU}:= leq_trans rU rCRS; rewrite leq_eqVlt => /predU1P[] rU.
+ have{rU}:= leq_trans rU rCRS; rewrite leq_eqVlt => /predU1P[] rU.
have Ep2U: [group of U] \in 'E_p^2(R).
by rewrite !inE /= sUR abelU -(p_rank_abelem abelU) rU.
have [F scn3F sUF] := normal_p2Elem_SCN3 rR Ep2U nsUR.
- have [scnF rF] := setIdP scn3F; have [_ scF] := SCN_P scnF.
- rewrite (leq_trans rF) // -scF -rank_pgroup ?(pgroupS (subsetIl _ _)) //.
+ have [scnF rF] := setIdP scn3F; have [_ scF] := SCN_P scnF.
+ rewrite (leq_trans rF) // -scF -rank_pgroup ?(pgroupS (subsetIl _ _)) //.
by rewrite rankS ?setIS ?centS // (subset_trans _ sUF) ?joing_subl.
have defU: S :=: U.
apply/eqP; rewrite eqEcard oS joing_subl (card_pgroup (pgroupS sUR pR)).
@@ -424,7 +424,7 @@ suffices pB (X : {group {perm gT}}): X \subset B -> p^'.-group X -> X :=: 1.
rewrite -partn_eq1 ?cardG_gt0 // -(card_Hall sylX).
by rewrite (pB X) ?cards1 ?(pi_pgroup qX) ?(subset_trans sXA') ?joing_subl.
rewrite cAbAb -(nilpotent_pcoreC p (abelian_nil cAbAb)) trivg_pcore_quotient.
- rewrite dprod1g pcore_pgroup; split=> //_ a Aa p'a.
+ rewrite dprod1g pcore_pgroup; split=> //_ a Aa p'a.
rewrite order_dvdn -cycle_eq1 [<[_]>]pB ?(pgroupS (cycleX _ _) p'a) //.
by rewrite genS // sub1set inE orbC (mem_imset (expgn^~ _)).
move=> sXB p'X; have AutX := subset_trans sXB AutB.
@@ -478,7 +478,7 @@ apply: dvdn_trans (order_dvdG (actperm_Aut _ Dx)) _.
by rewrite card_Aut_cyclic // oLb (@totient_pfactor p 1) ?muln1.
Qed.
-End OneGroup.
+End OneGroup.
(* This is B & G, Theorem 5.6, parts (a) and (c). We do not prove parts (b), *)
(* (d) and (e), as they are not used in the proof of the Odd Order Theorem. *)
diff --git a/mathcomp/odd_order/BGsection6.v b/mathcomp/odd_order/BGsection6.v
index e344b98..9e06b1a 100644
--- a/mathcomp/odd_order/BGsection6.v
+++ b/mathcomp/odd_order/BGsection6.v
@@ -31,7 +31,7 @@ Implicit Type p : nat.
Section OneType.
-Variable gT : finGroupType.
+Variable gT : finGroupType.
Implicit Types G H K S U : {group gT}.
(* This is B & G, Theorem A.4(b) and 6.1, or Gorenstein 6.5.2, the main Hall- *)
@@ -77,7 +77,7 @@ case/sdprodP=> _ defG nKH tiKH coKH solK sKG'.
set K' := K^`(1); have [sK'K nK'K] := andP (der_normal 1 K : K' <| K).
have nK'H: H \subset 'N(K') := gFnorm_trans _ nKH.
set R := [~: K, H]; have sRK: R \subset K by rewrite commg_subl.
-have [nRK nRH] := joing_subP (commg_norm K H : K <*> H \subset 'N(R)).
+have [nRK nRH] := joing_subP (commg_norm K H : K <*> H \subset 'N(R)).
have sKbK'H': K / R \subset (K / R)^`(1) * (H / R)^`(1).
have defGb: (K / R) \* (H / R) = G / R.
by rewrite -defG quotientMl ?cprodE // centsC quotient_cents2r.
@@ -90,7 +90,7 @@ have{sKbK'H' tiKbHb'} derKb: (K / R)^`(1) = K / R.
have{derKb} Kb1: K / R = 1.
rewrite (contraNeq (sol_der1_proper _ (subxx (K / R)))) ?quotient_sol //.
by rewrite derKb properxx.
-have{Kb1 sRK} defKH: [~: K, H] = K.
+have{Kb1 sRK} defKH: [~: K, H] = K.
by apply/eqP; rewrite eqEsubset sRK -quotient_sub1 ?Kb1 //=.
split=> //; rewrite -quotient_sub1 ?subIset ?nK'K //= -/K'.
have cKaKa: abelian (K / K') := der_abelian 0 K.
@@ -255,7 +255,7 @@ Qed.
(* This is B & G, Lemma 6.6(d). *)
Lemma plength1_Sylow_Jsub (Q : {group gT}) :
Q \subset G -> p.-group Q ->
- exists2 x, x \in 'C_G(Q :&: S) & Q :^ x \subset S.
+ exists2 x, x \in 'C_G(Q :&: S) & Q :^ x \subset S.
Proof.
move=> sQG pQ; have sQ_Gp'p: Q \subset 'O_{p^',p}(G).
rewrite -sub_quotient_pre /= pcore_mod1 ?(subset_trans sQG) //.
@@ -278,7 +278,7 @@ End OneType.
Theorem plength1_norm_pmaxElem gT p (G E L : {group gT}) :
E \in 'E*_p(G) -> odd p -> solvable G -> p.-length_1 G ->
L \subset G -> E \subset 'N(L) -> p^'.-group L ->
- L \subset 'O_p^'(G).
+ L \subset 'O_p^'(G).
Proof.
move=> maxE p_odd solG pl1G sLG nEL p'L.
case p_pr: (prime p); last first.
diff --git a/mathcomp/odd_order/BGsection7.v b/mathcomp/odd_order/BGsection7.v
index 71e800e..5f803b0 100644
--- a/mathcomp/odd_order/BGsection7.v
+++ b/mathcomp/odd_order/BGsection7.v
@@ -770,9 +770,9 @@ End NormedConstrained.
Proposition plength_1_normed_constrained p A :
A :!=: 1 -> A \in 'E*_p(G) -> (forall M, M \proper G -> p.-length_1 M) ->
normed_constrained A.
-Proof.
+Proof.
move=> ntA EpA pl1subG.
-case/pmaxElemP: (EpA); case/pElemP=> sAG; case/and3P=> pA cAA _ _.
+case/pmaxElemP: (EpA); case/pElemP=> sAG; case/and3P=> pA cAA _ _.
have prA: A \proper G := sub_proper_trans cAA (mFT_cent_proper ntA).
split=> // X Y sAX prX; case/setIdP; case/andP=> sYX p'Y nYA.
have pl1X := pl1subG _ prX; have solX := mFT_sol prX.
diff --git a/mathcomp/odd_order/BGsection8.v b/mathcomp/odd_order/BGsection8.v
index db378f3..513d6d1 100644
--- a/mathcomp/odd_order/BGsection8.v
+++ b/mathcomp/odd_order/BGsection8.v
@@ -68,7 +68,7 @@ have piCA: pi.-group('C(A)).
have Mx := subsetP sCAM x cAx; pose C := 'C_F(<[x]>).
have sAC: A \subset C by rewrite subsetI sAF centsC cycle_subG.
have sCFC_C: 'C_F(C) \subset C.
- by rewrite (subset_trans _ sAC) ?setIS // centS ?(subset_trans _ sAC).
+ by rewrite (subset_trans _ sAC) ?setIS // centS ?(subset_trans _ sAC).
have cFx: x \in 'C_M(F).
rewrite inE Mx -cycle_subG coprime_nil_faithful_cent_stab //=.
by rewrite cycle_subG (subsetP (gFnorm _ _)).
@@ -339,7 +339,7 @@ have prH: H \proper G by rewrite inE in maxH; apply: maxgroupp maxH.
have sAHM: A \subset H :&: M by rewrite subsetI sAH.
have [R sylR_HM sAR]:= Sylow_superset sAHM (pgroupS sAP pP).
have [/subsetIP[sRH sRM] pR _] := and3P sylR_HM.
-have{sylR_HM} sylR_H: p.-Sylow(H) R.
+have{sylR_HM} sylR_H: p.-Sylow(H) R.
have [Q sylQ] := Sylow_superset sRM pR; have [sQM pQ _] := and3P sylQ.
case/eqVproper=> [defR | /(nilpotent_proper_norm (pgroup_nil pQ)) sRN].
apply: (pHall_subl sRH (subsetT _)); rewrite pHallE subsetT /=.
diff --git a/mathcomp/odd_order/BGsection9.v b/mathcomp/odd_order/BGsection9.v
index f649e84..fe2b86a 100644
--- a/mathcomp/odd_order/BGsection9.v
+++ b/mathcomp/odd_order/BGsection9.v
@@ -372,14 +372,14 @@ have uNP0_mCA M: M \in 'M('C(A)) -> 'M('N(P0)) = [set M].
have nVU := subset_trans sUDL (subset_trans sDL nV_LM).
rewrite IHs ?(subset_trans sVU) // /stable_factor /normal sVU nVU !andbT.
have nVP0 := subset_trans (subset_trans sP0_LM' (der_sub _ _)) nV_LM.
- rewrite commGC -sub_astabQR // (subset_trans sP0_LM') //.
+ rewrite commGC -sub_astabQR // (subset_trans sP0_LM') //.
have /is_abelemP[q _ /andP[qUV _]]: is_abelem (U / V).
exact: sol_chief_abelem solLM chUV.
apply: rank2_der1_cent_chief qUV sUDL; rewrite ?mFT_odd //.
exact: leq_trans (p_rank_le_rank _ _) DLle2.
rewrite centsC (subset_trans cDL_P0) ?centS ?setIS //.
by rewrite (subset_trans _ sCxL) // -cent_set1 centS ?sub1set.
- case: (ltnP 2 'r(F)) => [| Fle2].
+ case: (ltnP 2 'r(F)) => [| Fle2].
have [q q_pr -> /= Fq3] := rank_witness [group of F].
have Mq3: 'r('O_q(M)) >= 3.
rewrite (rank_pgroup (pcore_pgroup _ _)) /= -p_core_Fitting.
diff --git a/mathcomp/odd_order/PFsection1.v b/mathcomp/odd_order/PFsection1.v
index 1d784ed..8e0b539 100644
--- a/mathcomp/odd_order/PFsection1.v
+++ b/mathcomp/odd_order/PFsection1.v
@@ -196,7 +196,7 @@ Lemma vchar_isometry_base m L (Chi : m.-tuple 'CF(H))
uniq mu
& exists epsilon : bool, forall i : 'I_m,
tau (Chi`_i - Chi`_0) = (-1) ^+ epsilon *: ('chi_(mu`_i) - 'chi_(mu`_0)).
-Proof.
+Proof.
case: m Chi => [|[|m]] // Chi _ irrChi Chifree Chi1 ChiCF [iso_tau Ztau].
rewrite -(tnth_nth 0 _ 0); set chi := tnth Chi.
have chiE i: chi i = Chi`_i by rewrite -tnth_nth.
@@ -272,7 +272,7 @@ rewrite (partition_big (conjg_Iirr t) xpredT) //=; apply: eq_bigr => i _.
have [[y Gy chi_i] | not_i_t] := cfclassP _ _ _; last first.
apply: big1 => z; rewrite groupV => /andP[Gz /eqP def_i].
by case: not_i_t; exists z; rewrite // -def_i conjg_IirrE.
-rewrite -(card_rcoset _ y) mulr_natl -sumr_const; apply: eq_big => z.
+rewrite -(card_rcoset _ y) mulr_natl -sumr_const; apply: eq_big => z.
rewrite -(inj_eq irr_inj) conjg_IirrE chi_i mem_rcoset inE groupMr ?groupV //.
apply: andb_id2l => Gz; rewrite eq_sym (cfConjg_eqE _ nsHG) //.
by rewrite mem_rcoset inE groupM ?groupV.
@@ -315,7 +315,7 @@ Qed.
(* Useful consequences of (1.5)(c) *)
Lemma not_cfclass_Ind_ortho i j :
H <| G -> ('chi_i \notin 'chi_j ^: G)%CF ->
- '['Ind[G, H] 'chi_i, 'Ind[G, H] 'chi_j] = 0.
+ '['Ind[G, H] 'chi_i, 'Ind[G, H] 'chi_j] = 0.
Proof. by move/(cfclass_Ind_cases i j); rewrite cfclass_sym; case: ifP. Qed.
Lemma cfclass_Ind_irrP i j :
@@ -363,7 +363,7 @@ Qed.
(* This is Peterfalvi (1.5)(e). *)
Lemma odd_induced_orthogonal t :
H <| G -> odd #|G| -> t != 0 ->
- '['Ind[G, H] 'chi_t, ('Ind[G] 'chi_t)^*] = 0.
+ '['Ind[G, H] 'chi_t, ('Ind[G] 'chi_t)^*] = 0.
Proof.
move=> nsHG oddG nz_t; have [sHG _] := andP nsHG.
have:= cfclass_Ind_cases t (conjC_Iirr t) nsHG.
@@ -582,7 +582,7 @@ have I1B: 'chi_i1 1%g ^+ 2 <= #|C : D|%:R.
move/ler_trans; apply.
rewrite ler_nat // -(index_quotient_eq CBsH) ?normal_norm //.
rewrite -(@leq_pmul2l #|'Z('chi_i2)%CF|) ?cardG_gt0 ?cfcenter_sub //.
- rewrite Lagrange ?quotientS ?cfcenter_sub //.
+ rewrite Lagrange ?quotientS ?cfcenter_sub //.
rewrite -(@leq_pmul2l #|(D / B)%g|) ?cardG_gt0 //.
rewrite mulnA mulnAC Lagrange ?quotientS //.
rewrite mulnC leq_pmul2l ?cardG_gt0 // subset_leq_card //.
diff --git a/mathcomp/odd_order/PFsection10.v b/mathcomp/odd_order/PFsection10.v
index 11b3b20..03d8898 100644
--- a/mathcomp/odd_order/PFsection10.v
+++ b/mathcomp/odd_order/PFsection10.v
@@ -417,14 +417,14 @@ have al_ij_zeta_s: '[al_ij^\tau, zeta^*^\tau1] = a.
have M'dz: zeta - zeta^*%CF \in 'Z[calS, M'^#] by apply: seqInd_sub_aut_zchar.
rewrite Dtau1 // Dade_isometry ?alpha_on ?tauM' //.
rewrite cfdotBr opprB cfdotBl cfdot_conjCr rmorphB linearZ /=.
- rewrite -!prTIirr_aut !cfdotBl !cfdotZl !o_mu2_zeta o_zeta_s !mulr0.
+ rewrite -!prTIirr_aut !cfdotBl !cfdotZl !o_mu2_zeta o_zeta_s !mulr0.
by rewrite opprB !(subr0, rmorph0) add0r irrWnorm ?mulr1.
have Zal_ij: al_ij^\tau \in 'Z[irr G] by apply: Zalpha_tau.
have Za: a \in Cint.
by rewrite rpredD ?(Cint_Cnat Nn) ?Cint_cfdot_vchar ?Ztau1 ?(mem_zchar Szeta).
have{al_ij_zeta_s} ub_da2: (d ^ 2)%:R * a ^+ 2 <= (2%:R + n ^+ 2) * w1%:R.
have [k nz_k j'k]: exists2 k, k != 0 & k != j.
- have:= w2gt2; rewrite -nirrW2 (cardD1 0) (cardD1 j) !inE nz_j !ltnS lt0n.
+ have:= w2gt2; rewrite -nirrW2 (cardD1 0) (cardD1 j) !inE nz_j !ltnS lt0n.
by case/pred0Pn=> k /and3P[]; exists k.
have muk_1: mu_ k 1%g = (d * w1)%:R.
by rewrite (prTIred_1 pddM) mu1 // mulrC -natrM.
@@ -437,7 +437,7 @@ have{al_ij_zeta_s} ub_da2: (d ^ 2)%:R * a ^+ 2 <= (2%:R + n ^+ 2) * w1%:R.
by rewrite 2![_ == k](negPf _) 1?eq_sym // mulr0 -mulrN opprB !subr0 add0r.
have ZSmuk: mu_ k \in 'Z[calS] by rewrite mem_zchar ?calSmu.
have <-: '[al_ij^\tau] * '[(mu_ k)^\tau1] = (2%:R + n ^+ 2) * w1%:R.
- by rewrite Itau1 // cfdot_prTIred eqxx mul1n norm_alpha.
+ by rewrite Itau1 // cfdot_prTIred eqxx mul1n norm_alpha.
by rewrite -Cint_normK ?cfCauchySchwarz // Cint_cfdot_vchar // Ztau1.
suffices a0 : a = 0.
by apply: (def_tau_alpha _ sSS0); rewrite // -sub0r -a0 addrK.
@@ -1087,7 +1087,7 @@ have Dalpha i (al_ij := alpha_ i j) :
by rewrite -mulrA !mulr_natl; case: (S1) => // in S1zeta lb_n2alij *.
have{ub_a2} ub_8a2: 8%:R * a ^+ 2 <= 4%:R * a + 2%:R.
rewrite mulrAC Dn -natrM in ub_a2; apply: ler_trans ub_a2.
- rewrite -Cint_normK // ler_wpmul2r ?exprn_ge0 ?normr_ge0 // leC_nat szS1.
+ rewrite -Cint_normK // ler_wpmul2r ?exprn_ge0 ?normr_ge0 // leC_nat szS1.
rewrite (subn_sqr p 1) def_p_w1 subnK ?muln_gt0 // mulnA mulnK // mulnC.
by rewrite -subnDA -(mulnBr 2 _ 1%N) mulnA (@leq_pmul2l 4 2) ?ltn_subRL.
have Z_4a1: 4%:R * a - 1%:R \in Cint by rewrite rpredB ?rpredM ?rpred_nat.
diff --git a/mathcomp/odd_order/PFsection11.v b/mathcomp/odd_order/PFsection11.v
index c37633f..3635618 100644
--- a/mathcomp/odd_order/PFsection11.v
+++ b/mathcomp/odd_order/PFsection11.v
@@ -151,7 +151,7 @@ by rewrite Frobenius_coprime_quotient ?gFnormal //; split=> // _ /prHUW1->.
Qed.
Let defHC : H \x C = HC.
-Proof.
+Proof.
by have [defHC _ _ _] := typeP_context MtypeP; rewrite /= (dprodWY defHC).
Qed.
@@ -233,7 +233,7 @@ Lemma bounded_proper_coherent H1 :
Proof.
move=> nsH1_M psH1_M' cohH1; have [nsHHU _ _ _ _] := sdprod_context defHU.
suffices: #|HU : H1|%:R - 1 <= 2%:R * #|M : HC|%:R * sqrtC #|HC : HC|%:R :> algC.
- rewrite indexgg sqrtC1 mulr1 -leC_nat natrD -ler_subl_addr -mulnA natrM.
+ rewrite indexgg sqrtC1 mulr1 -leC_nat natrD -ler_subl_addr -mulnA natrM.
congr (_ <= _ * _%:R); apply/eqP; rewrite -(eqn_pmul2l (cardG_gt0 HC)).
rewrite Lagrange ?normal_sub // mulnCA -(dprod_card defHC) -mulnA mulnC.
by rewrite Lagrange ?subsetIl // (sdprod_card defHU) (sdprod_card defM).
@@ -281,7 +281,7 @@ Local Notation defM'' := FTtype34_der2.
(* This is Peterfalvi (11.6). *)
Lemma FTtype34_facts (H' := H^`(1)%g):
- [/\ p.-group H, U \subset 'C(H0), H0 :=: H' & C :=: U'].
+ [/\ p.-group H, U \subset 'C(H0), H0 :=: H' & C :=: U'].
Proof.
have nilH: nilpotent H := Fcore_nil M.
have /sdprod_context[/andP[_ nHM] sUW1M _ _ _] := Ptype_Fcore_sdprod MtypeP.
@@ -323,7 +323,7 @@ have{coH_UW1} defH0: H0 :=: H'.
by have [_ _ _ <-] := dprodP defHUhat; rewrite setIC setIS ?der_sub.
have coHUhat: coprime #|Hhat| #|Uhat|.
by rewrite coprime_morph ?(coprimegS _ coH_UW1) ?joing_subl.
- have defHhat: 'C_Hhat(Uhat) \x [~: Hhat, Uhat] = Hhat.
+ have defHhat: 'C_Hhat(Uhat) \x [~: Hhat, Uhat] = Hhat.
by rewrite dprodC coprime_abelian_cent_dprod ?der_abelian ?quotient_norms.
rewrite /HUhat -(sdprodWY defHU) quotientY //= -(dprodWY defHhat).
have [_ _ cCRhat tiCRhat] := dprodP defHhat.
@@ -342,7 +342,7 @@ have /subsetIP[sRH cUR]: R \subset 'C_H(U).
rewrite (card_Hall (setI_normal_Hall _ hallR _)) ?subsetIl ?gFnormal //.
rewrite partnM ?expn_gt0 ?cardG_gt0 //= part_p'nat ?mul1n ?pnatNK //.
by rewrite pnat_exp ?pnat_id.
-suffices: ~~ (R^`(1)%g \proper R) by apply: contraNeq (sol_der1_proper solH _).
+suffices: ~~ (R^`(1)%g \proper R) by apply: contraNeq (sol_der1_proper solH _).
have /setIidPr {2}<-: R \subset HU^`(1)%g.
by rewrite [HU^`(1)%g]defM'' -(dprodWY defHC) sub_gen ?subsetU ?sRH.
suffices defRHpU: R \x ('O_p(H) <*> U) = HU.
@@ -521,7 +521,7 @@ have{oDx12} phi_w12 ubar: ubar \in Ubar -> (phi_ w1 ubar * phi_ w2 ubar = 1)%g.
apply; apply/rcoset_kercosetP; rewrite ?groupX ?nH0H //.
by rewrite morphX ?morphJ ?(nH0W1 w) // ?nH0H //= -Dubar -Dxbar xbarJ.
rewrite -eq_expg_mod_order -{1}Dsym expgM expgVn ?(DXn, Dsym) ?Hx_ //.
- rewrite /D -!morphR ?nQH ?Hx_ // -conjRg (conjg_fixP _) //.
+ rewrite /D -!morphR ?nQH ?Hx_ // -conjRg (conjg_fixP _) //.
by apply/commgP/esym/(centsP cH0U); rewrite ?memH0 ?Hx_.
pose wbar := bar (w1 * w2 ^-1)%g; pose W1bar := (W1 / H0)%g.
have W1wbar: wbar \in W1bar by rewrite mem_quotient ?groupM ?groupV.
@@ -646,7 +646,7 @@ Qed.
Let Zbridge0 : {in S1, forall zeta, bridge0 zeta \in 'Z[irr M, HU^#]}.
Proof.
have mu0_1: mu_ 0 1%g = q%:R by rewrite prTIred_1 prTIirr0_1 mulr1.
-move=> zeta S1zeta; rewrite /= zcharD1 !cfunE subr_eq0 mu0_1 S1_1 // eqxx.
+move=> zeta S1zeta; rewrite /= zcharD1 !cfunE subr_eq0 mu0_1 S1_1 // eqxx.
by rewrite rpredB ?(seqInd_vchar _ (Tmu 0)) ?(seqInd_vchar _ S1zeta).
Qed.
@@ -654,7 +654,7 @@ Let A0bridge0 : {in S1, forall zeta, bridge0 zeta \in 'CF(M, 'A0(M))}.
Proof. by move=> zeta /Zbridge0/zchar_on/cfun_onS->. Qed.
Let sS1S2' : {subset S1 <= [predC S2]}.
-Proof.
+Proof.
by move=> _ /seqIndP[s /setDP[kHCs _] ->]; rewrite !inE mem_seqInd // inE kHCs.
Qed.
@@ -771,7 +771,7 @@ without loss Dpsi: tau1 coh_tau1 @zeta1 / psi = eta_col 0 - zeta1.
rewrite Dade_vchar // zchar_split A0bridge0 //.
by rewrite rpredB ?char_vchar ?prTIred_char ?irrWchar.
apply: (addrI q%:R); transitivity '[psi]; last first.
- rewrite Dade_isometry ?A0bridge0 // (cfnormBd (omuS1 _ _)) //.
+ rewrite Dade_isometry ?A0bridge0 // (cfnormBd (omuS1 _ _)) //.
by rewrite cfnorm_prTIred n1S1.
rewrite Dpsi [RHS]cfnormDd; last first.
rewrite opprB cfdotC cfdot_sumr big1 ?conjC0 // => i _.
@@ -827,7 +827,7 @@ have Rbeta: cfReal beta.
rewrite /cfReal eq_sym -subr_eq0 rmorphD !rmorphB /= opprB 2!opprD opprB -/j.
rewrite 2![(eta_ 0 _)^*%CF]cfAut_cycTIiso -!cycTIirr_aut !aut_Iirr0 -Dade_aut.
set k := aut_Iirr conjC j; rewrite -(betaE 0 k) ?aut_Iirr_eq0 // addrACA.
- rewrite addrC addr_eq0 addrCA subrK opprD opprK Dn raddfZnat -!raddfB /= -Dn.
+ rewrite addrC addr_eq0 addrCA subrK opprD opprK Dn raddfZnat -!raddfB /= -Dn.
apply/eqP; rewrite (cfConjC_Dade_coherent coh_tau1) ?mFT_odd // -raddfB.
rewrite Dtau1 ?Zzeta_S1 ?cfAut_seqInd //= -linearZ scalerBr; congr (tau _).
rewrite opprD !rmorphB !deltaZ /= -!prTIirr_aut !aut_Iirr0 addrACA subrr.
@@ -955,7 +955,7 @@ without loss tau2muj: tau2 coh_tau2 / tau2 (mu_ j) = eta_col j; last first.
by case; apply/seqIndS/Iirr_kerDS; rewrite ?joing_subr.
by rewrite !mem_seqInd // inE orbC inE kCi k'HUi andbT orbN.
move: tau_theta; rewrite -tau2muj // -raddfZnat.
- apply: (bridge_coherent scohM) sS20 coh_tau2 sS10 coh_tau1 sS1S2' _.
+ apply: (bridge_coherent scohM) sS20 coh_tau2 sS10 coh_tau1 sS1S2' _.
by rewrite (cfun_onS _ HUtheta) ?setSD // rpredZnat ?Z_S1.
move=> IHtau2; apply: (IHtau2 tau2 coh_tau2); have [IZtau2 Dtau2] := coh_tau2.
have{IHtau2} /hasP[xi S2xi /=irr_xi]: has [mem irr M] S2.
diff --git a/mathcomp/odd_order/PFsection12.v b/mathcomp/odd_order/PFsection12.v
index fcc35bf..f605c0f 100644
--- a/mathcomp/odd_order/PFsection12.v
+++ b/mathcomp/odd_order/PFsection12.v
@@ -177,7 +177,7 @@ have nrS: ~~ has cfReal calS by apply: seqInd_notReal; rewrite ?mFT_odd.
have U_S: uniq calS by apply: seqInd_uniq.
have ccS: cfConjC_closed calS by apply: cfAut_seqInd.
have conjCS: cfConjC_subset calS (seqIndD H L H 1) by split.
-case: R1gen @R1 => /= R1 subc1.
+case: R1gen @R1 => /= R1 subc1.
have [[chi_char nrI ccI] tau_iso oI h1 hortho] := subc1.
pose R chi := flatten [seq R1 'chi_i | i in S_ chi].
have memI phi i: phi \in calS -> i \in S_ phi -> 'chi_i \in calI.
@@ -261,13 +261,13 @@ move=> notL1G_L2; without loss{notL1G_L2} disjointA1A:
case: (Rgen _ _) @R1 => /= R1; set R1' := sval _ => [[subcoh1 hR1' defR1]].
case: (Rgen _ _) @R2 => /= R2; set R2' := sval _ => [[subcoh2 hR2' defR2]].
pose tau1 := FT_Dade maxL1; pose tau2 := FT_Dade maxL2.
-move=> chi1 chi2 calS1_chi1 calS2_chi2.
+move=> chi1 chi2 calS1_chi1 calS2_chi2.
have [_ _ _ /(_ chi1 calS1_chi1)[Z_R1 o1R1 dtau1_chi1] _] := subcoh1.
have{o1R1} [uR1 oR1] := orthonormalP o1R1.
apply/orthogonalP=> a b R1a R2b; pose psi2 := tau2 (chi2 - chi2^*%CF).
have Z1a: a \in dirr G by rewrite dirrE Z_R1 //= oR1 ?eqxx.
suffices{b R2b}: '[a, psi2] == 0.
- apply: contraTeq => nz_ab; rewrite /psi2 /tau2.
+ apply: contraTeq => nz_ab; rewrite /psi2 /tau2.
have [_ _ _ /(_ chi2 calS2_chi2)[Z_R2 o1R2 ->] _] := subcoh2.
suffices [e ->]: {e | a = if e then - b else b}.
rewrite -scaler_sign cfdotC cfdotZr -cfdotZl scaler_sumr.
@@ -338,7 +338,7 @@ Let S_ (chi : 'CF(L)) := [set i in irr_constt chi].
Lemma FTtype1_ortho_constant (psi : 'CF(G)) x :
{in calS, forall phi, orthogonal psi (R phi)} -> x \in L :\: H ->
{in x *: H, forall y, psi y = psi x}%g.
-Proof.
+Proof.
move=> opsiR /setDP[Lx H'x]; pose Rpsi := 'Res[L] psi.
have nsHL: H <| L := gFnormal _ _; have [sHL _] := andP nsHL.
have [U [[[_ _ sdHU] [U1 inertU1] _] _]] := FTtypeP 1 maxL Ltype1.
@@ -385,7 +385,7 @@ have {supp12B} oResD xi i1 i2 : xi \in calS -> i1 \in S_ xi -> i2 \in S_ xi ->
apply/eqP; rewrite -subr_eq0; have := supp12B w; rewrite !cfunE => -> //.
by rewrite tADH in_set0.
have{nzAH} tiH: normedTI ('A(L) :\: H^#) G L by rewrite -A1Hdef TIsub ?A1Hdef.
- have{supp12B} supp12B : 'chi_i1 - 'chi_i2 \in 'CF(L, 'A(L) :\: H^#).
+ have{supp12B} supp12B : 'chi_i1 - 'chi_i2 \in 'CF(L, 'A(L) :\: H^#).
by apply/cfun_onP; apply: supp12B.
have [_ /subsetIP[_ nAHL] _] := normedTI_P tiH.
pose tau1 := restr_Dade ddL (subsetDl _ _) nAHL.
@@ -412,7 +412,7 @@ move=> _ /lcosetP[h Hh ->] /=; rewrite (cfun_sum_cfdot Rpsi).
pose calX := Iirr_kerD L H 1%g; rewrite (bigID (mem calX) xpredT) /= !cfunE.
set sumX := \sum_(i in _) _; suffices HsumX: sumX \in 'CF(L, H).
rewrite !(cfun_on0 HsumX) ?groupMr // !sum_cfunE.
- rewrite !add0r; apply: eq_bigr => i;rewrite !inE sub1G andbT negbK => kerHi.
+ rewrite !add0r; apply: eq_bigr => i; rewrite !inE sub1G andbT negbK => kerHi.
by rewrite !cfunE cfkerMr ?(subsetP kerHi).
rewrite [sumX](set_partition_big _ (FTtype1_irr_partition L)) /=.
apply: rpred_sum => A; rewrite inE => /mapP[xi calS_xi defA].
@@ -456,7 +456,7 @@ have tiP: trivIset P.
case: ifP (cfclass_Ind_cases i1 i2 nsH'H) => _; first by rewrite /P_ => ->.
have NiH i: 'Ind[H,H'] 'chi_i \is a character by rewrite cfInd_char ?irr_char.
case/(constt_ortho_char (NiH i1) (NiH i2) i1Hj i2Hj)/eqP/idPn.
- by rewrite cfnorm_irr oner_eq0.
+ by rewrite cfnorm_irr oner_eq0.
have coverP: cover P =i predT.
move=> j; apply/bigcupP; have [i jH'i] := constt_cfRes_irr H' j.
by exists (P_ i); [apply: mem_imset | rewrite inE constt_Ind_Res].
@@ -524,7 +524,7 @@ have frobHU: [Frobenius L = H ><| U] := set_Frobenius_compl defL frobL.
have [R [scohS _ _]] := Rgen maxL Ltype1; rewrite -/calS -/tau in scohS.
have [tiH | [cHH _] | [expUdvH1 _]] := MtypeI.
- have /Sibley_coherence := And3 (mFT_odd L) nilH tiH.
- case/(_ U)=> [|tau1 [IZtau1 Dtau1]]; first by left.
+ case/(_ U)=> [|tau1 [IZtau1 Dtau1]]; first by left.
exists tau1; split=> // chi Schi; rewrite Dtau1 //.
by rewrite /tau Dade_Ind ?FTsupp_Frobenius ?(zcharD1_seqInd_on _ Schi).
- apply/(uniform_degree_coherence scohS)/(@all_pred1_constant _ #|L : H|%:R).
@@ -819,7 +819,7 @@ Let Ecyclic_le_p : cyclic E /\ (e %| p.-1) || (e %| p.+1).
Proof.
pose P := 'O_p(H)%G; pose T := 'Ohm_1('Z(P))%G.
have sylP: p.-Sylow(H) P := nilpotent_pcore_Hall p (Fcore_nil L).
-have [[sPH pP _] [sP0M pP0 _]] := (and3P sylP, and3P sylP0).
+have [[sPH pP _] [sP0M pP0 _]] := (and3P sylP, and3P sylP0).
have sP0P: P0 \subset P by rewrite (sub_normal_Hall sylP) ?pcore_normal.
have defP0: P :&: M = P0.
rewrite [P :&: M](sub_pHall sylP0 (pgroupS _ pP)) ?subsetIl ?subsetIr //.
@@ -861,7 +861,7 @@ have ffulE: mx_faithful rE by apply: abelem_mx_faithful.
have p'E: [char 'F_p]^'.-group E.
rewrite (eq_p'group _ (charf_eq (char_Fp pr_p))) (coprime_p'group _ pV) //.
by rewrite coprime_sym (coprimeSg sVH) ?(Frobenius_coprime frobHE).
-have dimV: 'dim V = 2 by rewrite (dim_abelemE abelV) // oV pfactorK.
+have dimV: 'dim V = 2 by rewrite (dim_abelemE abelV) // oV pfactorK.
have cEE: abelian E.
by rewrite dimV in (rE) ffulE; apply: charf'_GL2_abelian (mFT_odd E) ffulE _.
have Enonscalar y: y \in E -> y != 1%g -> ~~ is_scalar_mx (rE y).
@@ -986,7 +986,7 @@ have Sgt1: (1 < size calS)%N by apply: seqInd_nontrivial Schi; rewrite ?mFT_odd.
have De: #|L : H| = e by rewrite -(index_sdprod defL).
have [] := Dade_Ind1_sub_lin cohS_H Sgt1 irr_chi Schi; rewrite ?De //.
rewrite -/tauL_H -/calS -/psi /=; set alpha := 'Ind 1 - chi.
-case=> o_tau_1 tau_alpha_1 _ [Gamma [o_tau1_Ga _ [a Za tau_alpha] _] _].
+case=> o_tau_1 tau_alpha_1 _ [Gamma [o_tau1_Ga _ [a Za tau_alpha] _] _].
have [[Itau1 _] Dtau1] := cohS_H.
have o1calS: orthonormal calS.
by rewrite (sub_orthonormal irrS) ?seqInd_uniq ?irr_orthonormal.
@@ -1227,7 +1227,7 @@ have{lb_psiM lb_psiL ub_rhoML ubM} ubK: (#|K / K'|%g < 4)%N.
rewrite invfM invrK mulrC -(subrK #|K|%:R #|K'|%:R) mulrDl divff ?neq0CG //.
rewrite -opprB mulNr addrC ltr_subr_addl -ltr_subr_addr.
have /Frobenius_context[_ _ ntE _ _] := set_Frobenius_compl defL frobL.
- have egt2: (2 < e)%N by rewrite odd_geq ?mFT_odd ?cardG_gt1.
+ have egt2: (2 < e)%N by rewrite odd_geq ?mFT_odd ?cardG_gt1.
have e1_gt0: 0 < e.-1%:R :> algC by rewrite ltr0n -(subnKC egt2).
apply: ltr_le_trans (_ : e%:R / e.-1%:R ^+ 2 <= _).
rewrite ltr_pdivl_mulr ?exprn_gt0 //.
@@ -1254,7 +1254,7 @@ have [/sdprodP[_ _ nKU0 tiKU0] ntK _ _ _] := Frobenius_context frobU0.
have nK'U0: U0 \subset 'N(K') by apply: gFnorm_trans.
have frobU0K': [Frobenius K <*> U0 / K' = (K / K') ><| (U0 / K')]%g.
have solK: solvable K by rewrite ?nilpotent_sol ?Fcore_nil.
- rewrite Frobenius_proper_quotient ?(sol_der1_proper solK) // /(_ <| _).
+ rewrite Frobenius_proper_quotient ?(sol_der1_proper solK) // /(_ <| _).
by rewrite (subset_trans (der_sub 1 _)) ?joing_subl // join_subG gFnorm.
have isoU0: U0 \isog U0 / K'.
by rewrite quotient_isog //; apply/trivgP; rewrite -tiKU0 setSI ?gFsub.
diff --git a/mathcomp/odd_order/PFsection13.v b/mathcomp/odd_order/PFsection13.v
index 18e8606..339df0f 100644
--- a/mathcomp/odd_order/PFsection13.v
+++ b/mathcomp/odd_order/PFsection13.v
@@ -532,7 +532,7 @@ have Zalpha: alpha \in 'Z[irr H].
rewrite cfResInd_sum_cfclass ?reindex_cfclass -?cfnorm_Ind_irr //=.
rewrite scalerK ?cfnorm_eq0 ?cfInd_eq0 ?irr_neq0 ?irr_char ?gFsub //.
by apply: rpred_sum => i _; apply: irr_vchar.
-have{Da_ Za_} Za: a \in Cint by rewrite -[a]Da_ ?Za_ ?sS1H.
+have{Da_ Za_} Za: a \in Cint by rewrite -[a]Da_ ?Za_ ?sS1H.
exists alpha => //; split=> //.
set a1 := a / _ in Dchi; pose phi := a1 *: 'Res zeta1 + alpha.
transitivity (#|H|%:R * '[phi] - `|phi 1%g| ^+ 2).
@@ -738,7 +738,7 @@ have [tau1 cohS [b _ Dtau1]] := FTtypeP_coherence.
have Zeta01: eta01 \in 'Z[irr G] by rewrite cycTIiso_vchar.
pose j1 := signW2 b #1; pose d : algC := (-1) ^+ b; pose mu1 := mu_ j1.
have nzj1: j1 != 0 by [rewrite signW2_eq0 ?Iirr1_neq0]; have S1mu1 := S1mu nzj1.
-have o_mu_eta01 j: j != 0 -> '[tau1 (mu_ j), eta01] = d *+ (j == j1).
+have o_mu_eta01 j: j != 0 -> '[tau1 (mu_ j), eta01] = d *+ (j == j1).
move/Dtau1->; rewrite -/d cfdotZl cfdot_suml big_ord_recl /=.
rewrite cfdot_cycTIiso andTb (inv_eq (signW2K b)).
by rewrite big1 ?addr0 ?mulr_natr // => i _; rewrite cfdot_cycTIiso.
@@ -783,7 +783,7 @@ have{tau1muj} ->: tau1 lambda x = sum_eta1 x.
have Hmuj: mu_ j \in calH := Hmu nz_j.
have dmu1: (lambda - mu_ j) 1%g == 0 by rewrite !cfunE !calHuq ?subrr.
have H1dmu: lambda - mu_ j \in 'CF(S, H^#).
- by rewrite cfun_onD1 rpredB ?((seqInd_on (gFnormal _ _)) setT).
+ by rewrite cfun_onD1 rpredB ?((seqInd_on (gFnormal _ _)) setT).
have [_ ->] := cohS; last first.
by rewrite zcharD1E ?rpredB ?mem_zchar ?FTseqInd_TIred /=.
have A0dmu := cfun_onS (Fitting_sub_FTsupp0 maxS) H1dmu.
@@ -968,8 +968,8 @@ Section Thirteen_10_to_13_15.
Variable lambda : 'CF(S).
Hypotheses (Slam : lambda \in calS) (irrHlam : irrIndH lambda).
-Let Hlam : lambda \in calH. Proof. by have [] := andP irrHlam. Qed.
-Let Ilam : lambda \in irr S. Proof. by have [] := andP irrHlam. Qed.
+Let Hlam : lambda \in calH. Proof. by have [] := andP irrHlam. Qed.
+Let Ilam : lambda \in irr S. Proof. by have [] := andP irrHlam. Qed.
Let c := #|C|.
Let u := #|U : C|.
@@ -1045,7 +1045,7 @@ have Kdtheta xi:
by rewrite cfInd_on ?subsetT.
have oHK alpha beta:
alpha \in 'CF(G, HG) -> beta \in 'CF(G, KG) -> '[alpha, beta] = 0.
-- by move=> Halpha Kbeta; rewrite (cfdotElr Halpha Kbeta) tiHK big_set0 mulr0.
+- by move=> Halpha Kbeta; rewrite (cfdotElr Halpha Kbeta) tiHK big_set0 mulr0.
have o_lambda_theta: '[tau1S lambda, tau1T theta] = 0.
pose S1 := lambda :: lambda^*%CF; pose T1 := theta :: theta^*%CF.
have sS1S: {subset S1 <= calS} by apply/allP; rewrite /= Slam cfAut_seqInd.
@@ -1118,7 +1118,7 @@ have{meanTI} meanG f :
have{type24} tiK: normedTI K^# G T by have/type24[] := TtypeP.
move=> fJ; rewrite -!meanTI // {1}/mean (big_setD1 1%g) // (big_setID H1G) /=.
rewrite [in rhs in _ + (_ + rhs)](big_setID K1G) /= -/g -!mulrDl !addrA.
- congr ((_ + _ + _ + _) / g); rewrite ?(setIidPr _) // /H1G /K1G.
+ congr ((_ + _ + _ + _) / g); rewrite ?(setIidPr _) // /H1G /K1G.
+ by rewrite class_supportEr -cover_imset -class_supportD1 setSD ?subsetT.
+ rewrite subsetD -setI_eq0 setIC tiHK eqxx andbT.
by rewrite class_supportEr -cover_imset -class_supportD1 setSD ?subsetT.
@@ -1126,7 +1126,7 @@ have{meanTI} meanG f :
apply: eq_bigl => x; rewrite !inE andbT -!negb_or orbCA orbA orbC.
by case: (x =P 1%g) => //= ->; rewrite mem_class_support ?group1.
have lam1_ub: mean G0 G (nm2 lam1) <= lambda 1%g ^+ 2 / #|S|%:R - g^-1.
- have [[Itau1 Ztau1] _] := cohS.
+ have [[Itau1 Ztau1] _] := cohS.
have{Itau1} n1lam1: '[lam1] = 1 by rewrite Itau1 ?mem_zchar ?irrWnorm.
have{Ztau1} Zlam1: lam1 \in 'Z[irr G] by rewrite Ztau1 ?mem_zchar.
rewrite -ler_opp2 opprB -(ler_add2l '[lam1]) {1}n1lam1 addrCA.
@@ -1452,7 +1452,7 @@ Lemma FTtypeP_primes_mod_cases :
& p != 1 %[mod q] ->
[/\ coprime ustar p.-1, ustar == 1 %[mod q]
& forall b, b %| ustar -> b == 1 %[mod q]]].
-Proof.
+Proof.
have ustar_mod r: p = 1 %[mod r] -> ustar = q %[mod r].
move=> pr1; rewrite -[q]card_ord -sum1_card /ustar predn_exp //.
rewrite -(subnKC pgt2) mulKn // subnKC //.
@@ -1510,7 +1510,7 @@ have b_odd: odd b by rewrite Dbu odd_mul mFT_odd andbT in ustar_odd.
case: ifPn => [/p1_q q_dv_ustar | /p'1_q[_ _ /(_ b)]].
have /dvdnP[c Db]: q %| b.
rewrite Dbu Gauss_dvdl // coprime_sym in q_dv_ustar.
- by apply: coprimeSg coPUq; have /mulG_sub[_ sUPU] := sdprodW defPU.
+ by apply: coprimeSg coPUq; have /mulG_sub[_ sUPU] := sdprodW defPU.
have c_odd: odd c by rewrite Db odd_mul mFT_odd andbT in b_odd.
suffices /eqP c1: c == 1%N by rewrite Dbu Db c1 mul1n mulKn ?prime_gt0.
rewrite eqn_leq odd_gt0 // andbT -ltnS -(odd_ltn 3) // ltnS.
@@ -1820,7 +1820,7 @@ have Dgamma: 'Ind[S, P <*> W1] 1 = (gamma %% P)%CF.
by rewrite quotientYidl //; have [] := sdprodP defPW1.
have gamma1: gamma 1%g = u%:R.
rewrite -cfMod1 -Dgamma cfInd1 // cfun11 -divgS // -(sdprod_card defPW1).
- by rewrite mulr1 -(sdprod_card defS) -(sdprod_card defPU) divnMr // mulKn.
+ by rewrite mulr1 -(sdprod_card defS) -(sdprod_card defPU) divnMr // mulKn.
have frobUW1: [Frobenius U <*> W1 = U ><| W1] by have [[]] := Sfacts.
have q_dv_u1: q %| u.-1 := Frobenius_dvd_ker1 frobUW1.
have [nP_UW1 /isomP[/=]] := sdprod_isom defS_P; set h := restrm _ _ => injh hS.
@@ -2041,7 +2041,7 @@ have ZsubL psi: psi \in calL -> psi - psi^*%CF \in 'Z[calL, L^#].
have mem_eta j: eta_ 0 j \in map sigma (irr W) by rewrite map_f ?mem_irr.
have otau1eta: orthogonal (map tau1 calL) (map sigma (irr W)).
apply/orthogonalP=> _ _ /mapP[psi Lpsi ->] /mapP[w irr_w ->].
- have{w irr_w} [i [j ->]] := cycTIirrP defW irr_w; rewrite -/(w_ i j).
+ have{w irr_w} [i [j ->]] := cycTIirrP defW irr_w; rewrite -/(w_ i j).
pose Psi := tau1 (psi - psi^*%CF); pose NC := cyclicTI_NC ctiWG.
have [[Itau1 Ztau1] Dtau1] := cohL.
have Lpsis: psi^*%CF \in calL by rewrite cfAut_seqInd.
@@ -2114,7 +2114,7 @@ have{Gamma_even} odd_bSphi_bLeta: (bSphi + bLeta == 1 %[mod 2])%C.
rewrite 2!cfdotDl 2!['[_, eta01]]cfdotDl 2!['[_, Gamma]]cfdotDl !cfdotNl.
rewrite cfnorm1 o_GaL_1 ['[1, Gamma]]cfdotC Ga1 conjC0 addr0 add0r.
have ->: 1 = eta_ 0 0 by rewrite /w_ cycTIirr00 cycTIiso1.
- rewrite cfdot_cycTIiso mulrb ifN_eqC ?Iirr1_neq0 // add0r.
+ rewrite cfdot_cycTIiso mulrb ifN_eqC ?Iirr1_neq0 // add0r.
rewrite 2?(orthogonalP otau1eta _ _ (map_f _ _) (mem_eta _)) // oppr0 !add0r.
by rewrite addr0 addrA addrC addr_eq0 !opprB addrA /eqCmod => /eqP <-.
have abs_mod2 a: a \in Cint -> {b : bool | a == b%:R %[mod 2]}%C.
diff --git a/mathcomp/odd_order/PFsection14.v b/mathcomp/odd_order/PFsection14.v
index bed35bc..1b8a531 100644
--- a/mathcomp/odd_order/PFsection14.v
+++ b/mathcomp/odd_order/PFsection14.v
@@ -231,7 +231,7 @@ have lb_b ij (b_ij := b (sigma 'chi_ij)):
1 <= `|b_ij| ^+ 2 ?= iff [exists n : bool, b_ij == (-1) ^+ n].
- have /codomP[[i j] Dij] := dprod_Iirr_onto defW ij.
have{b_ij} ->: b_ij = a i j.
- rewrite /a /w_ -Dij Dbeta defGa 2!cfdotDl.
+ rewrite /a /w_ -Dij Dbeta defGa 2!cfdotDl.
have ->: '[X, sigma 'chi_ij] = b_ij by rewrite /b_ij Db.
by rewrite (orthoPl oYeta) ?(orthoPl oZeta) ?map_f ?mem_irr // !addr0.
have Zaij: a i j \in Cint by rewrite Cint_cfdot_vchar ?cycTIiso_vchar.
@@ -282,7 +282,7 @@ suffices /cfdot_add_dirr_eq1: '[tau1L phi - tau1L phi^*%CF, chi] = 1.
rewrite cfdotBr (span_orthogonal o_tauLeta) ?add0r //; last first.
by rewrite rpredB ?memv_span ?map_f ?cfAut_seqInd.
have Zdphi := seqInd_sub_aut_zchar nsHL conjC Lphi.
-rewrite -raddfB Dtau1 ?zcharD1_seqInd // Dade_isometry ?(zchar_on Zdphi) //.
+rewrite -raddfB Dtau1 ?zcharD1_seqInd // Dade_isometry ?(zchar_on Zdphi) //.
rewrite cfdotBr !cfdotBl cfdot_conjCl cfAutInd rmorph1 irrWnorm //.
rewrite (seqInd_ortho_Ind1 _ _ Lphi) // conjC0 subrr add0r opprK.
by rewrite cfdot_conjCl (seqInd_conjC_ortho _ _ _ Lphi) ?mFT_odd ?conjC0 ?subr0.
@@ -596,7 +596,7 @@ have /exists_inP[x /setD1P[ntx R0x] ntCPx]: [exists x in R0^#, 'C_P[x] != 1%g].
by rewrite gen_subG; apply/bigcupsP=> x /(eqfun_inP regR0P)->.
have{x ntx R0x ntCPx} sZR_R0: 'Z(R) \subset R0.
have A0x: x \in 'A0(S).
- have [z /setIP[Pz cyz] ntz] := trivgPn _ ntCPx.
+ have [z /setIP[Pz cyz] ntz] := trivgPn _ ntCPx.
apply/setUP; left; apply/bigcupP; exists z.
by rewrite !inE ntz (subsetP (Fcore_sub_FTcore maxS)).
by rewrite (eqP Stype2) 3!inE ntx cent1C (subsetP sUPU) ?(subsetP sR0U).
@@ -798,7 +798,7 @@ have nzT1_Ga zeta: zeta \in calT1 -> `|'[Gamma, tau1T zeta]| ^+ 2 >= 1.
have A0betaT0: betaT0 \in 'CF(T, 'A0(T)).
by rewrite (cfun_onS (FTsupp1_sub0 _)) // /'A1(T) ?FTcore_eq_der1.
have ZbetaT0: betaT0 \in 'Z[irr T].
- by rewrite rpredB ?char_vchar ?(seqInd_char T1zeta) ?prTIred_char.
+ by rewrite rpredB ?char_vchar ?(seqInd_char T1zeta) ?prTIred_char.
pose Delta := tauT betaT0 - 1 + tau1T zeta.
have nz_i1: #1 != 0 := Iirr1_neq0 ntW2.
rewrite -(canLR (addKr _) (erefl Delta)) opprB cfdotDr cfdotBr oGa1 add0r.
diff --git a/mathcomp/odd_order/PFsection2.v b/mathcomp/odd_order/PFsection2.v
index f92bb16..c982642 100644
--- a/mathcomp/odd_order/PFsection2.v
+++ b/mathcomp/odd_order/PFsection2.v
@@ -315,7 +315,7 @@ Section AutomorphismCFun.
Variable u : {rmorphism algC -> algC}.
Local Notation "alpha ^u" := (cfAut u alpha).
-Lemma Dade_aut alpha : (alpha^u)^\tau = (alpha^\tau)^u.
+Lemma Dade_aut alpha : (alpha^u)^\tau = (alpha^\tau)^u.
Proof.
apply/cfunP => g; rewrite cfunE.
have [/bigcupP[a Aa A1g] | notAtau_g] := boolP (g \in Atau).
@@ -325,7 +325,7 @@ Qed.
End AutomorphismCFun.
-Lemma Dade_conjC alpha : (alpha^*)^\tau = ((alpha^\tau)^*)%CF.
+Lemma Dade_conjC alpha : (alpha^*)^\tau = ((alpha^\tau)^*)%CF.
Proof. exact: Dade_aut. Qed.
(* This is Peterfalvi (2.7), main part *)
@@ -344,7 +344,7 @@ have dd1_id: {in A, forall a, dd1 (repr (a ^: L)) = dd1 a}.
by move=> a Aa /=; have [x Lx ->] := repr_class L a; apply: Dade_support1_id.
have ->: Atau = cover P_G.
apply/setP=> u; apply/bigcupP/bigcupP=> [[a Aa Fa_u] | [Fa]]; last first.
- by case/imsetP=> a /sTA Aa -> Fa_u; exists a.
+ by case/imsetP=> a /sTA Aa -> Fa_u; exists a.
by exists (dd1 a) => //; rewrite -dd1_id //; do 2!apply: mem_imset.
have [tiP_G inj_dd1]: trivIset P_G /\ {in T &, injective dd1}.
apply: trivIimset => [_ _ /imsetP[a Aa ->] /imsetP[b Ab ->] |]; last first.
@@ -507,7 +507,7 @@ have defMBx: 'M(B :^ x) = 'M(B) :^ x.
have def_aa_x y: 'aa_(B :^ x) (y ^ x) = 'aa_B y.
rewrite !rDadeE // defMBx memJ_conjg !mulrb -mulHNB defHBx defNBx.
have [[h z Hh Nz ->] | // ] := mulsgP.
- by rewrite conjMg !remgrMid ?cfunJ ?memJ_conjg // -conjIg tiHNB conjs1g.
+ by rewrite conjMg !remgrMid ?cfunJ ?memJ_conjg // -conjIg tiHNB conjs1g.
apply/cfunP=> y; have Gx := subsetP sLG x Lx.
rewrite [eq]lock !cfIndE ?sMG //= {1}defMBx cardJg -lock; congr (_ * _).
rewrite (reindex_astabs 'R x) ?astabsR //=.
@@ -542,7 +542,7 @@ Proof.
move=> dB; set LHS := 'Ind _ g.
have defMB := Dade_set_sdprod dB; have [_ mulHNB nHNB tiHNB] := sdprodP defMB.
have [sHMB sNMB] := mulG_sub mulHNB.
-have{LHS} ->: LHS = #|'M(B)|%:R^-1 * \sum_(x in calA g 'M(B)) 'aa_B (g ^ x).
+have{LHS} ->: LHS = #|'M(B)|%:R^-1 * \sum_(x in calA g 'M(B)) 'aa_B (g ^ x).
rewrite {}/LHS cfIndE ?sMG //; congr (_ * _).
rewrite (bigID [pred x | g ^ x \in 'M(B)]) /= addrC big1 ?add0r => [|x].
by apply: eq_bigl => x; rewrite inE.
@@ -551,7 +551,7 @@ pose fBg x := remgr 'H(B) 'N_L(B) (g ^ x).
pose supp_aBg := [pred b in A | g \in dd1 b].
have supp_aBgP: {in calA g 'M(B), forall x,
~~ supp_aBg (fBg x) -> 'aa_B (g ^ x)%g = 0}.
-- move=> x /setIdP[]; set b := fBg x => Gx MBgx notHGx; rewrite rDadeE // MBgx.
+- move=> x /setIdP[]; set b := fBg x => Gx MBgx notHGx; rewrite rDadeE // MBgx.
have Nb: b \in 'N_L(B) by rewrite mem_remgr ?mulHNB.
have Cb: b \in 'C_L[b] by rewrite inE cent1id; have [-> _] := setIP Nb.
rewrite (cfun_on0 CFaa) // -/(fBg x) -/b; apply: contra notHGx => Ab.
@@ -559,7 +559,7 @@ have supp_aBgP: {in calA g 'M(B), forall x,
have [sBA /set0Pn[a Ba]] := setIdP dB; have Aa := subsetP sBA a Ba.
have [|/= partHBb _] := partition_cent_rcoset nHb.
rewrite (coprime_dvdr (order_dvdG Cb)) //= ['H(B)](bigD1 a) //=.
- by rewrite (coprimeSg (subsetIl _ _)) ?coHL.
+ by rewrite (coprimeSg (subsetIl _ _)) ?coHL.
have Hb_gx: g ^ x \in 'H(B) :* b by rewrite mem_rcoset mem_divgr ?mulHNB.
have [defHBb _ _] := and3P partHBb; rewrite -(eqP defHBb) in Hb_gx.
case/bigcupP: Hb_gx => Cy; case/imsetP=> y HBy ->{Cy} Cby_gx.
@@ -571,7 +571,7 @@ have supp_aBgP: {in calA g 'M(B), forall x,
have [nsHb _ defCb _ _] := sdprod_context (defCA Ab).
have [hallHb _] := coprime_mulGp_Hall defCb (pi'H b) (piCL Ab).
rewrite (sub_normal_Hall hallHb) ?setSI // (pgroupS _ (pi'H a)) //=.
- by rewrite subIset ?sHBa.
+ by rewrite subIset ?sHBa.
split=> [notHGg | a Aa Hag].
rewrite big1 ?mulr0 // => x; move/supp_aBgP; apply; set b := fBg x.
by apply: contra notHGg; case/andP=> Ab Hb_x; apply/bigcupP; exists b.
@@ -697,7 +697,7 @@ have Ca: a \in 'C_L[a] by rewrite inE cent1id La.
have [|/= partHBa nbHBa] := partition_cent_rcoset nHa.
have [sBA] := setIdP dB; case/set0Pn=> b Bb; have Ab := subsetP sBA b Bb.
rewrite (coprime_dvdr (order_dvdG Ca)) //= ['H(B)](bigD1 b) //=.
- by rewrite (coprimeSg (subsetIl _ _)) ?coHL.
+ by rewrite (coprimeSg (subsetIl _ _)) ?coHL.
pose pHBa := mem ('H(B) :* a).
rewrite -sum1_card (partition_big (fun x => g ^ x) pHBa) /= => [|x]; last first.
by case/setIdP=> _ ->.
diff --git a/mathcomp/odd_order/PFsection3.v b/mathcomp/odd_order/PFsection3.v
index eb5ccf8..6bff279 100644
--- a/mathcomp/odd_order/PFsection3.v
+++ b/mathcomp/odd_order/PFsection3.v
@@ -715,7 +715,7 @@ Proof. by move=> sth21 Uth1 m /(sat_exact sth21)/Uth1. Qed.
Fact tr_Lmodel_subproof (m : model) : is_Lmodel (tr m) (fun ij => m (tr ij)).
Proof.
case: m => /= d f _ [[odd_d1 odd_d2 d1gt1 d2gt1 neq_d12] Zf fP] _.
-split=> // [|[j1 i1] [j2 i2]]; first by rewrite eq_sym.
+split=> // [|[j1 i1] [j2 i2]]; first by rewrite eq_sym.
by rewrite ![_ \in _]andbC /= => wf_ij1 wf_ij2; rewrite fP // /dot_ref mulnC.
Qed.
@@ -1079,7 +1079,7 @@ rewrite -[f in f _ kvs2]/(idfun _); set f := idfun _; rewrite /= in f *.
have [/= _ Ukvs2 kvsP] := satP m_th _ th_cl2.
move: Ukvs2; set kvs2' := kvs2; set mm := false.
have /allP: {subset kvs2' <= kvs2} by [].
-pose lit12 k := (k, 1) \in kvs1 /\ (k, 1) \in kvs2.
+pose lit12 k := (k, 1) \in kvs1 /\ (k, 1) \in kvs2.
have: mm -> {k | lit12 k & k \notin unzip1 kvs2'} by [].
elim: kvs2' mm => [|[k v2] kvs2' IH] //= mm mmP /andP[kvs2k /IH{IH}IHkvs].
case/andP=> kvs2'k /IHkvs{IHkvs}IHkvs; case: ifP => [_ | /norP[]].
@@ -1087,7 +1087,7 @@ case/andP=> kvs2'k /IHkvs{IHkvs}IHkvs; case: ifP => [_ | /norP[]].
have [v1 /= kvs1k | //] := get_litP; case: eqP => // -> in kvs2k * => _ nz_v1.
case Dbb: (th_bbox th) (th_bboxP (bbox_refl (th_bbox th))) => [ri rj] rijP.
have [/andP[/=lti1r ltj1r] /andP[/=lti2r _]] := (rijP _ th_cl1, rijP _ th_cl2).
-have rkP := th_dimP (leqnn _) _ th_cl1; have /= ltkr := rkP _ kvs1k.
+have rkP := th_dimP (leqnn _) _ th_cl1; have /= ltkr := rkP _ kvs1k.
have symP := unsat_match (Sym [:: i2; i1] [:: j1] _) _ _ m m_th.
rewrite /= Dbb lti1r lti2r ltj1r inE eq_sym neq_i /= in symP.
have [Dv1 | v1_neq1] /= := altP eqP; first rewrite Dv1 in kvs1k.
@@ -1156,7 +1156,7 @@ consider b42; uwlog Db42: (& b42 = x6 - x4 + x5).
by uhave -x2 in b42 as O(42, 31); symmetric to b42x4.
by uhave ~x1 in b42 as L(42, 41); uhave x5 in b42 as O(42, 21); uexact Db42.
uwlog Db32: (& ? in b32); first uexact Db32.
-uwlog Db41: (& ? in b41); first uexact Db41.
+uwlog Db41: (& ? in b41); first uexact Db41.
consider b12; uwlog b12x5: x5 | ~x5 in b12 as L(12, 42).
uhave ~x6 | x6 in b12 as L(12, 42); last by consider b22; symmetric to b12x5.
uhave -x4 in b12 as O(12, 42); uhave x1 in b12 as O(12, 21).
@@ -1521,7 +1521,7 @@ Lemma cycTI_NC_opp (phi : 'CF(G)) : (NC (- phi)%R = NC phi)%N.
Proof. by apply: eq_card=> [[i j]]; rewrite !inE cfdotNl oppr_eq0. Qed.
Lemma cycTI_NC_sign (phi : 'CF(G)) n : (NC ((-1) ^+ n *: phi)%R = NC phi)%N.
-Proof.
+Proof.
elim: n=> [|n IH]; rewrite ?(expr0,scale1r) //.
by rewrite exprS -scalerA scaleN1r cycTI_NC_opp.
Qed.
@@ -1561,7 +1561,7 @@ Qed.
Lemma cycTI_NC_sub n1 n2 phi1 phi2 :
(NC phi1 <= n1 -> NC phi2 <= n2 -> NC (phi1 - phi2)%R <= n1 + n2)%N.
-Proof. by move=> ub1 ub2; rewrite cycTI_NC_add ?cycTI_NC_opp. Qed.
+Proof. by move=> ub1 ub2; rewrite cycTI_NC_add ?cycTI_NC_opp. Qed.
Lemma cycTI_NC_scale_nz a phi : a != 0 -> NC (a *: phi) = NC phi.
Proof.
@@ -1660,7 +1660,7 @@ Lemma cycTI_NC_minn (phi : 'CF(G)) :
(minn w1 w2 <= NC phi)%N.
Proof.
move=> phiV_0 /andP[/card_gt0P[[i0 j0]]]; rewrite inE /= => nz_a0 ubNC.
-pose L := [seq (i0, j) | j : Iirr W2]; pose C := [seq (i, j0) | i : Iirr W1].
+pose L := [seq (i0, j) | j : Iirr W2]; pose C := [seq (i, j0) | i : Iirr W1].
have [oL oC]: #|L| = w2 /\ #|C| = w1 by rewrite !card_image // => i j [].
have [Da | Da] := small_cycTI_NC phiV_0 ubNC nz_a0.
rewrite geq_min -oC subset_leq_card //.
@@ -1726,7 +1726,7 @@ have NCk2'_le1 (dI : {set _}):
- rewrite (cardsD1 dk2) => -> /eqP/cards1P[dk ->].
by rewrite big_set1 cycTI_NC_dirr ?dirr_dchi.
suffices /psi_phi'_lt0/ltr_geF/idP[]: dk2 \in Irho :\: Iphi.
- rewrite rhoIdE cfdotZr signrN rmorphN mulNr oppr_ge0 rmorph_sign.
+ rewrite rhoIdE cfdotZr signrN rmorphN mulNr oppr_ge0 rmorph_sign.
have := small_cycTI_NC psiV0 NCpsi psi_k1_neq0.
by case=> // ->; rewrite mulrCA nmulr_lle0 ?ler0n.
have: (1 + 1 < NC psi)%N.
diff --git a/mathcomp/odd_order/PFsection4.v b/mathcomp/odd_order/PFsection4.v
index c897e84..b5f9344 100644
--- a/mathcomp/odd_order/PFsection4.v
+++ b/mathcomp/odd_order/PFsection4.v
@@ -482,7 +482,7 @@ Lemma prTIred_inj : injective mu_.
Proof.
move=> j1 j2 /(congr1 (cfdot (mu_ j1)))/esym/eqP; rewrite !cfdot_prTIred.
by rewrite eqC_nat eqn_pmul2r ?cardG_gt0 // eqxx; case: (j1 =P j2).
-Qed.
+Qed.
Lemma prTIred_not_real j : j != 0 -> ~~ cfReal (mu_ j).
Proof.
@@ -645,7 +645,7 @@ have [[_ nKL] [nKz _]] := (andP nsKL, setIdP Itheta_z).
suffices{k theta Itheta_z} /eqP->: imIchi == 'Fix_Jirr[z].
by apply/afix1P/irr_inj; rewrite conjg_IirrE inertiaJ.
rewrite eqEcard; apply/andP; split.
- apply/subsetP=> _ /imsetP[j _ ->]; apply/afix1P/irr_inj.
+ apply/subsetP=> _ /imsetP[j _ ->]; apply/afix1P/irr_inj.
by rewrite conjg_IirrE -(cfRes_prTIirr 0) (cfConjgRes _ _ nsKL) ?cfConjg_id.
have ->: #|imIchi| = w2 by rewrite card_imset //; apply: prTIres_inj.
have actsL_KK: [acts L, on classes K | 'Js \ subsetT L].
@@ -720,7 +720,7 @@ Record prime_Dade_hypothesis : Prop := PrimeDadeHypothesis {
Hypothesis prDadeHyp : prime_Dade_hypothesis.
Let ctiWG : cyclicTI_hypothesis G defW := prDadeHyp.
-Let ptiWL : primeTI_hypothesis L K defW := prDadeHyp.
+Let ptiWL : primeTI_hypothesis L K defW := prDadeHyp.
Let ctiWL : cyclicTI_hypothesis L defW := prime_cycTIhyp ptiWL.
Let ddA0 : Dade_hypothesis G L A0 := prDadeHyp.
Local Notation ddA0def := (prDade_def prDadeHyp).
@@ -838,7 +838,7 @@ Qed.
(* First part of PeterFalvi (4.8). *)
Lemma prDade_sub_TIirr_on i j k :
j != 0 -> k != 0 -> mu2_ i j 1%g = mu2_ i k 1%g ->
- mu2_ i j - mu2_ i k \in 'CF(L, A0).
+ mu2_ i j - mu2_ i k \in 'CF(L, A0).
Proof.
move=> nzj nzk eq_mu1.
apply/cfun_onP=> g; rewrite defA0 !inE negb_or !cfunE => /andP[A'g V'g].
@@ -846,7 +846,7 @@ have [Lg | L'g] := boolP (g \in L); last by rewrite !cfun0 ?subrr.
have{Lg} /bigcupP[_ /rcosetsP[x W1x ->] Kx_g]: g \in cover (rcosets K W1).
by rewrite (cover_partition (rcosets_partition_mul W1 K)) (sdprodW defL).
have [x1 | ntx] := eqVneq x 1%g.
- have [-> | ntg] := eqVneq g 1%g; first by rewrite eq_mu1 subrr.
+ have [-> | ntg] := eqVneq g 1%g; first by rewrite eq_mu1 subrr.
have{A'g} A1'g: g \notin 1%g |: A by rewrite !inE negb_or ntg.
rewrite x1 mulg1 in Kx_g; rewrite -!(cfResE (mu2_ i _) sKL) ?cfRes_prTIirr //.
by rewrite !(cfun_onP (prDade_TIres_on _)) ?subrr.
@@ -924,7 +924,7 @@ have ccT: cfConjC_closed calT.
by rewrite prTIred_aut cfunE conj_Cnat ?Cnat_char1 ?prTIred_char.
have TonA: 'Z[calT, L^#] =i 'Z[calT, A].
have A'1: 1%g \notin A by apply: contra (subsetP sAA0 _) _; have [] := ddA0.
- move => psi; rewrite zcharD1E -(setU1K A'1) zcharD1; congr (_ && _).
+ move=> psi; rewrite zcharD1E -(setU1K A'1) zcharD1; congr (_ && _).
apply/idP/idP; [apply: zchar_trans_on psi => psi Tpsi | exact: zcharW].
have [j /andP[nz_j _] Dpsi] := imageP Tpsi.
by rewrite zchar_split mem_zchar // Dpsi prDade_TIred_on.
diff --git a/mathcomp/odd_order/PFsection5.v b/mathcomp/odd_order/PFsection5.v
index 636c48c..e42e104 100644
--- a/mathcomp/odd_order/PFsection5.v
+++ b/mathcomp/odd_order/PFsection5.v
@@ -105,7 +105,7 @@ Lemma Iirr_kerDS A1 A2 B1 B2 :
A2 \subset A1 -> B1 \subset B2 -> Iirr_kerD B1 A1 \subset Iirr_kerD B2 A2.
Proof. by move=> sA12 sB21; rewrite setDSS ?Iirr_kerS. Qed.
-Lemma Iirr_kerDY B A : Iirr_kerD (A <*> B) A = Iirr_kerD B A.
+Lemma Iirr_kerDY B A : Iirr_kerD (A <*> B) A = Iirr_kerD B A.
Proof. by apply/setP=> i; rewrite !inE join_subG; apply: andb_id2r => ->. Qed.
Lemma mem_Iirr_ker1 i : (i \in Iirr_kerD K 1%g) = (i != 0).
@@ -567,7 +567,7 @@ Lemma coherent_seqInd_conjCirr S tau R nu r :
chi - chi^*%CF \in 'Z[S, L^#] & (nu chi - nu chi^*)%CF 1%g == 0].
Proof.
move=> [[charS nrS ccS] [_ Ztau] oSS _ _] [[Inu Znu] Dnu] chi chi2 Schi.
-have sSZ: {subset S <= 'Z[S]} by apply: mem_zchar.
+have sSZ: {subset S <= 'Z[S]} by apply: mem_zchar.
have vcharS: {subset S <= 'Z[irr L]} by move=> phi /charS/char_vchar.
have Schi2: {subset chi2 <= 'Z[S]} by apply/allP; rewrite /= !sSZ ?ccS.
have Schi_diff: chi - chi^*%CF \in 'Z[S, L^#].
@@ -608,7 +608,7 @@ have sS_ZS1: {subset S <= 'Z[S1]}; last apply: (subgen_coherent sS_ZS1).
apply/allP=> eta Seta; rewrite -(rpredBr eta (rpredMn (a eta) Zeta1)).
exact/mem_zchar/mem_behead/map_f.
have{sS_ZS1} freeS1: free S1.
- have Sgt0: (0 < size S)%N by case: (S) Seta1.
+ have Sgt0: (0 < size S)%N by case: (S) Seta1.
rewrite /free eqn_leq dim_span /= size_map size_rem ?prednK // -(eqnP freeS).
by apply/dimvS/span_subvP => eta /sS_ZS1/zchar_span.
pose iso_eta1 zeta := zeta \in 'Z[S, L^#] /\ '[tau zeta, zeta1] = '[zeta, eta1].
@@ -650,7 +650,7 @@ pose beta chi := tau (chi - chi^*%CF); pose eqBP := _ =P beta _.
have Zbeta: {in S, forall chi, chi - (chi^*)%CF \in 'Z[S, L^#]}.
move=> chi Schi; rewrite /= zcharD1E rpredB ?mem_zchar ?ccS //= !cfunE.
by rewrite subr_eq0 conj_Cnat // Cnat_char1 ?N_S.
-pose sum_beta chi R := \sum_(alpha <- R) alpha == beta chi.
+pose sum_beta chi R := \sum_(alpha <- R) alpha == beta chi.
pose Zortho R := all (mem 'Z[irr G]) R && orthonormal R.
have R chi: {R : 2.-tuple 'CF(G) | (chi \in S) ==> sum_beta chi R && Zortho R}.
apply: sigW; case Schi: (chi \in S) => /=; last by exists [tuple 0; 0].
@@ -1153,7 +1153,7 @@ have Zachi: chi - a *: xi1 \in 'Z[S, L^#].
by rewrite zcharD1E !cfunE -chi1 subrr rpredB ?scale_zchar ?mem_zchar /=.
have Ztau_achi := zcharW (Ztau _ Zachi).
have [X R_X [Y defXY]] := subcoherent_split Schi Ztau_achi.
-have [eqXY oXY oYRchi] := defXY; pose X1 := map tau1 (in_tuple S1).
+have [eqXY oXY oYRchi] := defXY; pose X1 := map tau1 (in_tuple S1).
suffices defY: Y = a *: tau1 xi1.
by move: eqXY; rewrite defY; apply: extend_coherent_with; rewrite -?defY.
have oX1: pairwise_orthogonal X1 by apply: map_pairwise_orthogonal.
@@ -1321,7 +1321,7 @@ have [X [RchiX nX defX] XD_N]: exists2 X, Xspec X & XDspec X.
suffices: '[X - X'] == 0 by rewrite cfnorm_eq0 subr_eq0 => /eqP->.
have ZXX': '[X, X'] \in Cint by rewrite Cint_cfdot_vchar ?(zchar_trans ZRchi).
rewrite cfnormB subr_eq0 nX nX' aut_Cint {ZXX'}//; apply/eqP/esym.
- congr (_ *+ 2); rewrite -(addNKr (X - D xi1) X) cfdotDl cfdotC.
+ congr (_ *+ 2); rewrite -(addNKr (X - D xi1) X) cfdotDl cfdotC.
rewrite (span_orthogonal (oR chi1 xi1 _ _)) // conjC0.
rewrite -(subrK (D xi) X') cfdotDr cfdotDl cfdotNl opprB subrK.
rewrite (span_orthogonal (oR xi1 xi _ _)) //; last exact/and3P.
@@ -1358,7 +1358,7 @@ pose S1 := undup (phi1 :: phi1^* :: phi2 :: phi2^*)%CF.
have sS1S: cfConjC_subset S1 S.
split=> [|chi|chi]; rewrite ?undup_uniq //= !mem_undup; move: chi; apply/allP.
by rewrite /= !ccS ?Sphi1 ?Sphi2.
- by rewrite /= !inE !cfConjCK !eqxx !orbT.
+ by rewrite /= !inE !cfConjCK !eqxx !orbT.
exists S1; rewrite !mem_undup !inE !eqxx !orbT; split=> //.
apply: uniform_degree_coherence (subset_subcoherent scohS sS1S) _.
apply/(@all_pred1_constant _ (phi2 1%g))/allP=> _ /mapP[chi S1chi ->] /=.
diff --git a/mathcomp/odd_order/PFsection6.v b/mathcomp/odd_order/PFsection6.v
index b32a57d..2add4af 100644
--- a/mathcomp/odd_order/PFsection6.v
+++ b/mathcomp/odd_order/PFsection6.v
@@ -14,7 +14,7 @@ Require Import sylow abelian maximal hall frobenius.
From mathcomp
Require Import matrix mxalgebra mxrepresentation vector ssrnum algC algnum.
From mathcomp
-Require Import classfun character inertia vcharacter integral_char.
+Require Import classfun character inertia vcharacter integral_char.
From mathcomp
Require Import PFsection1 PFsection2 PFsection3 PFsection4 PFsection5.
@@ -187,7 +187,7 @@ have{odd_e} mod1e_lb m: odd m -> m == 1 %[mod e] -> (m > 1 -> 2 * e + 1 <= m)%N.
move=> odd_m e_dv_m1 m_gt1; rewrite eqn_mod_dvd 1?ltnW // subn1 in e_dv_m1.
by rewrite mul2n addn1 dvdn_double_ltn.
have nsH1L: H1 <| L by rewrite normalY // gFnormal_trans.
-have nsH1K: H1 <| K by rewrite (normalS _ sKL nsH1L) // join_subG der_sub.
+have nsH1K: H1 <| K by rewrite (normalS _ sKL nsH1L) // join_subG der_sub.
have [sH1K nH1K] := andP nsH1K; have sMH1: M \subset H1 by apply: joing_subr.
have cohH1: coherent (S H1) L^# tau.
apply: uniform_degree_coherence (subset_subcoherent scohS _) _ => //.
@@ -229,7 +229,7 @@ have not_abKb: ~~ abelian (K / M).
by rewrite join_subG subxx andbT -quotient_der ?quotient_sub1.
have /is_abelemP[p p_pr /and3P[pKb _ _]]: is_abelem (K / H1).
have: solvable (K / H1)%g by apply: quotient_sol solK.
- by case/(minnormal_solvable (chief_factor_minnormal chiefH1)).
+ by case/(minnormal_solvable (chief_factor_minnormal chiefH1)).
have [[_ p_dv_Kb _] nsMK] := (pgroup_pdiv pKb ntKb, normalS sMK sKL nsML).
have isoKb: K / M / (H1 / M) \isog K / H1 := third_isog sMH1 nsMK nsH1K.
have{nilKM} pKM: p.-group (K / M)%g.
@@ -309,7 +309,7 @@ have Ndg: {in calX, forall xi : 'CF(L), xi 1%g = (e * p ^ d xi)%:R}.
rewrite /d => _ /seqIndP[i _ ->]; rewrite cfInd1 // -/e.
have:= dvd_irr1_cardG i; have /CnatP[n ->] := Cnat_irr1 i.
rewrite -natrM natCK dvdC_nat mulKn // -p_part => dv_n_K.
- by rewrite part_pnat_id // (pnat_dvd dv_n_K).
+ by rewrite part_pnat_id // (pnat_dvd dv_n_K).
have [chi Ychi leYchi]: {chi | chi \in Y & {in Y, forall xi, d xi <= d chi}%N}.
have [/eqP/nilP Y0 | ntY] := posnP (size Y); first by rewrite Y0 in homoY.
pose i := [arg max_(i > Ordinal ntY) d Y`_i].
@@ -459,7 +459,7 @@ suffices Ea2 l (phi := 'chi[G]_l) (kerZphi : kerZ l):
- move=> l phi kerZphi.
have Zphi1: phi 1%g \in Cint by rewrite irr1_degree rpred_nat.
have chi0 x: x \in Z -> 'chi[G]_0 x = 1.
- by rewrite irr0 cfun1E => /(subsetP sZG) ->.
+ by rewrite irr0 cfun1E => /(subsetP sZG) ->.
have: kerZ 0 by move=> x y /setD1P[_ Zx] /setD1P[_ Zy]; rewrite !chi0.
move/Ea2/(eqAmodMl (Aint_irr l z)); rewrite !{}chi0 // -/phi eqAmod_sym.
rewrite mulrDr mulr1 !mulr_natr => /eqAmod_trans/(_ (Ea2 l kerZphi)).
@@ -474,7 +474,7 @@ suffices Ea2 l (phi := 'chi[G]_l) (kerZphi : kerZ l):
have: '['Res[Z] phi, 'chi_0] \in Crat.
by rewrite rpred_Cnat ?Cnat_cfdot_char ?cfRes_char ?irr_char.
rewrite irr0 cfdotE (big_setD1 _ (group1 Z)) cfun1E cfResE ?group1 //=.
- rewrite rmorph1 mulr1; congr (_ * (_ + _) \in Crat).
+ rewrite rmorph1 mulr1; congr (_ * (_ + _) \in Crat).
rewrite -sumr_const; apply: eq_bigr => x Z1x; have [_ Zx] := setD1P Z1x.
by rewrite cfun1E cfResE ?Zx // rmorph1 mulr1; apply: kerZphi.
pose alpha := 'omega_l['K_i1]; pose phi1 := phi 1%g.
@@ -653,7 +653,7 @@ without loss [/p_groupP[p p_pr pH] not_cHH]: / p_group H /\ ~~ abelian H.
by apply; rewrite (isog_abelian isoH) (pgroup_p pH).
have sylH: p.-Sylow(G) H. (* required for (6.7) *)
rewrite -Sylow_subnorm -normD1; have [_ _ /eqP->] := and3P tiA.
- by apply/and3P; rewrite -oW1 -pgroupE (coprime_p'group _ pH) // coprime_sym.
+ by apply/and3P; rewrite -oW1 -pgroupE (coprime_p'group _ pH) // coprime_sym.
pose caseA := 'Z(H) :&: W2 \subset [1]%g; pose caseB := ~~ caseA.
have caseB_P: caseB -> [/\ case_c2, W2 :!=: 1%g & W2 \subset 'Z(H)].
rewrite /caseB /caseA; have [->|] := eqP; first by rewrite subsetIr.
@@ -779,7 +779,7 @@ have{odd_frobL1} caseA_cohXY: caseA -> coherent (X ++ Y) L^# tau.
pose psi1 := xi1 - a *: eta1.
have Zpsi1: psi1 \in 'Z[S, L^#].
rewrite zcharD1E !cfunE (uniY _ Yeta1) -xi1_1 subrr eqxx andbT.
- by rewrite rpredB ?rpredZ_Cnat ?mem_zchar ?(sXS _ Xxi1) // sYS.
+ by rewrite rpredB ?rpredZ_Cnat ?mem_zchar ?(sXS _ Xxi1) // sYS.
have [Y1 dY1 [X1 [dX1 _ oX1tauY]]] := orthogonal_split (map tau1 Y)(tau psi1).
have{dX1 Y1 dY1 oYtau} [b Zb tau_psi1]: {b | b \in Cint &
tau psi1 = X1 - a *: tau1 eta1 + b *: (\sum_(eta <- Y) tau1 eta)}.
@@ -896,7 +896,7 @@ have{odd_frobL1} caseA_cohXY: caseA -> coherent (X ++ Y) L^# tau.
have [|//]:= leq_size_perm uYeta _ szY2.
by apply/allP; rewrite /= Yeta1 ccY.
have memYtau1c: {subset [seq tau1 eta^* | eta <- Y]%CF <= map tau1 Y}.
- by move=> _ /mapP[eta Yeta ->]; rewrite /= map_f ?ccY.
+ by move=> _ /mapP[eta Yeta ->]; rewrite /= map_f ?ccY.
apply: IH (dual_coherence scohY cohY szY2) _ _ _.
- rewrite (map_comp -%R) orthogonal_oppr.
by apply/orthogonalP=> phi psi ? /memYtau1c; apply: (orthogonalP o_tauXY).
@@ -1188,7 +1188,7 @@ have{caseA_cohXY Itau1 Ztau1 Dtau1 oYYt} cohXY: coherent (X ++ Y) L^# tau.
exists (YZ1 + b *: Y1) => [/oRY-oRiY|]; last first.
by rewrite addrCA subrK addrC cfdotDl cfdotZl normY1 mulr1 addrN.
apply/orthoPl=> aa Raa; rewrite cfdotDl (orthoPl oYZ1R) // add0r.
- by rewrite cfdotC (span_orthogonal oRiY) ?conjC0 ?rpredZ // memv_span.
+ by rewrite cfdotC (span_orthogonal oRiY) ?conjC0 ?rpredZ // memv_span.
case/all_and2=> defXbZ oZY1; have spanR_X1 := zchar_span (R_X1 _ _).
have ub_alpha i: i \in rp ->
[/\ '[chi i] <= '[X1 i]
@@ -1214,7 +1214,7 @@ have{caseA_cohXY Itau1 Ztau1 Dtau1 oYYt} cohXY: coherent (X ++ Y) L^# tau.
rewrite -(@ler_pexpn2r _ 2) ?qualifE ?(ltrW ai_gt0) ?norm_ger0 //.
apply: ler_trans (_ : '[b i *: Y1 - Z1 i] <= _).
rewrite cfnormBd; last by rewrite cfdotZl cfdotC oZY1 ?conjC0 ?mulr0.
- by rewrite cfnormZ normY1 mulr1 ler_addl cfnorm_ge0.
+ by rewrite cfnormZ normY1 mulr1 ler_addl cfnorm_ge0.
rewrite -(ler_add2l '[X1 i]) -cfnormBd; last first.
rewrite cfdotBr cfdotZr (span_orthogonal (oRY i _)) ?spanR_X1 //.
rewrite mulr0 sub0r cfdotC.
diff --git a/mathcomp/odd_order/PFsection7.v b/mathcomp/odd_order/PFsection7.v
index 455681c..deb1698 100644
--- a/mathcomp/odd_order/PFsection7.v
+++ b/mathcomp/odd_order/PFsection7.v
@@ -66,7 +66,7 @@ rewrite (DadeJ ddA) // cardJg; congr (_ * _).
rewrite big_imset /= => [|z y0 _ _ /=]; last exact: conjg_inj.
by apply: eq_bigr => u Hu; rewrite -conjMg cfunJ // (subsetP sLG).
Qed.
-Definition invDade alpha := Cfun 1 (invDade_subproof alpha).
+Definition invDade alpha := Cfun 1 (invDade_subproof alpha).
Local Notation "alpha ^\rho" := (invDade alpha).
@@ -426,7 +426,7 @@ split=> // [ | chi /irrP[t def_chi] o_chiSnu].
have hu: h * u = e^-1 * (h - 1) by rewrite mulrCA (mulrBr h) mulr1 divff.
have ->: '[(nu zeta)^\rho] = u * a ^+ 2 - v * a *+ 2 + w.
have defT1: perm_eq calT [:: phi, Ind1H, zeta & S2].
- by rewrite defT defS1 (perm_catCA [::_ ; _] phi).
+ by rewrite defT defS1 (perm_catCA [::_; _] phi).
have [c ua _ ->] := invDade_seqInd_sum (nu zeta) defT1.
have def_c xi: xi \in calS -> c xi = '[xi, zeta].
move=> S2xi; rewrite /c mulrC -{1}[xi]scale1r -(mulVf nz_phi1) -!scalerA.
diff --git a/mathcomp/odd_order/PFsection8.v b/mathcomp/odd_order/PFsection8.v
index d4ffa46..2770369 100644
--- a/mathcomp/odd_order/PFsection8.v
+++ b/mathcomp/odd_order/PFsection8.v
@@ -557,7 +557,7 @@ have [part_a _ _ [part_b part_c]] := BGsummaryB maxM complU.
rewrite eqEsubset FTsupp1_sub // andbT -setD_eq0 in part_c.
split=> // X notX0 /subsetD1P[sXU notX1]; rewrite -cent_gen defH.
apply: part_b; rewrite -?subG1 ?gen_subG //.
-by rewrite -setD_eq0 setDE (setIidPl _) // subsetC sub1set inE.
+by rewrite -setD_eq0 setDE (setIidPl _) // subsetC sub1set inE.
Qed.
(* This is Peterfalvi (8.13). *)
@@ -1111,7 +1111,7 @@ without loss{suppST} suppST: T maxT ncST / FTsupports S T.
have{suppST} [y /and3P[ASy not_sCyS sCyT]] := existsP suppST.
have Dy: y \in [set z in 'A0(S) | ~~ ('C[z] \subset S)] by rewrite !inE ASy.
have [_ [_ /(_ y Dy) uCy] /(_ y Dy)[_ coTcS _ typeT]] := FTsupport_facts maxS.
-rewrite -mem_iota -(eq_uniq_mmax uCy maxT sCyT) !inE in coTcS typeT.
+rewrite -mem_iota -(eq_uniq_mmax uCy maxT sCyT) !inE in coTcS typeT.
apply/negbNE; rewrite -part_b /NC 1?orbit_sym // negb_exists.
apply/forallP=> x; rewrite part_a1 ?mmaxJ ?negbK //; last first.
by rewrite /NC (orbit_transl _ (mem_orbit _ _ _)) ?in_setT // orbit_sym.
diff --git a/mathcomp/odd_order/PFsection9.v b/mathcomp/odd_order/PFsection9.v
index 0cd1109..d8ec417 100644
--- a/mathcomp/odd_order/PFsection9.v
+++ b/mathcomp/odd_order/PFsection9.v
@@ -89,7 +89,7 @@ Let defW2 : 'C_H(W1) = W2. Proof. exact: typeP_cent_core_compl MtypeP. Qed.
Lemma Ptype_Fcore_sdprod : H ><| (U <*> W1) = M.
Proof.
-have [_ /= sW1M mulHUW1 _ tiHUW1] := sdprod_context defM.
+have [_ /= sW1M mulHUW1 _ tiHUW1] := sdprod_context defM.
have [/= /andP[sHHU _] sUHU mulHU nHU tiHU] := sdprod_context defHU.
rewrite sdprodE /= norm_joinEr // ?mulgA ?mulHU //.
by rewrite mulG_subG nHU (subset_trans sW1M) ?gFnorm.
@@ -322,7 +322,7 @@ Proof.
apply: Frobenius_quotient frobUW1 _ nsCUW1 _.
by apply: nilpotent_sol; have [_ []] := MtypeP.
by have [] := Ptype_Fcore_factor_facts; rewrite eqEsubset sCU.
-Qed.
+Qed.
Definition typeP_Galois := acts_irreducibly U Hbar 'Q.
@@ -397,7 +397,7 @@ have [oH1 defHbar]: #|H1| = p /\ \big[dprod/1]_(w in W1bar) H1 :^ w = Hbar.
by rewrite -(big_imset id injW1) -defH1W0 big_imset.
split=> //; set a := #|_ : _|; pose q1 := #|(W1 / H0)^#|.
have a_gt1: a > 1.
- rewrite indexg_gt1 subsetIidl /= astabQ -sub_quotient_pre //.
+ rewrite indexg_gt1 subsetIidl /= astabQ -sub_quotient_pre //.
apply: contra neqCU => cH1U; rewrite [C]unlock (sameP eqP setIidPl) /= astabQ.
rewrite -sub_quotient_pre // -(bigdprodWY defHbar) cent_gen centsC.
by apply/bigcupsP=> w Ww; rewrite centsC centJ -(normsP nUW1b w) ?conjSg.
@@ -663,7 +663,7 @@ pose nF := <[1%R : F]>; have o_nF: #|nF| = p.
have cyc_uF := @field_unit_group_cyclic F.
exists F.
exists phi; last first.
- split=> //; first exact/isomP; apply/esym/eqP; rewrite eqEcard o_nF -phi_s.
+ split=> //; first exact/isomP; apply/esym/eqP; rewrite eqEcard o_nF -phi_s.
by rewrite (@cycle_subG F) mem_morphim //= card_injm ?subsetIl ?oW2b.
exists psi => //; last first.
by split=> // h x Hh Ux; rewrite qactJ (subsetP nH0U) ?phiJ.
@@ -834,7 +834,7 @@ Lemma typeP_nonGalois_characters (not_Galois : ~~ typeP_Galois) :
(lb_d %| lb_n /\ lb_n %/ lb_d <= count irr_qa (S_ H0U'))%N].
Proof.
case: (typeP_Galois_Pn _) => H1 [oH1 nH1U nH1Uq defHbar aP]; rewrite [sval _]/=.
-move => a; case: aP; rewrite -/a => a_gt1 a_dv_p1 cycUb1 isoUb.
+move=> a; case: aP; rewrite -/a => a_gt1 a_dv_p1 cycUb1 isoUb.
set part_a := ({in _, _}); pose HCbar := (HC / H0)%G.
have [_ /mulG_sub[sHUM sW1M] nHUW1 tiHUW1] := sdprodP defM.
have [nsHHU _ /mulG_sub[sHHU sUHU] nHU tiHU] := sdprod_context defHU.
@@ -870,7 +870,7 @@ have Part_a: part_a.
have{kersH0} kertH0: H0 \subset cfker 'chi_t.
by rewrite (sub_cfker_constt_Res_irr sHt).
have Ltheta: theta \is a linear_char.
- by rewrite /theta -quo_IirrE // (char_abelianP _ _).
+ by rewrite /theta -quo_IirrE // (char_abelianP _ _).
have Dtheta : _ = theta := cfBigdprod_Res_lin defHbar Ltheta.
set T := 'I_HU['chi_t]; have sHT: H \subset T by rewrite sub_Inertia.
have sTHU: T \subset HU by rewrite Inertia_sub.
@@ -1086,11 +1086,11 @@ split=> {Part_a part_a}//.
rewrite odd_exp -(subnKC (prime_gt1 pr_q)) /= -subn1 odd_sub ?prime_gt0 //.
by rewrite -oH1 (oddSg sH1H) ?quotient_odd // mFT_odd.
have p1_gt0: (0 < p.-1)%N by rewrite -(subnKC (prime_gt1 p_pr)).
- apply/eqP; rewrite -(eqn_pmul2r p1_gt0) -expnSr prednK ?prime_gt0 //.
+ apply/eqP; rewrite -(eqn_pmul2r p1_gt0) -expnSr prednK ?prime_gt0 //.
by rewrite -oXtheta -defXmu card_in_imset // cardC1 card_Iirr_abelian ?oH1.
clear Xmu def_IXmu Smu sSmu_mu ResIndXmu uSmu sz_Smu sz_mu s_mu_H0C Dmu.
clear Mtheta Xtheta irrXtheta oXtheta sXthXH0C mu_f Fmu_f mk_mu sW1_Imu inj_mu.
-clear nz_thetaH lin_thetaH lin_theta Ftheta inj_theta irr_thetaH0 def_Itheta.
+clear nz_thetaH lin_thetaH lin_theta Ftheta inj_theta irr_thetaH0 def_Itheta.
clear theta Dtheta => irr_qa lb_n lb_d.
have sU'U: U' \subset U := der_sub 1 U.
have nH0U := subset_trans sUHU nH0HU; have nH0U' := subset_trans sU'U nH0U.
@@ -1157,7 +1157,7 @@ have{lam_lin} thetaH1 i j: 'Res[H1] (theta i j) = 'chi_i.
have Itheta r: r \in Mtheta -> 'I_HU['chi_r]%CF = HCH1.
case/imset2P=> i j; rewrite /= in_setC1 => nz_i _ Dr; apply/eqP.
rewrite eqEsubset sub_Inertia //= Dr mod_IirrE // cfIirrE ?lin_char_irr //.
- rewrite andbT -(quotientSGK _ (normal_sub nsH0_HCH1)) ?subIset ?nH0HU //.
+ rewrite andbT -(quotientSGK _ (normal_sub nsH0_HCH1)) ?subIset ?nH0HU //.
rewrite inertia_mod_quo //.
apply: subset_trans (sub_inertia_Res _ (nH1wHUb _ (group1 _))) _.
rewrite /= conjsg1 thetaH1 (inertia_irr_prime _ p_pr) //.
@@ -1533,7 +1533,7 @@ have sS10: cfConjC_subset S1 (S_ H0C').
have cohS1: coherent S1 M^# tau.
apply: uniform_degree_coherence (subset_subcoherent scohS0 sS10) _.
by apply: all_pred1_constant (q * a)%:R _ _; rewrite all_map filter_all.
-pose S3 := filter [predC S1] (S_ H0C'); move: {2}_.+1 (ltnSn (size S3)) => nS.
+pose S3 := filter [predC S1] (S_ H0C'); move: {2}_.+1 (ltnSn (size S3)) => nS.
move: @S3 (sS10) (cohS1); have: {subset S1 <= S1} by [].
elim: nS {-1}S1 => // nS IHnS S2 => sS12 S3 sS20 cohS2; rewrite ltnS => leS3nS.
have [ntS3|] := boolP (size S3 > 0)%N; last first.
@@ -1563,7 +1563,7 @@ without loss [[eqS12 irrS1 H0C_S1] [Da_p defC] [S3qu ne_qa_qu] [oS1 oS1ua]]:
pose is_qu := [pred chi : 'CF(M) | chi 1%g == (q * u)%:R].
pose isn't_qu := [pred chi | is_qu chi ==> all is_qu S3].
have /hasP[chi S3chi qu'chi]: has isn't_qu S3.
- rewrite /isn't_qu; have [_|] := boolP (all _ _); last by rewrite has_predC.
+ rewrite /isn't_qu; have [_|] := boolP (all _ _); last by rewrite has_predC.
by rewrite (eq_has (fun _ => implybT _)) has_predT.
have [S2'chi S0chi]: chi \notin S2 /\ chi \in S_ H0C'.
by apply/andP; rewrite mem_filter in S3chi.
diff --git a/mathcomp/odd_order/wielandt_fixpoint.v b/mathcomp/odd_order/wielandt_fixpoint.v
index 3a9a099..e5d8ad4 100644
--- a/mathcomp/odd_order/wielandt_fixpoint.v
+++ b/mathcomp/odd_order/wielandt_fixpoint.v
@@ -108,7 +108,7 @@ have{B ntB sBAn tiBU} [Ku S_Ku eKu]: exists2 Ku, Ku \in S & exponent Ku == (p ^
by apply/imsetP; rewrite -MhoEabelian ?(subsetP sBAn).
rewrite morphX ?(subsetP nUA) // (exponentP _ _ (mem_quotient _ Ay)) //.
rewrite -sub_Ldiv -OhmEabelian ?(abelianS (Ohm_sub n _)) //=.
- rewrite (OhmE n pAu) /= -(bigdprodWY defAu) genS // subsetI sub_gen //=.
+ rewrite (OhmE n pAu) /= -(bigdprodWY defAu) genS // subsetI sub_gen //=.
apply/bigcupsP=> Ku S_Ku; rewrite sub_LdivT.
have: exponent Ku %| p ^ n.+1.
by rewrite (dvdn_trans (exponentS (sSAu _ S_Ku))) // -eA exponent_quotient.
diff --git a/mathcomp/real_closed/bigenough.v b/mathcomp/real_closed/bigenough.v
index 90e46e8..1ee8bef 100644
--- a/mathcomp/real_closed/bigenough.v
+++ b/mathcomp/real_closed/bigenough.v
@@ -28,7 +28,7 @@ Module BigEnough.
Record big_rel_class_of T (leq : rel T) :=
BigRelClass {
- leq_big_internal_op : rel T;
+ leq_big_internal_op : rel T;
bigger_than_op : seq T -> T;
_ : leq_big_internal_op = leq;
_ : forall i s, leq_big_internal_op i (bigger_than_op (i :: s));
diff --git a/mathcomp/real_closed/cauchyreals.v b/mathcomp/real_closed/cauchyreals.v
index 9d2dff3..1d7d7ab 100644
--- a/mathcomp/real_closed/cauchyreals.v
+++ b/mathcomp/real_closed/cauchyreals.v
@@ -447,7 +447,7 @@ rewrite -{1}[x](addrNK z) -{1}[p.[x]](addrNK p.[z]).
rewrite !addrA -![_ - _ + _ - _]addrA mulrDr ltr_add //.
rewrite -ltr_pdivl_mulr ?subr_gt0 //.
by rewrite ltr_minl hk1 ?gtr_eqF.
-rewrite -ltr_pdivl_mulr ?subr_gt0 //.
+rewrite -ltr_pdivl_mulr ?subr_gt0 //.
by rewrite ltr_minl hk2 ?orbT ?gtr_eqF.
Qed.
@@ -1325,7 +1325,7 @@ have upx_eq0 : u.[x] * p.[x] == 0 by rewrite px0 mul_creal0.
pose_big_enough i.
have := (erefl ((1 : {poly F}).[x i])).
rewrite -{1}hpq /= hornerD hornerC.
- set upxi := (u * _).[_]; move=> hpqi.
+ set upxi := (u * _).[_] => - hpqi.
apply: (@neq_crealP ((ubound v.[x])%CR^-1 / 2%:R) i i) => //.
by rewrite pmulr_rgt0 ?gtr0E // ubound_gt0.
rewrite /= subr0 ler_pdivr_mull ?ubound_gt0 //.
diff --git a/mathcomp/real_closed/complex.v b/mathcomp/real_closed/complex.v
index ef32266..30b4b04 100644
--- a/mathcomp/real_closed/complex.v
+++ b/mathcomp/real_closed/complex.v
@@ -58,7 +58,7 @@ Section ComplexEqChoice.
Variable R : Type.
-Definition sqR_of_complex (x : R[i]) := let: a +i* b := x in [::a; b].
+Definition sqR_of_complex (x : R[i]) := let: a +i* b := x in [::a; b].
Definition complex_of_sqR (x : seq R) :=
if x is [:: a; b] then Some (a +i* b) else None.
@@ -462,7 +462,7 @@ by rewrite -mulrA ['i%C * _]sqr_i mulrN1 opprB.
Qed.
Lemma complex_real (a b : R) : a +i* b \is Num.real = (b == 0).
-Proof.
+Proof.
rewrite realE; simpc; rewrite [0 == _]eq_sym.
by have [] := ltrgtP 0 a; rewrite ?(andbF, andbT, orbF, orbb).
Qed.
@@ -557,7 +557,7 @@ have F3: 0 <= (sqrtr (a ^+ 2 + b ^+ 2) - a) / 2%:R.
have F4: 0 <= (sqrtr (a ^+ 2 + b ^+ 2) + a) / 2%:R.
rewrite mulr_ge0 // -{2}[a]opprK subr_ge0 (ler_trans _ F2) //.
by rewrite -(maxrN a) ler_maxr lerr orbT.
-congr (_ +i* _); set u := if _ then _ else _.
+congr (_ +i* _); set u := if _ then _ else _.
rewrite mulrCA !mulrA.
have->: (u * u) = 1.
rewrite /u; case: (altP (_ =P _)); rewrite ?mul1r //.
@@ -573,7 +573,7 @@ rewrite [_^+2 + _]addrC addrK -mulrA -expr2 sqrtrM ?exprn_even_ge0 //.
rewrite !sqrtr_sqr -mulr_natr.
rewrite [`|_^-1|]ger0_norm // -mulrA [_ * _%:R]mulrC divff //.
rewrite mulr1 /u; case: (_ =P _)=>[->|].
- by rewrite normr0 mulr0.
+ by rewrite normr0 mulr0.
by rewrite mulr_sg_norm.
Qed.
@@ -998,7 +998,7 @@ Qed.
Lemma Lemma3 K d : Eigen1Vec K d -> forall r, CommonEigenVec K d r.+1.
Proof.
-move=> E1V_K_d; elim => [|r IHr m V]; first exact/Eigen1VecP.
+move=> E1V_K_d; elim=> [|r IHr m V]; first exact/Eigen1VecP.
move: (\rank V) {-2}V (leqnn (\rank V)) => n {V}.
elim: n m => [|n IHn] m V.
by rewrite leqn0 => /eqP ->; rewrite dvdn0.
@@ -1111,7 +1111,7 @@ have [] := @Lemma4 _ _ 1%:M _ [::L1; L2] (erefl _).
case: n {x} (vec_mx x) => [//|n] x in HrV u v *.
do ?[rewrite -(scalemxAl, scalemxAr, scalerN, scalerDr)
|rewrite (mulmxN, mulNmx, trmxK, trmx_mul)
- |rewrite ?[(_ *: _)^T]linearZ ?[(_ + _)^T]linearD ?[(- _)^T]linearN /=].
+ |rewrite ?[(_ *: _)^T]linearZ ?[(_ + _)^T]linearD ?[(- _)^T]linearN /=].
congr (_ *: _).
rewrite !(mulmxDr, mulmxDl, mulNmx, mulmxN, mulmxA, opprD, opprK).
do ![move: (_ *m _ *m _)] => t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12.
diff --git a/mathcomp/real_closed/mxtens.v b/mathcomp/real_closed/mxtens.v
index 5189369..4e6b72a 100644
--- a/mathcomp/real_closed/mxtens.v
+++ b/mathcomp/real_closed/mxtens.v
@@ -186,7 +186,7 @@ rewrite !tensmxE castmxE /= cast_ord_id esymK !mxE /=.
case: splitP=> i0' /= hi0'; case: splitP=> k /= hk.
+ case: (mxtens_indexP k) hk=> k0 k1 /=; rewrite tensmxE.
move=> /(f_equal (edivn^~ p)); rewrite !edivn_eq // => [] [h0 h1].
- by congr (r _ _ * N _ _); apply:val_inj; rewrite /= -?h0 ?h1.
+ by congr (r _ _ * N _ _); apply: val_inj; rewrite /= -?h0 ?h1.
+ move: hk (ltn_ord i1); rewrite hi0'.
by rewrite [i0']ord1 mul0n mul1n add0n ltnNge=> ->; rewrite leq_addr.
+ move: (ltn_ord k); rewrite -hk hi0' ltnNge {1}mul1n.
@@ -194,7 +194,7 @@ case: splitP=> i0' /= hi0'; case: splitP=> k /= hk.
case: (mxtens_indexP k) hk=> k0 k1 /=; rewrite tensmxE.
rewrite hi0' mulnDl -addnA=> /addnI.
move=> /(f_equal (edivn^~ p)); rewrite !edivn_eq // => [] [h0 h1].
-by congr (M _ _ * N _ _); apply:val_inj; rewrite /= -?h0 ?h1.
+by congr (M _ _ * N _ _); apply: val_inj; rewrite /= -?h0 ?h1.
Qed.
Lemma tens_row_mx {m n p q} (r : 'cV[R]_m) (M :'M[R]_(m,n)) (N : 'M[R]_(p,q)) :
diff --git a/mathcomp/real_closed/ordered_qelim.v b/mathcomp/real_closed/ordered_qelim.v
index f5d0b38..4779540 100644
--- a/mathcomp/real_closed/ordered_qelim.v
+++ b/mathcomp/real_closed/ordered_qelim.v
@@ -189,7 +189,7 @@ Definition oclause_eq (T : eqType)(t1 t2 : oclause T) :=
Lemma oclause_eqP (T : eqType) : Equality.axiom (@oclause_eq T).
Proof.
-move=> t1 t2; apply: (iffP idP) => [|<-] /= ; last first.
+move=> t1 t2; apply: (iffP idP) => [|<-] /=; last first.
by rewrite /oclause_eq; case: t1=> l1 l2 l3 l4; rewrite !eqxx.
case: t1 => [l1 l2 l3 l4]; case: t2 => m1 m2 m3 m4 /=; case/and4P.
by move/eqP=> -> /eqP -> /eqP -> /eqP ->.
@@ -780,11 +780,11 @@ Lemma odnf_to_oform_cat e c d : holds e (odnf_to_oform (c ++ d))
Proof.
elim: c d => [| tc c ihc] d /=; first by split => // hd; [right | case: hd].
rewrite ihc /=; split.
- case; first by case=> ?; case => ?; case => ? ?; left; left.
+ case; first by case=> ?; case=> ?; case=> ? ?; left; left.
case; first by move=> ?; left; right.
by move=> ?; right.
case; last by move=> ?; right; right.
-case; last by move=> ?; right; left.
+case; last by move=> ?; right; left.
by do 3!case=> ?; move=> ?; left.
Qed.
@@ -801,8 +801,8 @@ have -> : (holds e x1 /\ holds e x2 /\ holds e x3 /\ 0%:R <= eval e t /\
holds e x4 \/ false) <->
(0%:R <= eval e t) /\ (holds e x1 /\ holds e x2 /\ holds e x3 /\
holds e x4 \/ false).
- split; first by case=> //; do 4! (case => ?); move=> ?; split => //; left.
- by case=> ?; case => //; do 3! (case=> ?); move=> ?; left.
+ split; first by case=> //; do 4!(case=> ?); move=> ?; split => //; left.
+ by case=> ?; case=> //; do 3!(case=> ?); move=> ?; left.
rewrite h {h} /= !map_cat /= -!map_comp.
set s1 := [seq _ | _ <- _]; set s2 := [seq _ | _ <- _].
set s3 := [seq _ | _ <- _]. rewrite odnf_to_oform_cat.
@@ -822,7 +822,7 @@ rewrite /s2 /s1.
elim: (leq_elim_aux eq_l lt_l le_l) => /= [| t1 l ih]; first by split=> // [[]].
rewrite /= ih; split.
case; last by case=> -> ?; split=> //; right.
- by case; case=> /eqP ? ?; do 2! case=> ?; move=> _; split=>//; left.
+ by case; case=> /eqP ? ?; do 2!case=> ?; move=> _; split=> //; left.
case=> /eqP ?; case; first by do 3!case=> ?; move=> _; left.
by right; split=> //; apply/eqP.
Qed.
@@ -857,7 +857,7 @@ rewrite -/f in ih; case/orP.
move=> u. rewrite !mem_cat !in_cons orbAC orbC mem_cat -!orbA.
case/orP; first by move->; rewrite !orbT.
rewrite !orbA [_ || (_ \in eq1)]orbC; move: (h u); rewrite !mem_cat=> hu.
- by move/hu; do 2! (case/orP; last by move->; rewrite !orbT); move->.
+ by move/hu; do 2!(case/orP; last by move->; rewrite !orbT); move->.
case/mapP=> y yin ye.
move: (ih lt1 (f y)); rewrite mem_map //; last first.
by move=> u v; rewrite /f /=; case.
@@ -865,7 +865,7 @@ move/(_ yin); move: ye; rewrite /f /=; case=> -> -> -> -> /= h.
move=> u; rewrite !mem_cat !in_cons orbAC orbC mem_cat -!orbA.
case/orP; first by move->; rewrite !orbT.
rewrite !orbA [_ || (_ \in eq1)]orbC; move: (h u); rewrite !mem_cat=> hu.
-by move/hu; do 2! (case/orP; last by move->; rewrite !orbT); move->.
+by move/hu; do 2!(case/orP; last by move->; rewrite !orbT); move->.
Qed.
@@ -885,9 +885,9 @@ have -> : holds e x1 /\
false <->
(eval e t <> 0%:R) /\ (holds e x1 /\ holds e x2 /\ holds e x3 /\
holds e x4 \/ false).
- split; case => //.
+ split; case=> //.
- by case=> ?; case; case=> ? ? [] ? ?; split=> //; left.
- - by move=> ?; case => //; do 3! case => ?; move=> ?; left.
+ - by move=> ?; case=> //; do 3!case=> ?; move=> ?; left.
rewrite h {h} /= !map_cat /= -!map_comp.
set s1 := [seq _ | _ <- _]; set s2 := [seq _ | _ <- _].
set s3 := [seq _ | _ <- _]; rewrite odnf_to_oform_cat.
@@ -904,7 +904,7 @@ suff {x1 x2 x3 x4} /= -> :
rewrite ih; split.
case; first by case=> ?; case=> _; case; case=> -> ? ?; split=> //; left.
by case=> ? ?; split=> //; right.
- by case=> ->; case; [case=> ?; case=> _; case=> ? ?; left| move=> ? ; right].
+ by case=> ->; case; [case=> ?; case=> _; case=> ? ?; left| move=> ?; right].
rewrite /s1 /s2.
elim: (neq_elim_aux lt_l neq_l) => /= [| t1 l ih] /=; first by split => //; case.
set y1 := foldr _ _ _; set y2 := foldr _ _ _; set y3 := foldr _ _ _.
@@ -922,7 +922,7 @@ Lemma terms_of_neq_leq_elim oc1 oc2:
oc2 \in (oclause_neq_leq_elim oc1) ->
{subset (terms_of_oclause oc2) <= (terms_of_oclause oc1) ++ map Opp oc1.2}.
Proof.
-rewrite /oclause_neq_leq_elim /flatten; rewrite foldr_map.
+rewrite /oclause_neq_leq_elim/flatten; rewrite foldr_map.
suff : forall oc3,
oc3 \in (oclause_leq_elim oc1) ->
(terms_of_oclause oc3 =i terms_of_oclause oc1) /\ oc3.2 = oc1.2.
@@ -938,7 +938,7 @@ rewrite map_cat mem_cat; move: ih.
elim: (leq_elim_aux eq1 lt1 le1) => [| t2 l2 ih2] //=; rewrite !in_cons.
move=> h1; case/orP=> /=.
case/orP; first by case/eqP.
- by move=> h2; apply: ih2; rewrite ?h2 //; move=> h3; apply: h1; rewrite h3 orbT.
+ by move=> h2; apply: ih2; rewrite ?h2 // => - h3; apply: h1; rewrite h3 orbT.
case/orP; first by case/eqP.
move=> h3; apply: ih2; last by rewrite h3 orbT.
by move=> h2; apply: h1; rewrite h2 orbT.
@@ -1009,7 +1009,7 @@ rewrite -[holds e (_ \/ _)]/(holds e _ \/ holds e _).
suff <- : (oclause_neq_elim t1) = map w_to_oclause
[seq (let: Oclause eq_l _ lt_l _ := x in (eq_l, lt_l))
| x <- oclause_neq_elim t1].
- by rewrite ih1 //; move=> oc hoc; apply: h4; rewrite in_cons hoc orbT.
+ by rewrite ih1 // => - oc hoc; apply: h4; rewrite in_cons hoc orbT.
have : forall oc, oc \in (oclause_neq_elim t1) -> oc.2 = [::] /\ oc.4 = [::].
move=> oc hoc; move/oclause_neq_elim2: (hoc); case/andP=> /eqP -> /eqP ->.
by move/eqP: (h4 _ (mem_head _ _))->.
diff --git a/mathcomp/real_closed/polyorder.v b/mathcomp/real_closed/polyorder.v
index f84abb6..4a96dcc 100644
--- a/mathcomp/real_closed/polyorder.v
+++ b/mathcomp/real_closed/polyorder.v
@@ -139,9 +139,9 @@ Qed.
Lemma mu_mul p q x : p * q != 0 ->
\mu_x (p * q) = (\mu_x p + \mu_x q)%N.
Proof.
-move=>hpqn0; apply/eqP; rewrite eq_sym -muP//.
+move=> hpqn0; apply/eqP; rewrite eq_sym -muP//.
rewrite exprD dvdp_mul ?root_mu//=.
-move:hpqn0; rewrite mulf_eq0 negb_or; case/andP=> hp0 hq0.
+move: hpqn0; rewrite mulf_eq0 negb_or; case/andP=> hp0 hq0.
move: (mu_spec x hp0)=> [qp qp0 hp].
move: (mu_spec x hq0)=> [qq qq0 hq].
rewrite {2}hp {2}hq exprS exprD !mulrA [qp * _ * _]mulrAC.
diff --git a/mathcomp/real_closed/polyrcf.v b/mathcomp/real_closed/polyrcf.v
index 9e73204..8aaeb97 100644
--- a/mathcomp/real_closed/polyrcf.v
+++ b/mathcomp/real_closed/polyrcf.v
@@ -441,7 +441,7 @@ elim: (size p) a b lab pa0 pb0=> [|n ihn] a b lab pa0 pb0 max_roots.
rewrite (@max_roots [::]) //=.
by exists (mid a b); rewrite ?mid_in_itv // derivE horner0.
case: (@rolle_weak a b p); rewrite // ?pa0 ?pb0 //=.
-move=> c hc; case: (altP (_ =P 0))=> //= p'c0 pc0; first by exists c.
+move=> c hc; case: (altP (_ =P 0))=> //= p'c0 pc0; first by exists c.
suff: { d : R | d \in `]a, c[ & (p^`()).[d] = 0 }.
case=> [d hd] p'd0; exists d=> //.
by apply: subitvPr hd; rewrite //= (itvP hc).
@@ -860,7 +860,7 @@ rewrite in_cons; case ezy: (z == y)=> /=.
by rewrite (eqP ezy) py0 andbT (subitvPr _ hy) //= ?(itvP hx).
rewrite -(ihs y) //; last exact: path_sorted ss; last first.
by rewrite inE /= (itvP hx) (itvP hy).
-case pz0: root; rewrite ?(andbT, andbF) //.
+case pz0: root; rewrite ?(andbT, andbF) //.
rewrite (@itv_splitU2 _ y); last by rewrite (subitvPr _ hy) //= (itvP hx).
rewrite ezy /=; case: (z \in `]y, b[); rewrite ?orbF ?orbT //.
by apply/negP=> hz; move: (hay z); rewrite hz pz0 in_nil.
@@ -913,7 +913,7 @@ move: (roots_on_nil har1).
case pr1 : (root p r1); case/monotonic_rootN => hrootsl; last 2 first.
- exists s; constructor=> //.
by rewrite -[s]cat0s; apply: (cat_roots_on hr1)=> //; rewrite pr1.
-- case:hrootsl=> r hr; exists (r::s); constructor=> //=.
+- case: hrootsl=> r hr; exists (r::s); constructor=> //=.
by rewrite -cat1s; apply: (cat_roots_on hr1)=> //; rewrite pr1.
rewrite path_min_sorted // => y; rewrite -hroot; case/andP=> hy _.
rewrite (@ltr_trans _ r1) ?(itvP hy) //.
@@ -954,7 +954,7 @@ Proof. by case: rootsP=> //=; rewrite eqxx. Qed.
Lemma roots_on_roots : forall p a b, p != 0 ->
roots_on p `]a, b[ (roots p a b).
-Proof. by move=> a b p; case:rootsP. Qed.
+Proof. by move=> a b p; case: rootsP. Qed.
Hint Resolve roots_on_roots.
Lemma sorted_roots a b p : sorted <%R (roots p a b).
@@ -1012,7 +1012,7 @@ elim: s1 p a b s2 => [| r1 s1 ih] p a b [| r2 s2] ps1 ps2 rs1 rs2 //.
move/(@sym_eq _ true); case/orP => hr2; first by rewrite (eqP hr2).
move: ps1=> /=; move/(order_path_min (@ltr_trans R)); move/allP.
move/(_ r2 hr2) => h1.
- move: (rs2 r1); rewrite (roots_on_root rs1) ?mem_head //.
+ move: (rs2 r1); rewrite (roots_on_root rs1) ?mem_head //.
rewrite !(roots_on_in rs1) ?mem_head //= in_cons.
move/(@sym_eq _ true); case/orP => hr1; first by rewrite (eqP hr1).
move: ps2=> /=; move/(order_path_min (@ltr_trans R)); move/allP.
@@ -1212,7 +1212,7 @@ case; first by move->; rewrite /next_root eqxx.
move=> c p0 ->; case: maxrP=> hab; last by rewrite itv_gte //= ltrW.
by move=> hpz _ py0 hy; move/hpz:hy; rewrite rootE py0 eqxx.
case: next_rootP => //; first by move->; rewrite eqxx.
- by move=> y np0 py0 hy _ c _ _; move/(_ _ hy); rewrite rootE py0 eqxx.
+ by move=> y np0 py0 hy _ c _ _; move/(_ _ hy); rewrite rootE py0 eqxx.
by move=> c _ -> _ c' _ ->.
Qed.
@@ -1507,11 +1507,11 @@ Lemma sgr_neighpr b p x :
Proof.
elim: (size p) {-2}p (leqnn (size p))=> [|n ihn] {p} p.
rewrite leqn0 size_poly_eq0 /neighpr; move/eqP=> -> /=.
- by move=>y; rewrite next_root0 itv_xx.
+ by move=> y; rewrite next_root0 itv_xx.
rewrite leq_eqVlt ltnS; case/orP; last exact: ihn.
move/eqP=> sp; rewrite /sgp_right sp /=.
case px0: root=> /=; last first.
- move=> y; rewrite/neighpr => hy /=; symmetry.
+ move=> y; rewrite /neighpr => hy /=; symmetry.
apply: (@polyrN0_itv `[x, y]); do ?by rewrite bound_in_itv /= (itvP hy).
move=> z; rewrite (@itv_splitU _ x true) ?bound_in_itv /= ?(itvP hy) //.
rewrite itv_xx /=; case/predU1P=> hz; first by rewrite hz px0.
@@ -1547,11 +1547,11 @@ Lemma sgr_neighpl a p x :
Proof.
elim: (size p) {-2}p (leqnn (size p))=> [|n ihn] {p} p.
rewrite leqn0 size_poly_eq0 /neighpl; move/eqP=> -> /=.
- by move=>y; rewrite prev_root0 itv_xx.
+ by move=> y; rewrite prev_root0 itv_xx.
rewrite leq_eqVlt ltnS; case/orP; last exact: ihn.
move/eqP=> sp; rewrite /sgp_right sp /=.
case px0: root=> /=; last first.
- move=> y; rewrite/neighpl => hy /=; symmetry.
+ move=> y; rewrite /neighpl => hy /=; symmetry.
move: (negbT px0); rewrite -mu_gt0; last first.
by apply: contraFN px0; move/eqP->; rewrite rootC.
rewrite -leqNgt leqn0; move/eqP=> -> /=; rewrite expr0 mul1r.
diff --git a/mathcomp/real_closed/qe_rcf.v b/mathcomp/real_closed/qe_rcf.v
index e1b3b97..272c44a 100644
--- a/mathcomp/real_closed/qe_rcf.v
+++ b/mathcomp/real_closed/qe_rcf.v
@@ -160,7 +160,7 @@ Fixpoint eval (e : seq R) (t : term R) {struct t} : R :=
end.
Lemma evalE (e : seq R) (t : term R) : eval e t = GRing.eval e t.
-Proof. by elim: t=> /=; do ?[move->|move=>?]. Qed.
+Proof. by elim: t=> /=; do ?[move->|move=> ?]. Qed.
Definition qf_eval e := fix loop (f : formula R) : bool :=
match f with
@@ -175,7 +175,7 @@ Definition qf_eval e := fix loop (f : formula R) : bool :=
end%qfT.
Lemma qf_evalE (e : seq R) (f : formula R) : qf_eval e f = ord.qf_eval e f.
-Proof. by elim: f=> /=; do ?[rewrite evalE|move->|move=>?]. Qed.
+Proof. by elim: f=> /=; do ?[rewrite evalE|move->|move=> ?]. Qed.
Lemma to_rtermE (t : GRing.term R) :
GRing.rterm t -> to_rterm t = t :> GRing.term _.
@@ -206,10 +206,10 @@ Lemma qf_formF (f : fF) : qf_form f.
Proof. by elim: f=> // *; apply/andP; split. Qed.
Lemma rtermF (t : tF) : GRing.rterm t.
-Proof. by elim: t=> //=; do ?[move->|move=>?]. Qed.
+Proof. by elim: t=> //=; do ?[move->|move=> ?]. Qed.
Lemma rformulaF (f : fF) : rformula f.
-Proof. by elim: f=> /=; do ?[rewrite rtermF|move->|move=>?]. Qed.
+Proof. by elim: f=> /=; do ?[rewrite rtermF|move->|move=> ?]. Qed.
Section If.
@@ -846,7 +846,7 @@ symmetry; rewrite /ctmat1.
apply/matrixP => i j; rewrite !(big_ord_recl, big_ord0, mxE) /=.
have halfP (K : numFieldType) : 2%:R^-1 + 2%:R^-1 = 1 :> K.
by rewrite -mulr2n -[_ *+ 2]mulr_natl mulfV // pnatr_eq0.
-move: i; do ?[case => //=]; move: j; do ?[case => //=] => _ _;
+move: i; do ?[case=> //=]; move: j; do ?[case=> //=] => _ _;
rewrite !(mulr1, mul1r, mulrN1, mulN1r, mulr0, mul0r, opprK);
by rewrite !(addr0, add0r, oppr0, subrr, addrA, halfP).
Qed.
diff --git a/mathcomp/real_closed/qe_rcf_th.v b/mathcomp/real_closed/qe_rcf_th.v
index 3aebce4..b125997 100644
--- a/mathcomp/real_closed/qe_rcf_th.v
+++ b/mathcomp/real_closed/qe_rcf_th.v
@@ -143,7 +143,7 @@ move/eqP: (rdivp_eq q p).
rewrite eq_sym (can2_eq (addKr _ ) (addNKr _)); move/eqP=> hr.
rewrite hr; case qpq0: (rdivp p q == 0).
by rewrite (eqP qpq0) mul0r oppr0 add0r mu_mulC // lcn_neq0.
-rewrite (leq_trans _ (mu_add _ _)) // -?hr //.
+rewrite (leq_trans _ (mu_add _ _)) // -?hr //.
rewrite leq_min mu_opp mu_mul ?mulf_neq0 ?qpq0 ?q0 // leq_addl.
by rewrite mu_mulC // lcn_neq0.
Qed.
@@ -185,7 +185,7 @@ Definition ctmat n := (ctmat1 ^t n).
Lemma ctmat_unit : forall n, zmxR (ctmat n) \in unitmx.
Proof.
case=> [|n] /=; first by rewrite map_mx1 ?unitmx1//; apply: zinjR_morph.
-elim:n=> [|n ihn] /=; first by apply: ctmat1_unit.
+elim: n=> [|n ihn] /=; first by apply: ctmat1_unit.
rewrite map_mxT //.
apply: tensmx_unit=> //; last exact: ctmat1_unit.
by elim: n {ihn}=> // n ihn; rewrite muln_eq0.
@@ -277,7 +277,7 @@ Qed.
Fixpoint sg_tab n : seq (seq int) :=
if n is m.+1
- then flatten (map (fun x => map (fun l => x :: l) (sg_tab m)) [::1;-1;0])
+ then flatten (map (fun x => map (fun l => x :: l) (sg_tab m)) [::1; -1; 0])
else [::[::]].
Lemma sg_tab_nil n : (sg_tab n == [::]) = false.
@@ -522,7 +522,7 @@ have [p'0|p'_neq0] := eqVneq p^`() 0.
move/(root_size_gt1 p_neq0): rpx.
by rewrite -subn_gt0 subn1 -size_deriv p'0 size_poly0.
have p'q0: p^`() * q != 0 by rewrite mulf_neq0.
-move:(p'q0); rewrite mulf_eq0 negb_or; case/andP=> p'0 q0.
+move: (p'q0); rewrite mulf_eq0 negb_or; case/andP=> p'0 q0.
have p0: p != 0 by move: p'0; apply: contra; move/eqP->; rewrite derivC.
rewrite /jump mu_mul// {1}(@mu_deriv_root _ _ p)// addn1 p'q0 /=.
case emq: (\mu_(_) q)=> [|m].
@@ -825,10 +825,10 @@ wlog cpq: p q hpqa hpqb / coprimep p q => [hwlog|].
apply: hwlog; rewrite ?coprimep_div_gcd ?p0 // rootM.
+ apply: contra hpqa; rewrite -!dvdp_XsubCl => /orP.
case=> /dvdp_trans-> //; rewrite (dvdp_trans (divp_dvd _));
- by rewrite ?(dvdp_gcdl, dvdp_gcdr) ?(dvdp_mulIl, dvdp_mulIr).
+ by rewrite ?(dvdp_gcdl, dvdp_gcdr) ?(dvdp_mulIl, dvdp_mulIr).
+ apply: contra hpqb; rewrite -!dvdp_XsubCl => /orP.
case=> /dvdp_trans-> //; rewrite (dvdp_trans (divp_dvd _));
- by rewrite ?(dvdp_gcdl, dvdp_gcdr) ?(dvdp_mulIl, dvdp_mulIr).
+ by rewrite ?(dvdp_gcdl, dvdp_gcdr) ?(dvdp_mulIl, dvdp_mulIr).
have p0: p != 0 by apply: contraNneq hpqa => ->; rewrite mul0r rootC.
have q0: q != 0 by apply: contraNneq hpqa => ->; rewrite mulr0 rootC.
have pq0 : p * q != 0 by rewrite mulf_neq0.
@@ -903,7 +903,7 @@ pose m p q := maxn (size p) (size q).+1; rewrite -!/(m _ _).
suff {p q} Hnext p q : q != 0 -> (m q (next_mod p q) < m p q)%N; last first.
rewrite /m -maxnSS leq_max !geq_max !ltnS leqnn /= /next_mod.
rewrite size_scale ?oppr_eq0 ?lcn_neq0 //=.
- by move=> q_neq0; rewrite ltn_rmodp ?q_neq0 ?orbT.
+ by move=> q_neq0; rewrite ltn_rmodp ?q_neq0 ?orbT.
suff {p q} m_gt0 p q : (0 < m p q)%N; last by rewrite leq_max orbT.
rewrite -[m p q]prednK //=; have [//|p_neq0] := altP (p =P 0).
have [->|q_neq0] := altP (q =P 0); first by rewrite !aux0.
diff --git a/mathcomp/real_closed/realalg.v b/mathcomp/real_closed/realalg.v
index 69fb9c4..0cbba9f 100644
--- a/mathcomp/real_closed/realalg.v
+++ b/mathcomp/real_closed/realalg.v
@@ -229,7 +229,7 @@ Lemma root_inv_algcreal (x : algcreal) (x_neq0 : (x != 0)%CR) :
Proof.
rewrite /div_algcreal; case: eq_algcreal_dec=> [/(_ x_neq0)|x_neq0'] //=.
case: simplify_algcreal=> x' px'0_neq0 [x'_neq0 eq_xx'].
-apply: is_root_annul_creal;rewrite /= -(@eq_creal_inv _ _ _ x_neq0) //.
+apply: is_root_annul_creal; rewrite /= -(@eq_creal_inv _ _ _ x_neq0) //.
by apply: eq_crealP; exists m0=> * /=; rewrite div1r subrr normr0.
Qed.
diff --git a/mathcomp/solvable/abelian.v b/mathcomp/solvable/abelian.v
index d6dac93..2b0ab00 100644
--- a/mathcomp/solvable/abelian.v
+++ b/mathcomp/solvable/abelian.v
@@ -176,7 +176,7 @@ Qed.
Lemma OhmPredP (x : gT) :
reflect (exists2 p, prime p & x ^+ (p ^ n) = 1) (x ^+ (pdiv #[x] ^ n) == 1).
Proof.
-have [-> | nt_x] := eqVneq x 1.
+have [-> | nt_x] := eqVneq x 1.
by rewrite expg1n eqxx; left; exists 2; rewrite ?expg1n.
apply: (iffP idP) => [/eqP | [p p_pr /eqP x_pn]].
by exists (pdiv #[x]); rewrite ?pdiv_prime ?order_gt1.
@@ -702,7 +702,7 @@ move=> p_pr; apply: (iffP (pmaxElemP p G E)) => [[] | defE].
by rewrite cycle_abelem ?p_pr ?orbT // order_dvdn xp.
by rewrite (subsetP sEG) // (subsetP cEE) // (exponentP eE).
split=> [|H]; last first.
- case/pElemP=> sHG /abelemP[// | cHH Hp1] sEH.
+ case/pElemP=> sHG /abelemP[// | cHH Hp1] sEH.
apply/eqP; rewrite eqEsubset sEH andbC /= -defE; apply/subsetP=> x Hx.
by rewrite 3!inE (subsetP sHG) // Hp1 ?(subsetP (centsS _ cHH)) /=.
apply/pElemP; split; first by rewrite -defE -setIA subsetIl.
@@ -1891,7 +1891,7 @@ rewrite big_cons => defG; case/dprodP: defG (defG) => [[_ K _ defK]].
rewrite defK => defHm cxK; rewrite setIC; move/trivgP=> tiKx defHd.
rewrite -{1}defHm {defHm} mulG_subG cycle_subG ltnNge -trivg_card_le1.
case/andP=> Gx sKG; rewrite -(Mho_dprod _ defHd) => /esym defMho /andP[ntx ntb].
-have{defHd} defOhm := Ohm_dprod n defHd.
+have{defHd} defOhm := Ohm_dprod n defHd.
apply/andP; split; last first.
apply: (IHb K) => //; have:= dprod_modr defMho (Mho_sub _ _).
rewrite -(dprod_modr defOhm (Ohm_sub _ _)).
diff --git a/mathcomp/solvable/alt.v b/mathcomp/solvable/alt.v
index baf4792..73a3b1b 100644
--- a/mathcomp/solvable/alt.v
+++ b/mathcomp/solvable/alt.v
@@ -271,7 +271,7 @@ have nSyl5: #|'Syl_5(H)| = 1%N.
move: (card_Syl_dvd 5 H) (card_Syl_mod H prime_5).
rewrite Hcard20; case: (card _) => // n Hdiv.
move: (dvdn_leq (isT: (0 < 20)%N) Hdiv).
- by move: (n) Hdiv; do 20 (case => //).
+ by move: (n) Hdiv; do 20 (case=> //).
case: (Sylow_exists 5 H) => S; case/pHallP=> sSH oS.
have{oS} oS: #|S| = 5 by rewrite oS p_part Hcard20.
suff: 20 %| #|S| by rewrite oS.
@@ -350,7 +350,7 @@ have Hp1: p1 x = x.
have Hcp1: #|[set x | p1 x != x]| <= n.
have F1 y: p y = y -> p1 y = y.
move=> Hy; rewrite /p1 permM Hy.
- case tpermP => //; first by move => <-.
+ case tpermP => //; first by move=> <-.
by move=> Hpx1; apply: (@perm_inj _ p); rewrite -Hpx1.
have F2: p1 x1 = x1 by rewrite /p1 permM tpermR.
have F3: [set x | p1 x != x] \subset [predD1 [set x | p x != x] & x1].
diff --git a/mathcomp/solvable/burnside_app.v b/mathcomp/solvable/burnside_app.v
index 638276c..d602d0a 100644
--- a/mathcomp/solvable/burnside_app.v
+++ b/mathcomp/solvable/burnside_app.v
@@ -79,13 +79,13 @@ Ltac inj_tac :=
end.
Lemma R1_inj : injective R1.
-Proof. by inj_tac; repeat (destruct val => //=; first by apply /eqP). Qed.
+Proof. by inj_tac; repeat (destruct val => //=; first by apply/eqP). Qed.
Lemma R2_inj : injective R2.
-Proof. by inj_tac; repeat (destruct val => //=; first by apply /eqP). Qed.
+Proof. by inj_tac; repeat (destruct val => //=; first by apply/eqP). Qed.
Lemma R3_inj : injective R3.
-Proof. by inj_tac; repeat (destruct val => //=; first by apply /eqP). Qed.
+Proof. by inj_tac; repeat (destruct val => //=; first by apply/eqP). Qed.
Definition r1 := (perm R1_inj).
Definition r2 := (perm R2_inj).
@@ -97,8 +97,8 @@ Definition rot := [set r | is_rot r].
Lemma group_set_rot : group_set rot.
Proof.
-apply /group_setP;split; first by rewrite /rot inE /is_rot mulg1 mul1g.
-move => x1 y; rewrite /rot !inE /= /is_rot; move/eqP => hx1; move/eqP => hy.
+apply/group_setP; split; first by rewrite /rot inE /is_rot mulg1 mul1g.
+move=> x1 y; rewrite /rot !inE /= /is_rot; move/eqP => hx1; move/eqP => hy.
by rewrite -mulgA hy !mulgA hx1.
Qed.
@@ -111,15 +111,15 @@ Lemma rot_eq_c0 : forall r s : {perm square},
Proof.
rewrite /is_rot => r s; move/eqP => hr; move/eqP=> hs hrs; apply/permP => a.
have ->: a = (r1 ^+ a) c0
- by apply/eqP; case: a; do 4?case => //=; rewrite ?permM !permE.
+ by apply/eqP; case: a; do 4?case=> //=; rewrite ?permM !permE.
by rewrite -!permM -!commuteX // !permM hrs.
Qed.
Lemma rot_r1 : forall r, is_rot r -> r = r1 ^+ (r c0).
Proof.
-move=> r hr;apply: rot_eq_c0 => //;apply/eqP.
+move=> r hr; apply: rot_eq_c0 => //; apply/eqP.
by symmetry; apply: commuteX.
-by case: (r c0); do 4?case => //=; rewrite ?permM !permE /=.
+by case: (r c0); do 4?case=> //=; rewrite ?permM !permE /=.
Qed.
Lemma rotations_is_rot : forall r, r \in rotations -> is_rot r.
@@ -145,37 +145,37 @@ Definition Sh (sc : square) : square := tnth [tuple c1; c0; c3; c2] sc.
Lemma Sh_inj : injective Sh.
Proof.
-by apply:(can_inj (g:= Sh)); case; do 4?case => //=;move=> H;apply /eqP.
+by apply: (can_inj (g:= Sh)); case; do 4?case=> //=; move=> H; apply/eqP.
Qed.
Definition sh := (perm Sh_inj).
Lemma sh_inv : sh^-1 = sh.
Proof.
-apply:(mulIg sh);rewrite mulVg ;apply/permP.
-by case; do 4?case => //=; move=> H;rewrite !permE /= !permE; apply /eqP.
+apply: (mulIg sh); rewrite mulVg; apply/permP.
+by case; do 4?case=> //=; move=> H; rewrite !permE /= !permE; apply/eqP.
Qed.
Definition Sv (sc : square) : square := tnth [tuple c3; c2; c1; c0] sc.
Lemma Sv_inj : injective Sv.
Proof.
-by apply : (can_inj (g:= Sv));case; do 4?case => //=;move => H;apply /eqP.
+by apply: (can_inj (g:= Sv)); case; do 4?case=> //=; move=> H; apply/eqP.
Qed.
Definition sv := (perm Sv_inj).
Lemma sv_inv : sv^-1 = sv.
Proof.
-apply:(mulIg sv);rewrite mulVg ;apply/permP.
-by case; do 4?case => //=; move=> H; rewrite !permE /= !permE; apply /eqP.
+apply: (mulIg sv); rewrite mulVg; apply/permP.
+by case; do 4?case=> //=; move=> H; rewrite !permE /= !permE; apply/eqP.
Qed.
Definition Sd1 (sc : square) : square := tnth [tuple c0; c3; c2; c1] sc.
Lemma Sd1_inj : injective Sd1.
Proof.
-by apply: can_inj Sd1 _; case; do 4?case=> //=; move=> H; apply /eqP.
+by apply: can_inj Sd1 _; case; do 4?case=> //=; move=> H; apply/eqP.
Qed.
Definition sd1 := (perm Sd1_inj).
@@ -183,14 +183,14 @@ Definition sd1 := (perm Sd1_inj).
Lemma sd1_inv : sd1^-1 = sd1.
Proof.
apply: (mulIg sd1); rewrite mulVg; apply/permP.
-by case; do 4?case=> //=; move=> H; rewrite !permE /= !permE; apply /eqP.
+by case; do 4?case=> //=; move=> H; rewrite !permE /= !permE; apply/eqP.
Qed.
Definition Sd2 (sc : square) : square := tnth [tuple c2; c1; c0; c3] sc.
Lemma Sd2_inj : injective Sd2.
Proof.
-by apply: can_inj Sd2 _; case; do 4?case=> //=; move=> H; apply /eqP.
+by apply: can_inj Sd2 _; case; do 4?case=> //=; move=> H; apply/eqP.
Qed.
Definition sd2 := (perm Sd2_inj).
@@ -238,8 +238,8 @@ Qed.
Ltac non_inj p a1 a2 heq1 heq2 :=
let h1:= fresh "h1" in
-(absurd (p a1 = p a2);first (by red; move=> h1;move:(perm_inj h1));
-by rewrite heq1 heq2;apply/eqP).
+(absurd (p a1 = p a2); first (by red => - h1; move: (perm_inj h1));
+by rewrite heq1 heq2; apply/eqP).
Ltac is_isoPtac p f e0 e1 e2 e3 :=
suff ->: p = f by [rewrite inE eqxx ?orbT];
@@ -444,7 +444,7 @@ move/eqn_pmul2l <-; rewrite -expnS -card_Fid Fid cardsT.
rewrite -{1}[n]card_ord -cardX.
pose pk k := [ffun i => k (if i == y then x else i) : colors].
rewrite -(@card_image _ _ (fun k : col_squares => (k y, pk k))).
- apply/eqP; apply: eq_card => ck /=; rewrite inE /= [_ \in _]inE.
+ apply/eqP; apply: eq_card => ck /=; rewrite inE /= [_ \in _]inE.
apply/eqP/imageP; last first.
by case=> k _ -> /=; rewrite !ffunE if_same eqxx.
case: ck => c k /= kxy.
@@ -460,7 +460,7 @@ Qed.
Lemma F_Sd2 : 'Fix_to[sd2] = [set x | coin0 x == coin2 x].
Proof.
apply/setP => x; rewrite (sameP afix1P eqP) !inE eqperm_map /=.
-by rewrite /act_f sd2_inv !ffunE !permE /= !eqxx !andbT eq_sym /= andbb.
+by rewrite /act_f sd2_inv !ffunE !permE /= !eqxx !andbT eq_sym /= andbb.
Qed.
Lemma burnside_app_iso :
@@ -555,19 +555,19 @@ Lemma S1_inv : involutive S1f.
Proof. by move=> z; apply/eqP; case: z; do 6?case. Qed.
Lemma S2_inv : involutive S2f.
-Proof. by move=> z; apply /eqP; case: z; do 6?case. Qed.
+Proof. by move=> z; apply/eqP; case: z; do 6?case. Qed.
Lemma S3_inv : involutive S3f.
-Proof. by move=> z; apply /eqP; case: z; do 6?case. Qed.
+Proof. by move=> z; apply/eqP; case: z; do 6?case. Qed.
Lemma S4_inv : involutive S4f.
-Proof. by move=> z; apply /eqP; case: z; do 6?case. Qed.
+Proof. by move=> z; apply/eqP; case: z; do 6?case. Qed.
Lemma S5_inv : involutive S5f.
-Proof. by move=> z; apply /eqP; case: z; do 6?case. Qed.
+Proof. by move=> z; apply/eqP; case: z; do 6?case. Qed.
Lemma S6_inv : involutive S6f.
-Proof. by move=> z; apply /eqP; case: z; do 6?case. Qed.
+Proof. by move=> z; apply/eqP; case: z; do 6?case. Qed.
Lemma S05_inj : injective S05f.
Proof. by apply: can_inj S05f _ => z; apply/eqP; case: z; do 6?case. Qed.
@@ -594,10 +594,10 @@ Lemma R41_inj : injective R41f.
Proof. by apply: can_inj R14f _ => z; apply/eqP; case: z; do 6?case. Qed.
Lemma R32_inj : injective R32f.
-Proof. by apply: can_inj R23f _ => z; apply /eqP; case: z; do 6?case. Qed.
+Proof. by apply: can_inj R23f _ => z; apply/eqP; case: z; do 6?case. Qed.
Lemma R024_inj : injective R024f.
-Proof. by apply: can_inj R042f _ => z; apply /eqP; case: z ; do 6?case. Qed.
+Proof. by apply: can_inj R042f _ => z; apply/eqP; case: z; do 6?case. Qed.
Lemma R042_inj : injective R042f.
Proof. by apply: can_inj R024f _ => z; apply/eqP; case: z; do 6?case. Qed.
@@ -628,7 +628,7 @@ Definition s05 := (perm S05_inj).
Definition s14 : {perm cube}.
Proof.
apply: (@perm _ S14f); apply: can_inj S14f _ => z.
-by apply /eqP; case: z; do 6?case.
+by apply/eqP; case: z; do 6?case.
Defined.
Definition s23 := (perm (inv_inj S23_inv)).
@@ -661,8 +661,8 @@ Definition dir_iso3 := [set p |
s1 == p, s2 == p, s3 == p, s4 == p, s5 == p | s6 == p]].
Definition dir_iso3l := [:: id3; s05; s14; s23; r05; r14; r23; r50; r41;
- r32; r024; r042; r012; r021; r031; r013; r043 ; r034;
- s1 ; s2; s3; s4; s5; s6].
+ r32; r024; r042; r012; r021; r031; r013; r043; r034;
+ s1; s2; s3; s4; s5; s6].
Definition S0 := [:: F5; F4; F3; F2; F1; F0].
Definition S0f (sc : cube) : cube := tnth [tuple of S0] sc.
@@ -730,8 +730,8 @@ by apply: eq_codom; apply: permE.
Qed.
Lemma Lcorrect : seq_iso_L == map sop [:: id3; s05; s14; s23; r05; r14; r23;
- r50; r41; r32; r024; r042; r012; r021; r031; r013; r043 ; r034;
- s1 ; s2; s3; s4; s5; s6].
+ r50; r41; r32; r024; r042; r012; r021; r031; r013; r043; r034;
+ s1; s2; s3; s4; s5; s6].
Proof. by rewrite /= !seqs1. Qed.
Lemma iso0_1 : dir_iso3 =i dir_iso3l.
@@ -791,14 +791,14 @@ Qed.
Ltac iso_tac :=
let a := fresh "a" in apply/permP => a;
- apply/eqP; rewrite !permM !permE; case: a; do 6? case.
+ apply/eqP; rewrite !permM !permE; case: a; do 6?case.
Ltac inv_tac :=
apply: esym (etrans _ (mul1g _)); apply: canRL (mulgK _) _; iso_tac.
Lemma dir_s0p : forall p, (s0 * p) \in dir_iso3 -> p \notin dir_iso3.
Proof.
-move => p Hs0p; move: (ndir_s0p Hs0p); rewrite mulgA.
+move=> p Hs0p; move: (ndir_s0p Hs0p); rewrite mulgA.
have e: (s0^-1=s0) by inv_tac.
by rewrite -{1}e mulVg mul1g.
Qed.
@@ -808,16 +808,16 @@ Definition iso3 := [set p | is_iso3b p].
Lemma is_iso3P : forall p, reflect (is_iso3 p) (p \in iso3).
Proof.
-move => p; apply: (iffP idP); rewrite inE /iso3 /is_iso3b /is_iso3 => e.
- by move => fi; rewrite -!permM (eqP e).
-by apply/eqP;apply/permP=> z; rewrite !permM (e z).
+move=> p; apply: (iffP idP); rewrite inE /iso3 /is_iso3b /is_iso3 => e.
+ by move=> fi; rewrite -!permM (eqP e).
+by apply/eqP; apply/permP=> z; rewrite !permM (e z).
Qed.
Lemma group_set_iso3 : group_set iso3.
Proof.
-apply /group_setP;split.
+apply/group_setP; split.
by apply/is_iso3P => fi; rewrite -!permM mulg1 mul1g.
-move => x1 y; rewrite /iso3 !inE /= /is_iso3.
+move=> x1 y; rewrite /iso3 !inE /= /is_iso3.
rewrite /is_iso3b.
rewrite -mulgA.
move/eqP => hx1; move/eqP => hy.
@@ -828,16 +828,16 @@ Canonical iso_group3 := Group group_set_iso3.
Lemma group_set_diso3 : group_set dir_iso3.
Proof.
-apply/group_setP;split;first by rewrite inE eqxx /=.
-by apply:stable.
+apply/group_setP; split; first by rewrite inE eqxx /=.
+by apply: stable.
Qed.
Canonical diso_group3 := Group group_set_diso3.
Lemma gen_diso3 : dir_iso3 = <<[set r05; r14]>>.
Proof.
-apply/setP; apply/subset_eqP;apply/andP; split;first last.
- by rewrite gen_subG;apply/subsetP => x; rewrite !inE;
- case/orP; move/eqP ->; rewrite eqxx !orbT.
+apply/setP; apply/subset_eqP; apply/andP; split; first last.
+ by rewrite gen_subG; apply/subsetP => x; rewrite !inE;
+ case/orP; move/eqP ->; rewrite eqxx !orbT.
apply/subsetP => x; rewrite !inE.
have -> : s05 = r05 * r05 by iso_tac.
have -> : s14 = r14 * r14 by iso_tac.
@@ -910,7 +910,7 @@ Proof.
have s05_inv: s05^-1=s05 by inv_tac.
apply/setP => x; rewrite infE !inE eqperm_map2 /= /act_g s05_inv !ffunE !permE /=.
apply sym_equal; rewrite !eqxx /= andbT/col1/col2/col3/col4/col5/col0.
-by do 2![rewrite eq_sym; case : {+}(_ == _)=> //= ].
+by do 2![rewrite eq_sym; case: {+}(_ == _)=> //= ].
Qed.
Lemma F_s14 :
@@ -919,7 +919,7 @@ Proof.
have s14_inv: s14^-1=s14 by inv_tac.
apply/setP => x; rewrite infE !inE eqperm_map2 /= /act_g s14_inv !ffunE !permE /=.
apply sym_equal; rewrite !eqxx /= andbT/col1/col2/col3/col4/col5/col0.
-by do 2![rewrite eq_sym; case : {+}(_ == _)=> //= ].
+by do 2![rewrite eq_sym; case: {+}(_ == _)=> //= ].
Qed.
Lemma r05_inv : r05^-1 = r50.
@@ -942,7 +942,7 @@ Lemma F_s23 :
Proof.
apply/setP => x; rewrite infE !inE eqperm_map2 /= /act_g s23_inv !ffunE !permE /=.
apply sym_equal; rewrite !eqxx /= andbT/col1/col2/col3/col4/col5/col0.
-by do 2![rewrite eq_sym; case : {+}(_ == _)=> //=].
+by do 2![rewrite eq_sym; case: {+}(_ == _)=> //=].
Qed.
Lemma F_r05 : 'Fix_to_g[r05]=
@@ -952,7 +952,7 @@ Proof.
apply sym_equal.
apply/setP => x; rewrite infE !inE eqperm_map2 /= /act_g r05_inv !ffunE !permE /=.
rewrite !eqxx /= !andbT /col1/col2/col3/col4/col5/col0.
-by do 3! [rewrite eq_sym;case E: {+}(_ == _); rewrite ?andbF // {E}(eqP E) ].
+by do 3![rewrite eq_sym; case E: {+}(_ == _); rewrite ?andbF // {E}(eqP E) ].
Qed.
Lemma F_r50 : 'Fix_to_g[r50]=
@@ -960,8 +960,8 @@ Lemma F_r50 : 'Fix_to_g[r50]=
&& (col3 x == col4 x)].
Proof.
apply/setP => x; rewrite infE !inE eqperm_map2 /= /act_g r50_inv !ffunE !permE /=.
-apply sym_equal;rewrite !eqxx /= !andbT /col1/col2/col3/col4.
-by do 3![rewrite eq_sym;case E: {+}(_ == _); rewrite ?andbF // {E}(eqP E) ].
+apply sym_equal; rewrite !eqxx /= !andbT /col1/col2/col3/col4.
+by do 3![rewrite eq_sym; case E: {+}(_ == _); rewrite ?andbF // {E}(eqP E) ].
Qed.
Lemma F_r23 : 'Fix_to_g[r23] =
@@ -1137,10 +1137,10 @@ Qed.
Lemma uniq4_uniq6 : forall x y z t : cube,
uniq [:: x; y; z; t] -> exists u, exists v, uniq [:: x; y; z; t; u; v].
Proof.
-move => x y z t Uxt; move:( cardC (mem [:: x; y; z; t])).
+move=> x y z t Uxt; move: ( cardC (mem [:: x; y; z; t])).
rewrite card_ord (card_uniq_tuple Uxt) => hcard.
have hcard2: #|predC (mem [:: x; y; z; t])| = 2.
- by apply:( @addnI 4); rewrite /injective hcard.
+ by apply: ( @addnI 4); rewrite /injective hcard.
have: #|predC (mem [:: x; y; z; t])| != 0 by rewrite hcard2.
case/existsP=> u Hu; exists u.
move: (cardC (mem [:: x; y; z; t; u])); rewrite card_ord => hcard5.
@@ -1150,62 +1150,62 @@ have: #|[predC [:: x; y; z; t; u]]| !=0.
case/existsP=> v; rewrite inE (mem_cat _ [:: _; _; _; _]).
case/norP=> Hv Huv; exists v.
rewrite (cat_uniq [:: x; y; z; t]) Uxt andTb.
-by rewrite -rev_uniq /= negb_or Hu orbF Hv Huv.
+by rewrite -rev_uniq /= negb_or Hu orbF Hv Huv.
Qed.
Lemma card_n4 : forall x y z t : cube, uniq [:: x; y; z; t] ->
#|[set p : col_cubes | (p x == p y) && (p z == p t)]| = (n ^ 4)%N.
Proof.
move=> x y z t Uxt. rewrite -[n]card_ord .
-case:(uniq4_uniq6 Uxt) => u; case => v Uxv.
+case: (uniq4_uniq6 Uxt) => u; case=> v Uxv.
pose ff (p : col_cubes) := (p x, p z, p u , p v).
rewrite -(@card_in_image _ _ ff); first last.
move=> p1 p2; rewrite !inE.
case/andP=> p1y p1t; case/andP=> p2y p2t [px pz] pu pv.
- have eqp12: all (fun i => p1 i == p2 i) [:: x; y; z; t; u ; v].
+ have eqp12: all (fun i => p1 i == p2 i) [:: x; y; z; t; u; v].
by rewrite /= -(eqP p1y) -(eqP p1t) -(eqP p2y) -(eqP p2t) px pz pu pv !eqxx.
apply/ffunP=> i; apply/eqP; apply: (allP eqp12).
by rewrite (subset_cardP _ (subset_predT _)) // (card_uniqP Uxv) card_ord.
have ->:forall n, (n ^ 4)%N= (n*n*n*n)%N.
- by move => n0;rewrite (expnD n0 2 2) -mulnn mulnA.
+ by move=> n0; rewrite (expnD n0 2 2) -mulnn mulnA.
rewrite -!card_prod; apply: eq_card => [] [[[c d]e ]g] /=; apply/imageP.
-rewrite (cat_uniq [::x; y;z;t]) in Uxv; case/and3P: Uxv => _ hasxt.
+rewrite (cat_uniq [::x; y; z; t]) in Uxv; case/and3P: Uxv => _ hasxt.
rewrite /= !inE andbT.
move/negbTE=> nuv .
rewrite (cat_uniq [::x; y]) in Uxt; case/and3P: Uxt => _.
rewrite /= !andbT orbF; case/norP; rewrite !inE => nxyz nxyt _.
-move:hasxt; rewrite /= !orbF; case/norP; rewrite !inE orbA.
+move: hasxt; rewrite /= !orbF; case/norP; rewrite !inE orbA.
case/norP => nxyu nztu.
-rewrite orbA;case/norP=> nxyv nztv.
+rewrite orbA; case/norP=> nxyv nztv.
exists [ffun i => if pred2 x y i then c else if pred2 z t i then d
else if u==i then e else g].
rewrite !inE /= !ffunE //= !eqxx orbT //= !eqxx /= orbT.
by rewrite (negbTE nxyz) (negbTE nxyt).
rewrite {}/ff !ffunE /= !eqxx /=.
rewrite (negbTE nxyz) (negbTE nxyu) (negbTE nztu) (negbTE nxyv) (negbTE nztv).
-by rewrite nuv.
+by rewrite nuv.
Qed.
-Lemma card_n3_3 : forall x y z t: cube, uniq [:: x; y; z;t] ->
+Lemma card_n3_3 : forall x y z t: cube, uniq [:: x; y; z; t] ->
#|[set p : col_cubes | (p x == p y) && (p y == p z)&& (p z == p t)]|
= (n ^ 3)%N.
Proof.
move=> x y z t Uxt; rewrite -[n]card_ord .
-case:(uniq4_uniq6 Uxt) => u; case => v Uxv.
+case: (uniq4_uniq6 Uxt) => u; case=> v Uxv.
pose ff (p : col_cubes) := (p x, p u , p v);
rewrite -(@card_in_image _ _ ff); first last.
move=> p1 p2; rewrite !inE.
- case/andP ;case/andP => p1xy p1yz p1zt.
- case/andP ;case/andP => p2xy p2yz p2zt [px pu] pv.
- have eqp12: all (fun i => p1 i == p2 i) [:: x; y; z; t; u ; v].
+ case/andP; case/andP => p1xy p1yz p1zt.
+ case/andP; case/andP => p2xy p2yz p2zt [px pu] pv.
+ have eqp12: all (fun i => p1 i == p2 i) [:: x; y; z; t; u; v].
by rewrite /= -(eqP p1zt) -(eqP p2zt) -(eqP p1yz) -(eqP p2yz) -(eqP p1xy)
-(eqP p2xy) px pu pv !eqxx.
apply/ffunP=> i; apply/eqP; apply: (allP eqp12).
by rewrite (subset_cardP _ (subset_predT _)) // (card_uniqP Uxv) card_ord.
have ->:forall n, (n ^ 3)%N= (n*n*n)%N.
- by move => n0 ; rewrite (expnD n0 2 1) -mulnn expn1.
+ by move=> n0; rewrite (expnD n0 2 1) -mulnn expn1.
rewrite -!card_prod; apply: eq_card => [] [[c d]e ] /=; apply/imageP.
-rewrite (cat_uniq [::x; y;z;t]) in Uxv; case/and3P: Uxv => _ hasxt.
+rewrite (cat_uniq [::x; y; z; t]) in Uxv; case/and3P: Uxv => _ hasxt.
rewrite /uniq !inE !andbT; move/negbTE=> nuv.
exists
[ffun i => if (i \in [:: x; y; z; t]) then c else if u == i then d else e].
@@ -1214,24 +1214,24 @@ rewrite {}/ff !ffunE !inE /= !eqxx /=; move: hasxt; rewrite nuv.
by do 8![case E: ( _ == _ ); rewrite ?(eqP E)/= ?inE ?eqxx //= ?E {E}].
Qed.
-Lemma card_n2_3 : forall x y z t u v: cube, uniq [:: x; y; z;t; u ; v] ->
+Lemma card_n2_3 : forall x y z t u v: cube, uniq [:: x; y; z; t; u; v] ->
#|[set p : col_cubes | (p x == p y) && (p y == p z)&& (p t == p u )
&& (p u== p v)]| = (n ^ 2)%N.
Proof.
move=> x y z t u v Uxv; rewrite -[n]card_ord .
pose ff (p : col_cubes) := (p x, p t); rewrite -(@card_in_image _ _ ff); first last.
move=> p1 p2; rewrite !inE.
- case/andP ;case/andP ; case/andP => p1xy p1yz p1tu p1uv.
- case/andP ;case/andP; case/andP => p2xy p2yz p2tu p2uv [px pu].
- have eqp12: all (fun i => p1 i == p2 i) [:: x; y; z; t; u ; v].
+ case/andP; case/andP; case/andP => p1xy p1yz p1tu p1uv.
+ case/andP; case/andP; case/andP => p2xy p2yz p2tu p2uv [px pu].
+ have eqp12: all (fun i => p1 i == p2 i) [:: x; y; z; t; u; v].
by rewrite /= -(eqP p1yz) -(eqP p2yz) -(eqP p1xy) -(eqP p2xy) -(eqP p1uv)
-(eqP p2uv) -(eqP p1tu) -(eqP p2tu) px pu !eqxx.
apply/ffunP=> i; apply/eqP; apply: (allP eqp12).
by rewrite (subset_cardP _ (subset_predT _)) // (card_uniqP Uxv) card_ord.
-have ->:forall n, (n ^ 2)%N= (n*n)%N by move => n0 ; rewrite -mulnn .
+have ->:forall n, (n ^ 2)%N= (n*n)%N by move=> n0; rewrite -mulnn .
rewrite -!card_prod; apply: eq_card => [] [c d]/=; apply/imageP.
-rewrite (cat_uniq [::x; y;z]) in Uxv; case/and3P: Uxv => Uxt hasxt nuv .
-move:hasxt;rewrite /= !orbF; case/norP; rewrite !inE => nxyzt.
+rewrite (cat_uniq [::x; y; z]) in Uxv; case/and3P: Uxv => Uxt hasxt nuv .
+move: hasxt; rewrite /= !orbF; case/norP; rewrite !inE => nxyzt.
case/norP => nxyzu nxyzv.
exists [ffun i => if (i \in [:: x; y; z] ) then c else d].
rewrite !inE /= !ffunE !inE //= !eqxx !orbT !eqxx //=.
@@ -1239,7 +1239,7 @@ exists [ffun i => if (i \in [:: x; y; z] ) then c else d].
by rewrite {}/ff !ffunE !inE /= !eqxx /= (negbTE nxyzt).
Qed.
-Lemma card_n3s : forall x y z t u v: cube, uniq [:: x; y; z;t; u ; v] ->
+Lemma card_n3s : forall x y z t u v: cube, uniq [:: x; y; z; t; u; v] ->
#|[set p : col_cubes | (p x == p y) && (p z == p t)&& (p u == p v )]|
= (n ^ 3)%N.
Proof.
@@ -1247,22 +1247,22 @@ move=> x y z t u v Uxv; rewrite -[n]card_ord .
pose ff (p : col_cubes) := (p x, p z, p u).
rewrite -(@card_in_image _ _ ff); first last.
move=> p1 p2; rewrite !inE.
- case/andP ;case/andP => p1xy p1zt p1uv.
- case/andP ;case/andP => p2xy p2zt p2uv [px pz] pu.
- have eqp12: all (fun i => p1 i == p2 i) [:: x; y; z; t; u ; v].
+ case/andP; case/andP => p1xy p1zt p1uv.
+ case/andP; case/andP => p2xy p2zt p2uv [px pz] pu.
+ have eqp12: all (fun i => p1 i == p2 i) [:: x; y; z; t; u; v].
by rewrite /= -(eqP p1xy) -(eqP p2xy) -(eqP p1zt) -(eqP p2zt) -(eqP p1uv)
-(eqP p2uv) px pz pu !eqxx.
apply/ffunP=> i; apply/eqP; apply: (allP eqp12).
by rewrite (subset_cardP _ (subset_predT _)) // (card_uniqP Uxv) card_ord.
have ->:forall n, (n ^ 3)%N= (n*n*n)%N.
- by move => n0 ; rewrite (expnD n0 2 1) -mulnn expn1.
+ by move=> n0; rewrite (expnD n0 2 1) -mulnn expn1.
rewrite -!card_prod. apply: eq_card => [] [[c d]e ] /=; apply/imageP.
-rewrite (cat_uniq [::x; y;z;t]) in Uxv; case/and3P: Uxv => Uxt hasxt nuv .
+rewrite (cat_uniq [::x; y; z; t]) in Uxv; case/and3P: Uxv => Uxt hasxt nuv .
rewrite (cat_uniq [::x; y]) in Uxt; case/and3P: Uxt => _.
-rewrite /= !orbF !andbT; case/norP ; rewrite !inE => nxyz nxyt _.
+rewrite /= !orbF !andbT; case/norP; rewrite !inE => nxyz nxyt _.
move: hasxt; rewrite /= !orbF; case/norP; rewrite !inE orbA.
case/norP => nxyu nztu.
-rewrite orbA;case/norP=> nxyv nztv.
+rewrite orbA; case/norP=> nxyv nztv.
exists [ffun i => if (i \in [:: x; y] ) then c else if (i \in [:: z; t] )
then d else e].
rewrite !inE /= !ffunE !inE // !eqxx !orbT !eqxx //=.
@@ -1276,15 +1276,15 @@ Lemma burnside_app_iso3 :
(cube_coloring_number24 * 24 =
n ^ 6 + 6 * n ^ 3 + 3 * n ^ 4 + 8 * (n ^ 2) + 6 * n ^ 3)%N.
Proof.
-pose iso_list :=[::id3; s05; s14; s23; r05; r14; r23; r50; r41; r32;
- r024; r042; r012; r021; r031; r013; r043 ; r034;
- s1 ; s2; s3; s4; s5; s6].
+pose iso_list :=[::id3; s05; s14; s23; r05; r14; r23; r50; r41; r32;
+ r024; r042; r012; r021; r031; r013; r043; r034;
+ s1; s2; s3; s4; s5; s6].
rewrite (burnside_formula iso_list) => [||p]; last first.
-- by rewrite !inE /= !(eq_sym _ p).
+- by rewrite !inE /= !(eq_sym _ p).
- apply: map_uniq (fun p : {perm cube} => (p F0, p F1)) _ _.
have bsr:(fun p : {perm cube} => (p F0, p F1)) =1
(fun p => (nth F0 p F0, nth F0 p F1)) \o sop.
- by move => x; rewrite /= -2!sop_spec.
+ by move=> x; rewrite /= -2!sop_spec.
by rewrite (eq_map bsr) map_comp -(eqP Lcorrect); vm_compute.
rewrite !big_cons big_nil {1}card_Fid3 /= F_s05 F_s14 F_s23 F_r05 F_r14 F_r23
F_r50 F_r41 F_r32 F_r024 F_r042 F_r012 F_r021 F_r031 F_r013 F_r043 F_r034
diff --git a/mathcomp/solvable/center.v b/mathcomp/solvable/center.v
index d63c302..54726be 100644
--- a/mathcomp/solvable/center.v
+++ b/mathcomp/solvable/center.v
@@ -70,7 +70,7 @@ Canonical center_pgFun := [pgFun by morphim_center].
Section Center.
Variables gT : finGroupType.
-Implicit Type rT : finGroupType.
+Implicit Type rT : finGroupType.
Implicit Types (x y : gT) (A B : {set gT}) (G H K D : {group gT}).
Lemma subcentP A B x : reflect (x \in A /\ centralises x B) (x \in 'C_A(B)).
@@ -101,7 +101,7 @@ Proof. exact: subcentP. Qed.
Lemma center_sub A : 'Z(A) \subset A.
Proof. exact: subsetIl. Qed.
-Lemma center1 : 'Z(1) = 1 :> {set gT}.
+Lemma center1 : 'Z(1) = 1 :> {set gT}.
Proof. exact: gF1. Qed.
Lemma centerC A : {in A, centralised 'Z(A)}.
@@ -338,7 +338,7 @@ Proof.
transitivity ('ker (subg [group of setX H K / kerHK] \o coset kerHK)).
rewrite /ker /morphpre /= /in_cprod /cprod_by; case: cprod_by_key => /=.
by rewrite ['N(_) :&: _]quotientGK ?sub_center_normal ?ker_cprod_by_central.
-by rewrite ker_comp ker_subg -kerE ker_coset.
+by rewrite ker_comp ker_subg -kerE ker_coset.
Qed.
Lemma cpairg1_dom : H \subset 'dom (in_cprod \o @pairg1 gTH gTK).
diff --git a/mathcomp/solvable/commutator.v b/mathcomp/solvable/commutator.v
index f3e0779..1f9bad0 100644
--- a/mathcomp/solvable/commutator.v
+++ b/mathcomp/solvable/commutator.v
@@ -272,7 +272,7 @@ Qed.
Lemma der1_joing_cycles (x y : gT) :
let XY := <[x]> <*> <[y]> in let xy := [~ x, y] in
xy \in 'C(XY) -> XY^`(1) = <[xy]>.
-Proof.
+Proof.
rewrite joing_idl joing_idr /= -sub_cent1 => /norms_gen nRxy.
apply/eqP; rewrite eqEsubset cycle_subG mem_commg ?mem_gen ?set21 ?set22 //.
rewrite der1_min // quotient_gen -1?gen_subG // quotientU abelian_gen.
diff --git a/mathcomp/solvable/cyclic.v b/mathcomp/solvable/cyclic.v
index 8073449..9a1e451 100644
--- a/mathcomp/solvable/cyclic.v
+++ b/mathcomp/solvable/cyclic.v
@@ -316,7 +316,7 @@ Hypothesis dvd_y_x : #[y] %| #[x].
Lemma eltmE i : eltm dvd_y_x (x ^+ i) = y ^+ i.
Proof.
apply/eqP; rewrite eq_expg_mod_order.
-have [x_le1 | x_gt1] := leqP #[x] 1.
+have [x_le1 | x_gt1] := leqP #[x] 1.
suffices: #[y] %| 1 by rewrite dvdn1 => /eqP->; rewrite !modn1.
by rewrite (dvdn_trans dvd_y_x) // dvdn1 order_eq1 -cycle_eq1 trivg_card_le1.
rewrite -(expg_znat i (cycle_id x)) invmE /=; last by rewrite /Zp x_gt1 inE.
@@ -536,7 +536,7 @@ Lemma metacyclicP A :
Proof. exact: 'exists_and3P. Qed.
Lemma metacyclic1 : metacyclic 1.
-Proof.
+Proof.
by apply/existsP; exists 1%G; rewrite normal1 trivg_quotient !cyclic1.
Qed.
diff --git a/mathcomp/solvable/extraspecial.v b/mathcomp/solvable/extraspecial.v
index 9d158cc..2c7f6c3 100644
--- a/mathcomp/solvable/extraspecial.v
+++ b/mathcomp/solvable/extraspecial.v
@@ -127,7 +127,7 @@ Qed.
Lemma Grp_pX1p2 :
p^{1+2} \isog Grp (x : y : (x ^+ p, y ^+ p, [~ x, y, x], [~ x, y, y])).
Proof.
-rewrite [@gtype _]unlock ; apply: intro_isoGrp => [|rT H].
+rewrite [@gtype _]unlock; apply: intro_isoGrp => [|rT H].
apply/existsP; pose x := sdpair1 actp (0, 1)%R; pose y := sdpair2 actp 1%R.
exists (x, y); rewrite /= !xpair_eqE; set z := [~ x, y]; set G := _ <*> _.
have def_z: z = sdpair1 actp (1, 0)%R.
@@ -463,7 +463,7 @@ have ox: #[x] = p.
have defCy: 'C_G(Y) = Z * <[x]>.
apply/eqP; rewrite eq_sym eqEcard mulG_subG setIS ?centS //=.
rewrite cycle_subG inE Gx cYx oCY TI_cardMg ?oZ -?orderE ?ox //=.
- by rewrite setIC prime_TIg -?orderE ?ox ?cycle_subG.
+ by rewrite setIC prime_TIg -?orderE ?ox ?cycle_subG.
have abelYt: p.-abelem (Y / Z).
by rewrite (abelemS (quotientS _ sYG)) //= -/Z -defPhiG Phi_quotient_abelem.
have Yxt: coset Z x \in Y / Z by rewrite mem_quotient.
diff --git a/mathcomp/solvable/extremal.v b/mathcomp/solvable/extremal.v
index 342eeae..9ac5236 100644
--- a/mathcomp/solvable/extremal.v
+++ b/mathcomp/solvable/extremal.v
@@ -343,7 +343,7 @@ have [ms0 os0]: m s0 = (p ^ n).+1%:R /\ #[s0] = p.
rewrite subnK // mulSn -mulnA -expnS -addSn natrD natrM -oG char_Zp //.
rewrite mulr0 addr0 => m_s0; split => //.
have [d _] := m_se (n - e0)%N; rewrite -subnSK // expnSr expgM -/s0.
- rewrite addSn subnK // -oG mulrS natrM char_Zp // {d}mulr0 addr0.
+ rewrite addSn subnK // -oG mulrS natrM char_Zp // {d}mulr0 addr0.
move/eqP; rewrite -m1 (inj_in_eq inj_m) ?group1 ?groupX // -order_dvdn.
move/min_p; rewrite order_eq1; case/predU1P=> [s0_1 | ]; last by move/eqP.
move/eqP: m_s0; rewrite eq_sym s0_1 m1 -subr_eq0 mulrSr addrK -val_eqE /=.
@@ -361,7 +361,7 @@ have defS1: 'Ohm_1(<[s]>) = <[s0]>.
rewrite (Ohm1_cyclic_pgroup_prime _ p_s) ?cycle_cyclic ?leqnn ?cycle_eq1 //=.
rewrite (OhmE _ p_s) mem_gen ?groupX //= !inE mem_cycle //.
by rewrite -order_dvdn os0 ?dvdnn.
- by apply/eqP=> s1; rewrite -os0 /s0 s1 expg1n order1 in p_gt1.
+ by apply/eqP=> s1; rewrite -os0 /s0 s1 expg1n order1 in p_gt1.
case: (even_prime p_pr) => [p2 | oddp]; last first.
rewrite {+}/e0 oddp subn0 in s0 os0 ms0 os ms defS1 *.
have [f defF] := cyclicP cycF; have defP: P = <[s]>.
@@ -591,7 +591,7 @@ rewrite (mulnC r) /r {1}def_n expnSr mulnA -mulnDl -mulnA -expnS.
rewrite subnSK // subn2 /q -def_n1 expnS dvdn_pmul2r // dvdn_addl.
by case/dvdnP=> k ->; rewrite mulnC expgM mem_mulg ?mem_cycle.
case: (ltngtP n 3) => [|n_gt3|n3]; first by rewrite ltnNge n_gt2.
- by rewrite -subnSK // expnSr mulnA dvdn_mull.
+ by rewrite -subnSK // expnSr mulnA dvdn_mull.
case: (even_prime p_pr) notG8 => [-> | oddp _]; first by rewrite n3.
by rewrite bin2odd // -!mulnA dvdn_mulr.
Qed.
@@ -756,7 +756,7 @@ set B := [set: gT] => oB; set K := _ :\: _.
case/existsP=> -[u v] /= /eqP[defB uq v4 uv].
have nUV: <[v]> \subset 'N(<[u]>) by rewrite norms_cycle uv groupV cycle_id.
rewrite norm_joinEr // in defB.
-have le_ou: #[u] <= q by rewrite dvdn_leq ?expn_gt0 // order_dvdn uq.
+have le_ou: #[u] <= q by rewrite dvdn_leq ?expn_gt0 // order_dvdn uq.
have le_ov: #[v] <= 4 by rewrite dvdn_leq // order_dvdn v4.
have tiUV: <[u]> :&: <[v]> = 1 by rewrite cardMg_TI // defB oB leq_mul.
have{le_ou le_ov} [ou ov]: #[u] = q /\ #[v] = 4.
@@ -1011,7 +1011,7 @@ have def_tG: {in G :\: X, forall t, t ^: G = <[x ^+ 2]> :* t}.
move=> t X't; have [Gt notXt] := setDP X't.
have defJt: {in X, forall z, t ^ z = z ^- 2 * t}.
move=> z Xz; rewrite /= invMg -mulgA (conjgC _ t).
- by rewrite (invXX' _ t) ?groupV ?invgK.
+ by rewrite (invXX' _ t) ?groupV ?invgK.
have defGt: X * <[t]> = G by rewrite (mulg_normal_maximal nsXG) ?cycle_subG.
apply/setP=> tz; apply/imsetP/rcosetP=> [[t'z] | [z]].
rewrite -defGt -normC ?cycle_subG ?(subsetP nXG) //.
@@ -1067,7 +1067,7 @@ split.
- split=> //= H; apply/idP/idP=> [maxH |]; last first.
by case/or3P=> /eqP->; rewrite ?maxMt.
have [sHG nHG]:= andP (p_maximal_normal pG maxH).
- have oH: #|H| = q.
+ have oH: #|H| = q.
apply: double_inj; rewrite -muln2 -(p_maximal_index pG maxH) Lagrange //.
by rewrite oG -mul2n.
rewrite !(eq_sym (gval H)) -eq_sym !eqEcard oH -orderE ox !oMt // !leqnn.
@@ -1212,7 +1212,7 @@ have def_tG: {in G :\: X, forall t, t ^: G = <[x ^+ 2]> :* t}.
move=> t X't; have [Gt notXt] := setDP X't.
have defJt: {in X, forall z, t ^ z = z ^- 2 * t}.
move=> z Xz; rewrite /= invMg -mulgA (conjgC _ t).
- by rewrite (invXX' _ t) ?groupV ?invgK.
+ by rewrite (invXX' _ t) ?groupV ?invgK.
have defGt: X * <[t]> = G by rewrite (mulg_normal_maximal nsXG) ?cycle_subG.
apply/setP=> tz; apply/imsetP/rcosetP=> [[t'z] | [z]].
rewrite -defGt -normC ?cycle_subG ?(subsetP nXG) //.
@@ -1795,7 +1795,7 @@ have p_i: p %| i.
case=> [[n_gt23 xy] | [p2 Z_xxy]].
suffices ->: cG = ModularGroup by []; apply/modular_group_classP.
exists p => //; exists n => //; rewrite isogEcard card_modular_group //.
- rewrite oG leqnn andbT Grp_modular_group // -/q -/r.
+ rewrite oG leqnn andbT Grp_modular_group // -/q -/r.
have{i def_yp p_i} [i def_yp]: exists i, y ^- p = x ^+ i ^+ p.
by case/dvdnP: p_i => j def_i; exists j; rewrite -expgM -def_i.
have Zyx: [~ y, x] \in Z.
@@ -1825,7 +1825,7 @@ case=> [[n_gt23 xy] | [p2 Z_xxy]].
by rewrite -p2 -oZ order_dvdG.
have{i def_yp p_i} Zy2: y ^+ 2 \in Z.
rewrite defZ (OhmE _ pX) -groupV -p2 def_yp mem_gen // !inE groupX //= p2.
- rewrite expgS -{2}def_yp -(mulKg y y) -conjgE -conjXg -conjVg def_yp conjXg.
+ rewrite expgS -{2}def_yp -(mulKg y y) -conjgE -conjXg -conjVg def_yp conjXg.
rewrite -expgMn //; last by apply: (centsP cXX); rewrite ?memJ_norm.
by rewrite -order_dvdn (dvdn_trans (order_dvdG Z_xxy)) ?oZ.
rewrite !cycle_traject !orderE oZ p2 !inE !mulg1 /= in Z_xxy Zy2 *.
diff --git a/mathcomp/solvable/finmodule.v b/mathcomp/solvable/finmodule.v
index 97b2ebc..5a2b35b 100644
--- a/mathcomp/solvable/finmodule.v
+++ b/mathcomp/solvable/finmodule.v
@@ -140,13 +140,13 @@ Canonical fmod_morphism := Morphism fmodM.
Lemma fmodX n : {in A, {morph fmod : x / (x ^+ n)%g >-> x *+ n}}.
Proof. exact: morphX. Qed.
Lemma fmodV : {morph fmod : x / x^-1%g >-> - x}.
-Proof.
+Proof.
move=> x; apply: val_inj; rewrite fmvalN !fmodKcond groupV.
by case: (x \in A); rewrite ?invg1.
Qed.
Lemma injm_fmod : 'injm fmod.
-Proof.
+Proof.
by apply/injmP=> x y Ax Ay []; move/val_inj; apply: (injmP (injm_subg A)).
Qed.
@@ -212,13 +212,13 @@ Proof.
by move=> x y Nx Ny /= u; apply: val_inj; rewrite !fmvalJ ?conjgM ?groupM.
Qed.
-Lemma actrK x : cancel (actr^~ x) (actr^~ x^-1%g).
+Lemma actrK x : cancel (actr^~ x) (actr^~ x^-1%g).
Proof.
move=> u; apply: val_inj; rewrite !fmvalJcond groupV.
by case: ifP => -> //; rewrite conjgK.
Qed.
-Lemma actrKV x : cancel (actr^~ x^-1%g) (actr^~ x).
+Lemma actrKV x : cancel (actr^~ x^-1%g) (actr^~ x).
Proof. by move=> u; rewrite /= -{2}(invgK x) actrK. Qed.
End OneFinMod.
@@ -330,7 +330,7 @@ have{cocycle_nu} fM: {in G &, {morph f : x y / x * y}}.
move=> x y Gx Gy; rewrite /f ?rHmul // -3!mulgA; congr (_ * _).
rewrite (mulgA _ (rH y)) (conjgC _ (rH y)) -mulgA; congr (_ * _).
rewrite -fmvalJ ?actrH ?nHG ?GrH // -!fmvalA actZr -mulrnDl.
- rewrite -(addrC (nu y)) cocycle_nu // mulrnDl !fmvalA; congr (_ * _).
+ rewrite -(addrC (nu y)) cocycle_nu // mulrnDl !fmvalA; congr (_ * _).
by rewrite !fmvalZ expgK ?fmodP.
exists (Morphism fM @* G)%G; apply/complP; split.
apply/trivgP/subsetP=> x /setIP[Hx /morphimP[y _ Gy eq_x]].
@@ -479,7 +479,7 @@ Lemma mulg_exp_card_rcosets x : x * (g ^+ n_ x) \in H :* x.
Proof.
rewrite /n_ /indexg -orbitRs -pcycle_actperm ?inE //.
rewrite -{2}(iter_pcycle (actperm 'Rs g) (H :* x)) -permX -morphX ?inE //.
-by rewrite actpermE //= rcosetE -rcosetM rcoset_refl.
+by rewrite actpermE //= rcosetE -rcosetM rcoset_refl.
Qed.
Let HGg : {set {set {set gT}}} := orbit 'Rs <[g]> @: HG.
@@ -545,9 +545,9 @@ have pcyc_eq x: pcyc x =i traj x by apply: pcycle_traject.
have uniq_traj x: uniq (traj x) by apply: uniq_traject_pcycle.
have n_eq x: n_ x = #|pcyc x| by rewrite -Hgr_eq.
have size_traj x: size (traj x) = n_ x by rewrite n_eq size_traject.
-have nth_traj x j: j < n_ x -> nth (H :* x) (traj x) j = H :* (x * g ^+ j).
+have nth_traj x j: j < n_ x -> nth (H :* x) (traj x) j = H :* (x * g ^+ j).
move=> lt_j_x; rewrite nth_traject -?n_eq //.
- by rewrite -permX -morphX ?inE // actpermE //= rcosetE rcosetM.
+ by rewrite -permX -morphX ?inE // actpermE //= rcosetE rcosetM.
have sYG: Y \subset G.
apply/bigcupsP=> x Xx; apply/subsetP=> _ /imsetP[i _ ->].
by rewrite groupM ?groupX // sXG.
@@ -586,7 +586,7 @@ rewrite /traj -n_eq; case def_n: (n_ x) (n_gt0) => // [n] _.
rewrite conjgE invgK -{1}[H :* x]rcoset1 -{1}(expg0 g).
elim: {1 3}n 0%N (addn0 n) => [|m IHm] i def_i /=.
rewrite big_seq1 {i}[i]def_i rYE // ?def_n //.
- rewrite -(mulgA _ _ g) -rcosetM -expgSr -[(H :* x) :* _]rcosetE.
+ rewrite -(mulgA _ _ g) -rcosetM -expgSr -[(H :* x) :* _]rcosetE.
rewrite -actpermE morphX ?inE // permX // -{2}def_n n_eq iter_pcycle mulgA.
by rewrite -[H :* x]rcoset1 (rYE _ 0%N) ?mulg1.
rewrite big_cons rYE //; last by rewrite def_n -def_i ltnS leq_addl.
diff --git a/mathcomp/solvable/frobenius.v b/mathcomp/solvable/frobenius.v
index e4a716d..da65950 100644
--- a/mathcomp/solvable/frobenius.v
+++ b/mathcomp/solvable/frobenius.v
@@ -567,7 +567,7 @@ have hallK: Hall G K.
rewrite !inE -andbA -sub_cent1=> /and4P[_ Kz _ cPz] ntz.
by apply: subset_trans (regK z _); [apply/subsetIP | apply/setD1P].
have /splitsP[H /complP[tiKH defG]] := SchurZassenhaus_split hallK nsKG.
-have [_ sHG] := mulG_sub defG; have nKH := subset_trans sHG nKG.
+have [_ sHG] := mulG_sub defG; have nKH := subset_trans sHG nKG.
exists H; apply/Frobenius_semiregularP; rewrite ?sdprodE //.
by apply: contraNneq (proper_subn ltKG) => H1; rewrite -defG H1 mulg1.
apply: semiregular_sym => x Kx; apply/trivgP; rewrite -tiKH.
@@ -603,7 +603,7 @@ have partG: partition (gval K |: (H^# :^: K)) G.
apply: Frobenius_partition; apply/andP; rewrite defG; split=> //.
by apply/Frobenius_actionP; apply: HasFrobeniusAction FrobG.
have{FrobG} [ffulG transG regG ntH [u Su defH]]:= FrobG.
-apply/setP=> x; rewrite !inE; have [-> | ntx] := altP eqP; first exact: group1.
+apply/setP=> x; rewrite !inE; have [-> | ntx] := altP eqP; first exact: group1.
rewrite /= -(cover_partition partG) /cover.
have neKHy y: gval K <> H^# :^ y.
by move/setP/(_ 1); rewrite group1 conjD1g setD11.
diff --git a/mathcomp/solvable/gfunctor.v b/mathcomp/solvable/gfunctor.v
index fc8385d..7fbee8c 100644
--- a/mathcomp/solvable/gfunctor.v
+++ b/mathcomp/solvable/gfunctor.v
@@ -158,7 +158,7 @@ End Definitions.
Section ClassDefinitions.
Structure iso_map := IsoMap {
- apply : object_map;
+ apply: object_map;
_ : group_valued apply;
_ : closed apply;
_ : iso_continuous apply
diff --git a/mathcomp/solvable/gseries.v b/mathcomp/solvable/gseries.v
index 772db33..6dcd833 100644
--- a/mathcomp/solvable/gseries.v
+++ b/mathcomp/solvable/gseries.v
@@ -420,7 +420,7 @@ Qed.
Lemma maxnormal_minnormal G L M :
G \subset 'N(M) -> L \subset 'N(G) -> maxnormal M G L ->
- minnormal (G / M) (L / M).
+ minnormal (G / M) (L / M).
Proof.
move=> nMG nGL /maxgroupP[/andP[/andP[sMG ltMG] nML] maxM]; apply/mingroupP.
rewrite -subG1 quotient_sub1 ?ltMG ?quotient_norms //.
@@ -544,7 +544,7 @@ Proof. by case/and3P=> /quotient_cents2r *; rewrite subsetI quotientS. Qed.
Lemma central_central_factor H K :
(K / H) \subset 'Z(G / H) -> H <| K -> H <| G -> central_factor G H K.
Proof.
-case/subsetIP=> sKGb cGKb /andP[sHK nHK] /andP[sHG nHG].
+case/subsetIP=> sKGb cGKb /andP[sHK nHK] /andP[sHG nHG].
by rewrite /central_factor -quotient_cents2 // cGKb sHK -(quotientSGK nHK).
Qed.
diff --git a/mathcomp/solvable/hall.v b/mathcomp/solvable/hall.v
index d59964b..68c2863 100644
--- a/mathcomp/solvable/hall.v
+++ b/mathcomp/solvable/hall.v
@@ -291,7 +291,7 @@ case: (SchurZassenhaus_trans_sol _ nMK sK1G1 coMK) => [||x Mx defK1].
by apply/trivgP; rewrite -trMH /= setIA subsetIl.
rewrite -coprime_cardMg // defG1; apply/eqP; congr #|(_ : {set _})|.
rewrite group_modl; last by rewrite -defG1 mulG_subl.
- by apply/setIidPr; rewrite defG gen_subG subUset sKG.
+ by apply/setIidPr; rewrite defG gen_subG subUset sKG.
exists x^-1; first by rewrite groupV (subsetP sMG).
by rewrite -(_ : K1 :^ x^-1 = K) ?(conjSg, subsetIl) // defK1 conjsgK.
Qed.
@@ -310,7 +310,7 @@ Corollary Hall_trans pi (G H1 H2 : {group gT}) :
solvable G -> pi.-Hall(G) H1 -> pi.-Hall(G) H2 ->
exists2 x, x \in G & H1 :=: H2 :^ x.
Proof.
-move=> solG; have [H hallH transH] := Hall_exists_subJ pi solG.
+move=> solG; have [H hallH transH] := Hall_exists_subJ pi solG.
have conjH (K : {group gT}):
pi.-Hall(G) K -> exists2 x, x \in G & K = (H :^ x)%G.
- move=> hallK; have [sKG piK _] := and3P hallK.
@@ -418,7 +418,7 @@ Proposition coprime_Hall_trans A G H1 H2 :
exists2 x, x \in 'C_G(A) & H1 :=: H2 :^ x.
Proof.
move: H1 => H nGA coGA solG hallH nHA hallH2.
-have{H2 hallH2} [x Gx -> nH1xA] := Hall_trans solG hallH2 hallH.
+have{H2 hallH2} [x Gx -> nH1xA] := Hall_trans solG hallH2 hallH.
have sG_AG: G \subset A <*> G by rewrite -{1}genGid genS ?subsetUr.
have nG_AG: A <*> G \subset 'N(G) by rewrite gen_subG subUset nGA normG.
pose N := 'N_(A <*> G)(H)%G.
diff --git a/mathcomp/solvable/jordanholder.v b/mathcomp/solvable/jordanholder.v
index 6a8de0e..66f6156 100644
--- a/mathcomp/solvable/jordanholder.v
+++ b/mathcomp/solvable/jordanholder.v
@@ -306,7 +306,7 @@ Qed.
Lemma acts_qact_doms (H : {group rT}) :
H \subset D -> [acts A, on H | to] -> qact_dom to H :=: A.
Proof.
-move=> sHD aH; apply/eqP; rewrite eqEsubset; apply/andP.
+move=> sHD aH; apply/eqP; rewrite eqEsubset; apply/andP.
split; first exact: qact_dom_doms.
apply/subsetP=> x Ax; rewrite qact_domE //; apply/gastabsP=> //.
by move/gactsP: aH; move/(_ x Ax).
@@ -527,11 +527,11 @@ have: K' :=: 1%G \/ K' :=: (G / H).
apply/morphimP; exists (to z x) => //.
suff h: qact_dom to H \subset A.
by rewrite astabs_act // (subsetP aK) //; apply: (subsetP h).
- by apply/subsetP=> t; rewrite qact_domE // inE; case/ andP.
+ by apply/subsetP=> t; rewrite qact_domE // inE; case/andP.
case; last first.
move/quotient_injG; rewrite !inE /=; move/(_ nKH nHG)=> c; move: nsGK.
by rewrite c subxx.
-rewrite /= -trivg_quotient; move=> tK'; apply:(congr1 (@gval _)); move: tK'.
+rewrite /= -trivg_quotient => - tK'; apply: (congr1 (@gval _)); move: tK'.
by apply: (@quotient_injG _ H); rewrite ?inE /= ?normal_refl.
Qed.
@@ -565,7 +565,7 @@ have aKQ1 : [acts qact_dom to N1, on K | to / N1].
have sH'N2 : H' \subset N2.
rewrite /H' eHH' quotientGK ?normal_cosetpre //=.
by rewrite sub_cosetpre_quo ?normal_sub.
- have -> : f1 @* H' = coset N1 @* H' by rewrite f1im //=.
+ have -> : f1 @* H' = coset N1 @* H' by rewrite f1im //=.
apply: qacts_coset => //; apply: qacts_cosetpre => //; last exact: gactsI.
by apply: (subset_trans (subsetIr _ _)).
have injf2 : 'injm f2.
diff --git a/mathcomp/solvable/maximal.v b/mathcomp/solvable/maximal.v
index 4255bd9..e5c2d4f 100644
--- a/mathcomp/solvable/maximal.v
+++ b/mathcomp/solvable/maximal.v
@@ -301,7 +301,7 @@ case: (eqsVneq P 1) => [-> | ntP] in sPhiP *.
have [p_pr _ _] := pgroup_pdiv pP ntP.
have [abP x1P] := abelemP p_pr Phi_quotient_abelem.
apply/andP; split.
- have nMP: P \subset 'N(P^`(1) <*> 'Mho^1(P)) by rewrite normsY // !gFnorm.
+ have nMP: P \subset 'N(P^`(1) <*> 'Mho^1(P)) by rewrite normsY // !gFnorm.
rewrite -quotient_sub1 ?gFsub_trans //=.
suffices <-: 'Phi(P / (P^`(1) <*> 'Mho^1(P))) = 1 by apply: morphimF.
apply/eqP; rewrite (trivg_Phi (morphim_pgroup _ pP)) /= -quotientE.
@@ -530,7 +530,7 @@ Lemma abelem_split_dprod rT p (A B : {group rT}) :
Proof.
move=> abelA sBA; have [_ cAA _]:= and3P abelA.
case/splitsP: (abelem_splits abelA sBA) => C /complP[tiBC defA].
-by exists C; rewrite dprodE // (centSS _ sBA cAA) // -defA mulG_subr.
+by exists C; rewrite dprodE // (centSS _ sBA cAA) // -defA mulG_subr.
Qed.
Lemma p_abelem_split1 rT p (A : {group rT}) x :
@@ -728,8 +728,8 @@ Variables (gT : finGroupType) (p : nat) (A G : {group gT}).
Lemma center_special_abelem : p.-group G -> special G -> p.-abelem 'Z(G).
Proof.
move=> pG [defPhi defG'].
-have [-> | ntG] := eqsVneq G 1; first by rewrite center1 abelem1.
-have [p_pr _ _] := pgroup_pdiv pG ntG.
+have [-> | ntG] := eqsVneq G 1; first by rewrite center1 abelem1.
+have [p_pr _ _] := pgroup_pdiv pG ntG.
have fM: {in 'Z(G) &, {morph expgn^~ p : x y / x * y}}.
by move=> x y /setIP[_ /centP cxG] /setIP[/cxG cxy _]; apply: expgMn.
rewrite abelemE //= center_abelian; apply/exponentP=> /= z Zz.
@@ -877,7 +877,7 @@ have [_ _ [m oZ]] := pgroup_pdiv (pgroupS sZG pG) ntZ.
have lt_m1_n: m.+1 < n.
suffices: 1 < logn p #|(G / 'Z(G))|.
rewrite card_quotient // -divgS // logn_div ?cardSg //.
- by rewrite oG oZ !pfactorK // ltn_subRL addn1.
+ by rewrite oG oZ !pfactorK // ltn_subRL addn1.
rewrite ltnNge; apply: contra not_cGG => cycGs.
apply: cyclic_center_factor_abelian; rewrite (dvdn_prime_cyclic p_pr) //.
by rewrite (card_pgroup (quotient_pgroup _ pG)) (dvdn_exp2l _ cycGs).
@@ -968,7 +968,7 @@ have fmG: fm @* G = 'Z(G).
by apply/subsetP=> _ /morphimP[z _ Gz ->]; apply: fZ.
apply/eqP; rewrite eqEsubset sfmG; apply: contraR notZx => /(prime_TIg prZ).
rewrite (setIidPr _) // => fmG1; rewrite inE Gx; apply/centP=> y Gy.
- by apply/commgP; rewrite -in_set1 -[[set _]]fmG1; apply: mem_morphim.
+ by apply/commgP; rewrite -in_set1 -[[set _]]fmG1; apply: mem_morphim.
have ->: 'C_G[x] = 'ker fm.
apply/setP=> z; rewrite inE (sameP cent1P commgP) !inE.
by rewrite -invg_comm eq_invg_mul mulg1.
@@ -1047,7 +1047,7 @@ exists [group of E]; exists [group of R] => /=.
have sEG: E \subset G by rewrite join_subG !cycle_subG Gx.
have [Ex Ey]: x \in E /\ y \in E by rewrite !mem_gen // inE cycle_id ?orbT.
have sZE: 'Z(G) \subset E.
- rewrite (('Z(G) =P E^`(1)) _) ?der_sub // eqEsubset -{2}defG' dergS // andbT.
+ rewrite (('Z(G) =P E^`(1)) _) ?der_sub // eqEsubset -{2}defG' dergS // andbT.
apply: contraR not_cxy => /= not_sZE'.
rewrite (sameP cent1P commgP) -in_set1 -[[set 1]](prime_TIg prZ not_sZE').
by rewrite /= -defG' inE !mem_commg.
@@ -1290,7 +1290,7 @@ have [y Ey not_cxy]: exists2 y, y \in E & y \notin 'C[x].
by apply/subsetPn; rewrite sub_cent1; rewrite inE Ex in notZx.
have notZy: y \notin 'Z(E).
apply: contra not_cxy; rewrite inE Ey; apply: subsetP.
- by rewrite -cent_set1 centS ?sub1set.
+ by rewrite -cent_set1 centS ?sub1set.
pose K := 'C_E[y]; have maxK: maximal K E by apply: cent1_extraspecial_maximal.
have nsKE: K <| E := p_maximal_normal pE maxK; have [sKE nKE] := andP nsKE.
have oK: #|K| = (p ^ 2)%N.
@@ -1440,7 +1440,7 @@ rewrite {pCGZ}(OhmE 1 pCGZ) gen_subG; apply/subsetP=> x; rewrite 3!inE -andbA.
rewrite -!cycle_subG => /and3P[sXG cZX xp1] /=; have cXX := cycle_abelian x.
have nZX := cents_norm cZX; have{nAG} nAX := subset_trans sXG nAG.
pose XA := <[x]> <*> A; pose C := 'C(<[x]> / Z | 'Q); pose CA := A :&: C.
-pose Y := <[x]> <*> CA; pose W := 'Ohm_1(Y).
+pose Y := <[x]> <*> CA; pose W := 'Ohm_1(Y).
have sXC: <[x]> \subset C by rewrite sub_astabQ nZX (quotient_cents _ cXX).
have defY : Y = <[x]> * CA by rewrite -norm_joinEl // normsI ?nAX ?normsG.
have{nAX} defXA: XA = <[x]> * A := norm_joinEl nAX.
@@ -1450,7 +1450,7 @@ suffices{sXC}: XA \subset Y.
have sZCA: Z \subset CA by rewrite subsetI sZA [C]astabQ sub_cosetpre.
have cZCA: CA \subset 'C(Z) by rewrite subIset 1?(sub_abelian_cent2 cAA).
have sZY: Z \subset Y by rewrite (subset_trans sZCA) ?joing_subr.
-have{cZCA cZX} cZY: Y \subset 'C(Z) by rewrite join_subG cZX.
+have{cZCA cZX} cZY: Y \subset 'C(Z) by rewrite join_subG cZX.
have{cXX nZX} sY'Z : Y^`(1) \subset Z.
rewrite der1_min ?cents_norm //= -/Y defY quotientMl // abelianM /= -/Z -/CA.
rewrite !quotient_abelian // ?(abelianS _ cAA) ?subsetIl //=.
@@ -1488,7 +1488,7 @@ Lemma Ohm1_cent_max_normal_abelem Z :
odd p -> p.-group G -> [max Z | Z <| G & p.-abelem Z] -> 'Ohm_1('C_G(Z)) = Z.
Proof.
move=> p_odd pG; set X := 'Ohm_1('C_G(Z)).
-case/maxgroupP=> /andP[nsZG abelZ] maxZ.
+case/maxgroupP=> /andP[nsZG abelZ] maxZ.
have [sZG nZG] := andP nsZG; have [_ cZZ expZp] := and3P abelZ.
have{nZG} nsXG: X <| G by rewrite gFnormal_trans ?norm_normalI ?norms_cent.
have cZX : X \subset 'C(Z) by apply/gFsub_trans/subsetIr.
@@ -1549,7 +1549,7 @@ have{genXp minU xp1 sVU ltVU} expVp: exponent V %| p.
apply/bigcupsP=> z _; apply/subsetP=> v Vv.
by rewrite inE -order_dvdn (dvdn_trans (order_dvdG Vv)) // cardJg order_dvdn.
have{A pA defA1 sX'A V expVp} Zxy: [~ x, y] \in Z.
- rewrite -defA1 (OhmE 1 pA) mem_gen // !inE (exponentP expVp).
+ rewrite -defA1 (OhmE 1 pA) mem_gen // !inE (exponentP expVp).
by rewrite (subsetP sX'A) //= mem_commg ?(subsetP sUX).
by rewrite groupMl -1?[x^-1]conjg1 mem_gen // mem_imset2 // ?groupV cycle_id.
have{Zxy sUX cZX} cXYxy: [~ x, y] \in 'C(XY).
@@ -1610,7 +1610,7 @@ Lemma critical_p_stab_Aut H :
Proof.
move=> [chH sPhiZ sRZ eqCZ] pG; have sHG := char_sub chH.
pose G' := (sdpair1 [Aut G] @* G)%G; pose H' := (sdpair1 [Aut G] @* H)%G.
-apply/pgroupP=> q pr_q; case/Cauchy=>//= f cHF; move: (cHF);rewrite astab_ract.
+apply/pgroupP=> q pr_q; case/Cauchy=> //= f cHF; move: (cHF); rewrite astab_ract.
case/setIP=> Af cHFP ofq; rewrite -cycle_subG in cHF; apply: (pgroupP pG) => //.
pose F' := (sdpair2 [Aut G] @* <[f]>)%G.
have trHF: [~: H', F'] = 1.
diff --git a/mathcomp/solvable/nilpotent.v b/mathcomp/solvable/nilpotent.v
index 954be43..3d9739d 100644
--- a/mathcomp/solvable/nilpotent.v
+++ b/mathcomp/solvable/nilpotent.v
@@ -114,7 +114,7 @@ Lemma centrals_nil (s : seq {group gT}) G :
G.-central.-series 1%G s -> last 1%G s = G -> nilpotent G.
Proof.
move=> cGs defG; apply/forall_inP=> H /subsetIP[sHG sHR].
-move: sHG; rewrite -{}defG -subG1 -[1]/(gval 1%G).
+move: sHG; rewrite -{}defG -subG1 -[1]/(gval 1%G).
elim: s 1%G cGs => //= L s IHs K /andP[/and3P[sRK sKL sLG] /IHs sHL] sHs.
exact: subset_trans sHR (subset_trans (commSg _ (sHL sHs)) sRK).
Qed.
@@ -490,7 +490,7 @@ Qed.
Lemma ucn_id n G : 'Z_n('Z_n(G)) = 'Z_n(G).
Proof. exact: gFid. Qed.
-Lemma ucn_nilpotent n G : nilpotent 'Z_n(G).
+Lemma ucn_nilpotent n G : nilpotent 'Z_n(G).
Proof. by apply/ucnP; exists n; rewrite ucn_id. Qed.
Lemma nil_class_ucn n G : nil_class 'Z_n(G) <= n.
@@ -677,7 +677,7 @@ Lemma solvable1 : solvable [1 gT]. Proof. exact: abelian_sol (abelian1 gT). Qed.
Lemma solvableS G H : H \subset G -> solvable G -> solvable H.
Proof.
-move=> sHG solG; apply/forall_inP=> K /subsetIP[sKH sKK'].
+move=> sHG solG; apply/forall_inP=> K /subsetIP[sKH sKK'].
by rewrite (forall_inP solG) // subsetI (subset_trans sKH).
Qed.
@@ -685,7 +685,7 @@ Lemma sol_der1_proper G H :
solvable G -> H \subset G -> H :!=: 1 -> H^`(1) \proper H.
Proof.
move=> solG sHG ntH; rewrite properE comm_subG //; apply: implyP ntH.
-by have:= forallP solG H; rewrite subsetI sHG implybNN.
+by have:= forallP solG H; rewrite subsetI sHG implybNN.
Qed.
Lemma derivedP G : reflect (exists n, G^`(n) = 1) (solvable G).
diff --git a/mathcomp/solvable/pgroup.v b/mathcomp/solvable/pgroup.v
index f3e19b3..b595530 100644
--- a/mathcomp/solvable/pgroup.v
+++ b/mathcomp/solvable/pgroup.v
@@ -192,7 +192,7 @@ Proof. by move=> pG; rewrite -p_part part_pnat_id. Qed.
Lemma properG_ltn_log p G H :
p.-group G -> H \proper G -> logn p #|H| < logn p #|G|.
-Proof.
+Proof.
move=> pG; rewrite properEneq eqEcard andbC ltnNge => /andP[sHG].
rewrite sHG /= {1}(card_pgroup pG) {1}(card_pgroup (pgroupS sHG pG)).
by apply: contra; case: p {pG} => [|p] leHG; rewrite ?logn0 // leq_pexp2l.
@@ -281,7 +281,7 @@ Lemma eq_in_pHall pi rho G H :
{in \pi(G), pi =i rho} -> pi.-Hall(G) H = rho.-Hall(G) H.
Proof.
move=> eq_pi_rho; apply: andb_id2l => sHG.
-congr (_ && _); apply: eq_in_pnat => p piHp.
+congr (_ && _); apply: eq_in_pnat => p piHp.
by apply: eq_pi_rho; apply: (piSg sHG).
by congr (~~ _); apply: eq_pi_rho; apply: (pi_of_dvd (dvdn_indexg G H)).
Qed.
@@ -904,7 +904,7 @@ Proof.
have [M maxM _]: {M | [max M | pi.-subgroup(G) M] & 1%G \subset M}.
by apply: maxgroup_exists; rewrite /psubgroup sub1G pgroup1.
have sOM: 'O_pi(G) \subset M by apply: bigcap_inf.
-have /andP[piM sMG] := maxgroupp maxM.
+have /andP[piM sMG] := maxgroupp maxM.
by rewrite /psubgroup (pgroupS sOM) // (subset_trans sOM).
Qed.
diff --git a/mathcomp/solvable/sylow.v b/mathcomp/solvable/sylow.v
index 32f86f1..8925b7d 100644
--- a/mathcomp/solvable/sylow.v
+++ b/mathcomp/solvable/sylow.v
@@ -130,7 +130,7 @@ have trS: [transitive G, on S | 'JG].
apply/imsetP; exists P => //; apply/eqP.
rewrite eqEsubset andbC acts_sub_orbit // S_P; apply/subsetP=> Q S_Q.
have:= S_P; rewrite inE => /maxgroupP[/andP[_ pP]].
- have [-> max1 | ntP _] := eqVneq P 1%G.
+ have [-> max1 | ntP _] := eqVneq P 1%G.
move/andP/max1: (S_pG _ S_Q) => Q1.
by rewrite (group_inj (Q1 (sub1G Q))) orbit_refl.
have:= oG_mod _ _ S_P S_P; rewrite (oG_mod _ Q) // orbit_refl.
@@ -346,7 +346,7 @@ have nsHG: H :&: G <| G by rewrite /normal subsetIr normsI ?normG.
rewrite -!(setIC H) defG -(partnC pi (cardG_gt0 _)).
rewrite -(card_Hall (Hall_setI_normal nsHG hallR)) /= setICA.
rewrite -(card_Hall (Hall_setI_normal nsHG hallK)) /= setICA.
-by rewrite -defG (setIidPl (mulG_subl _ _)) (setIidPl (mulG_subr _ _)).
+by rewrite -defG (setIidPl (mulG_subl _ _)) (setIidPl (mulG_subr _ _)).
Qed.
End SomeHall.
@@ -550,7 +550,7 @@ Lemma normal_pgroup r P N :
Proof.
elim: r gT P N => [|r IHr] gTr P N pP nNP le_r.
by exists (1%G : {group gTr}); rewrite sub1G normal1 cards1.
-have [NZ_1 | ntNZ] := eqVneq (N :&: 'Z(P)) 1.
+have [NZ_1 | ntNZ] := eqVneq (N :&: 'Z(P)) 1.
by rewrite (TI_center_nil (pgroup_nil pP)) // cards1 logn1 in le_r.
have: p.-group (N :&: 'Z(P)) by apply: pgroupS pP; rewrite /= setICA subsetIl.
case/pgroup_pdiv=> // p_pr /Cauchy[// | z].
@@ -622,7 +622,7 @@ have{n leGn IHn nDG} pN: p.-group <<'N_E(D)>>.
by rewrite subsetI nDG andbF.
- by rewrite inE Nx1 (subsetP sEG) ?mem_gen.
have Ex1y: x1 ^ y \in E.
- by rewrite -mem_conjgV (normsP nEG) // groupV; case/setIP: Ny.
+ by rewrite -mem_conjgV (normsP nEG) // groupV; case/setIP: Ny.
apply: pgroupS (genS _) (pE _ _ Ex1 Ex1y).
by apply/subsetP=> u; rewrite !inE.
have [y1 Ny1 Py1]: exists2 y1, y1 \in 'N_E(D) & y1 \notin P.
diff --git a/mathcomp/ssreflect/bigop.v b/mathcomp/ssreflect/bigop.v
index 67454ac..941b488 100644
--- a/mathcomp/ssreflect/bigop.v
+++ b/mathcomp/ssreflect/bigop.v
@@ -403,7 +403,7 @@ Variable (T : Type) (zero one : T) (mul add : T -> T -> T) (inv : T -> T).
Hypothesis mulC : commutative mul.
Lemma mulC_id : left_id one mul -> right_id one mul.
-Proof. by move=> mul1x x; rewrite mulC. Qed.
+Proof. by move=> mul1x x; rewrite mulC. Qed.
Lemma mulC_zero : left_zero zero mul -> right_zero zero mul.
Proof. by move=> mul0x x; rewrite mulC. Qed.
@@ -1596,7 +1596,7 @@ case: (pickP J) => [j0 _ | J0]; first exact: (big_distr_big_dep j0).
rewrite {1 4}/index_enum -enumT; case: (enum I) (mem_enum I) => [I0 | i r _].
have f0: I -> J by move=> i; have:= I0 i.
rewrite (big_pred1 (finfun f0)) ?big_nil // => g.
- by apply/familyP/eqP=> _; first apply/ffunP; move=> i; have:= I0 i.
+ by apply/familyP/eqP=> _; first apply/ffunP; move => i; have:= I0 i.
have Q0 i': Q i' =1 pred0 by move=> j; have:= J0 j.
rewrite big_cons /= big_pred0 // mul0m big_pred0 // => f.
by apply/familyP=> /(_ i); rewrite [_ \in _]Q0.
@@ -1762,7 +1762,7 @@ Proof.
apply: (iffP idP) => [dvFm i Pi | dvFm].
by rewrite (bigD1 i) // dvdn_lcm in dvFm; case/andP: dvFm.
by elim/big_ind: _ => // p q p_m; rewrite dvdn_lcm p_m.
-Qed.
+Qed.
Lemma biglcmn_sup (I : finType) i0 (P : pred I) F m :
P i0 -> m %| F i0 -> m %| \big[lcmn/1%N]_(i | P i) F i.
@@ -1777,7 +1777,7 @@ Proof.
apply: (iffP idP) => [dvmF i Pi | dvmF].
by rewrite (bigD1 i) // dvdn_gcd in dvmF; case/andP: dvmF.
by elim/big_ind: _ => // p q m_p; rewrite dvdn_gcd m_p.
-Qed.
+Qed.
Lemma biggcdn_inf (I : finType) i0 (P : pred I) F m :
P i0 -> F i0 %| m -> \big[gcdn/0]_(i | P i) F i %| m.
diff --git a/mathcomp/ssreflect/binomial.v b/mathcomp/ssreflect/binomial.v
index e42b1fd..98ee64e 100644
--- a/mathcomp/ssreflect/binomial.v
+++ b/mathcomp/ssreflect/binomial.v
@@ -273,7 +273,7 @@ Qed.
Lemma triangular_sum n : \sum_(0 <= i < n) i = 'C(n, 2).
Proof.
-elim: n => [|n IHn]; first by rewrite big_geq.
+elim: n => [|n IHn]; first by rewrite big_geq.
by rewrite big_nat_recr // IHn binS bin1.
Qed.
@@ -307,7 +307,7 @@ suffices{k i} fxx k i: f k.+1 i.+1 = f k i.+1 + f k i.
by rewrite big_ord_recl big_ord0 addn0 !bin0 muln1.
rewrite {}/f big_ord_recl (big_ord_recl (i.+1)) !bin0 !mul1n.
rewrite -addnA -big_split /=; congr (_ + _).
-by apply: eq_bigr => j _ ; rewrite -mulnDl.
+by apply: eq_bigr => j _; rewrite -mulnDl.
Qed.
Lemma subn_exp m n k :
@@ -504,7 +504,7 @@ Qed.
Lemma card_partial_ord_partitions m n :
#|[set t : m.-tuple 'I_n.+1 | \sum_(i <- t) i <= n]| = 'C(m + n, m).
Proof.
-symmetry; set In1 := 'I_n.+1; pose x0 : In1 := ord0.
+symmetry; set In1 := 'I_n.+1; pose x0 : In1 := ord0.
pose add_mn (i j : In1) : In1 := inord (i + j).
pose f_add (t : m.-tuple In1) := [tuple of scanl add_mn x0 t].
rewrite -card_sorted_tuples -!sum1dep_card (reindex f_add) /=.
@@ -535,7 +535,7 @@ Qed.
Lemma card_ord_partitions m n :
#|[set t : m.+1.-tuple 'I_n.+1 | \sum_(i <- t) i == n]| = 'C(m + n, m).
Proof.
-symmetry; set In1 := 'I_n.+1; pose x0 : In1 := ord0.
+symmetry; set In1 := 'I_n.+1; pose x0 : In1 := ord0.
pose f_add (t : m.-tuple In1) := [tuple of sub_ord (\sum_(x <- t) x) :: t].
rewrite -card_partial_ord_partitions -!sum1dep_card (reindex f_add) /=.
by apply: eq_bigl => t; rewrite big_cons /= addnC (sameP maxn_idPr eqP) maxnE.
diff --git a/mathcomp/ssreflect/div.v b/mathcomp/ssreflect/div.v
index 723946d..4172430 100644
--- a/mathcomp/ssreflect/div.v
+++ b/mathcomp/ssreflect/div.v
@@ -200,7 +200,7 @@ rewrite leq_subLR addnA; apply: leq_trans (leq_divDl _ _ _).
by rewrite -maxnE leq_div2r ?leq_maxr.
Qed.
-Lemma divnMA m n p : m %/ (n * p) = m %/ n %/ p.
+Lemma divnMA m n p : m %/ (n * p) = m %/ n %/ p.
Proof.
case: n p => [|n] [|p]; rewrite ?muln0 ?div0n //.
rewrite {2}(divn_eq m (n.+1 * p.+1)) mulnA mulnAC !divnMDl //.
diff --git a/mathcomp/ssreflect/finfun.v b/mathcomp/ssreflect/finfun.v
index e00ddef..43ba42a 100644
--- a/mathcomp/ssreflect/finfun.v
+++ b/mathcomp/ssreflect/finfun.v
@@ -207,7 +207,7 @@ Lemma pffun_onP y D R f :
(f \in pffun_on_mem y (mem D) (mem R)).
Proof.
apply: (iffP (pfamilyP y D (fun _ => R) f)) => [] [-> f_fam]; split=> //.
- by move=> _ /imageP[x Ax ->]; apply: f_fam.
+ by move=> _ /imageP[x Ax ->]; apply: f_fam.
by move=> x Ax; apply: f_fam; apply/imageP; exists x.
Qed.
@@ -267,7 +267,7 @@ apply/imageP/andP=> [[f0 /familyP/=Ff0] [{f}-> ->]| [Fy /familyP/=Ff]].
split; first by have:= Ff0 x0; rewrite /= mem_head.
apply/familyP=> x; have:= Ff0 x; rewrite ffunE inE /=.
by case: eqP => //= -> _; rewrite ifN ?inE.
-exists (g (y, f)).
+exists (g (y, f)).
by apply/familyP=> x; have:= Ff x; rewrite ffunE /= inE; case: eqP => // ->.
congr (_, _); last apply/ffunP=> x; do !rewrite ffunE /= ?eqxx //.
by case: eqP => // ->{x}; apply/eqP; have:= Ff x0; rewrite ifN.
diff --git a/mathcomp/ssreflect/finset.v b/mathcomp/ssreflect/finset.v
index a9899b7..dc964b5 100644
--- a/mathcomp/ssreflect/finset.v
+++ b/mathcomp/ssreflect/finset.v
@@ -746,7 +746,7 @@ Lemma cardsU A B : #|A :|: B| = (#|A| + #|B| - #|A :&: B|)%N.
Proof. by rewrite -cardsUI addnK. Qed.
Lemma cardsI A B : #|A :&: B| = (#|A| + #|B| - #|A :|: B|)%N.
-Proof. by rewrite -cardsUI addKn. Qed.
+Proof. by rewrite -cardsUI addKn. Qed.
Lemma cardsT : #|[set: T]| = #|T|.
Proof. by rewrite cardsE. Qed.
@@ -1969,7 +1969,7 @@ Qed.
Lemma pblock_equivalence_partition :
{in D &, forall x y, (y \in pblock P x) = R x y}.
Proof.
-have [_ tiP _] := and3P equivalence_partitionP.
+have [_ tiP _] := and3P equivalence_partitionP.
by move=> x y Dx Dy; rewrite /= (def_pblock tiP (PPx Dx) (Pxx Dx)) inE Dy.
Qed.
diff --git a/mathcomp/ssreflect/fintype.v b/mathcomp/ssreflect/fintype.v
index 1171fcb..719a267 100644
--- a/mathcomp/ssreflect/fintype.v
+++ b/mathcomp/ssreflect/fintype.v
@@ -506,7 +506,7 @@ Lemma cardE A : #|A| = size (enum A).
Proof. by rewrite unlock. Qed.
Lemma eq_card A B : A =i B -> #|A| = #|B|.
-Proof. by move=>eqAB; rewrite !cardE (eq_enum eqAB). Qed.
+Proof. by move=> eqAB; rewrite !cardE (eq_enum eqAB). Qed.
Lemma eq_card_trans A B n : #|A| = n -> B =i A -> #|B| = n.
Proof. by move <-; apply: eq_card. Qed.
diff --git a/mathcomp/ssreflect/generic_quotient.v b/mathcomp/ssreflect/generic_quotient.v
index 5533832..0aafc34 100644
--- a/mathcomp/ssreflect/generic_quotient.v
+++ b/mathcomp/ssreflect/generic_quotient.v
@@ -140,7 +140,7 @@ Local Notation "\pi" := (pi_phant (Phant qT)).
Definition repr_of := quot_repr (quot_class qT).
Lemma repr_ofK : cancel repr_of \pi.
-Proof. by rewrite /pi_phant /repr_of /=; case:qT=> [? []]. Qed.
+Proof. by rewrite /pi_phant /repr_of /=; case: qT=> [? []]. Qed.
Definition QuotType_clone (Q : Type) qT cT
of phant_id (quot_class qT) cT := @QuotTypePack Q cT Q.
@@ -487,7 +487,7 @@ Lemma equiv_sym : symmetric e. Proof. by case: e => [] ? []. Qed.
Lemma equiv_trans : transitive e. Proof. by case: e => [] ? []. Qed.
Lemma eq_op_trans (T' : eqType) : transitive (@eq_op T').
-Proof. by move=> x y z; move/eqP->; move/eqP->. Qed.
+Proof. by move=> x y z; move/eqP->; move/eqP->. Qed.
Lemma equiv_ltrans: left_transitive e.
Proof. by apply: left_trans; [apply: equiv_sym|apply: equiv_trans]. Qed.
@@ -567,7 +567,7 @@ Qed.
Canonical encoded_equiv_equiv_rel := EquivRelPack encoded_equiv_is_equiv.
-Lemma encoded_equivP x : e' (DE (ED x)) x.
+Lemma encoded_equivP x : e' (DE (ED x)) x.
Proof. by rewrite /encoded_equiv /= encModEquivP. Qed.
End EncodingModuloEquiv.
diff --git a/mathcomp/ssreflect/path.v b/mathcomp/ssreflect/path.v
index f5eb77b..6ab7926 100644
--- a/mathcomp/ssreflect/path.v
+++ b/mathcomp/ssreflect/path.v
@@ -213,7 +213,7 @@ Lemma next_nth p x :
if p is y :: p' then nth y p' (index x p) else x
else x.
Proof.
-case: p => //= y0 p.
+case: p => //= y0 p.
elim: p {2 3 5}y0 => [|y' p IHp] y /=; rewrite (eq_sym y) inE;
by case: ifP => // _; apply: IHp.
Qed.
@@ -542,7 +542,7 @@ have: perm_eq (catss ss ++ s) (merge_sort_pop s ss).
by rewrite perm_catC catA perm_catC perm_cat2l -perm_merge.
case: s => // x1 [//|x2 s _]; move/ltnW; move/IHn=> {n IHn}IHs.
rewrite -{IHs}(perm_eqrP (IHs _)) ifE; set s1 := if_expr _ _ _.
-rewrite (catA _ [::_;_] s) {s}perm_cat2r.
+rewrite (catA _ [::_; _] s) {s}perm_cat2r.
apply: (@perm_eq_trans _ (catss ss ++ s1)).
by rewrite perm_cat2l /s1 -ifE; case: ifP; rewrite // (perm_catC [::_]).
elim: ss {x1 x2}s1 => /= [|s2 ss IHss] s1; first by rewrite cats0.
diff --git a/mathcomp/ssreflect/prime.v b/mathcomp/ssreflect/prime.v
index 41243ea..9494353 100644
--- a/mathcomp/ssreflect/prime.v
+++ b/mathcomp/ssreflect/prime.v
@@ -998,7 +998,7 @@ apply/eqP; rewrite eqn_dvd dvdn_lcm !partn_dvd ?dvdn_lcml ?dvdn_lcmr //.
rewrite -(dvdn_pmul2r (part_gt0 pi^' (lcmn m n))) partnC // dvdn_lcm !andbT.
rewrite -{1}(partnC pi m_gt0) andbC -{1}(partnC pi n_gt0).
by rewrite !dvdn_mul ?partn_dvd ?dvdn_lcml ?dvdn_lcmr.
-Qed.
+Qed.
Lemma partn_gcd pi m n : m > 0 -> n > 0 -> (gcdn m n)`_pi = gcdn m`_pi n`_pi.
Proof.
@@ -1007,7 +1007,7 @@ apply/eqP; rewrite eqn_dvd dvdn_gcd !partn_dvd ?dvdn_gcdl ?dvdn_gcdr //=.
rewrite -(dvdn_pmul2r (part_gt0 pi^' (gcdn m n))) partnC // dvdn_gcd.
rewrite -{3}(partnC pi m_gt0) andbC -{3}(partnC pi n_gt0).
by rewrite !dvdn_mul ?partn_dvd ?dvdn_gcdl ?dvdn_gcdr.
-Qed.
+Qed.
Lemma partn_biglcm (I : finType) (P : pred I) F pi :
(forall i, P i -> F i > 0) ->
@@ -1313,7 +1313,7 @@ move=> n_gt0; wlog le_b_a: a b / b <= a.
move=> IH; case: (leqP b a) => [|/ltnW] /IH {IH}// IH.
by rewrite eq_sym; apply: (iffP IH) => eqab p; move/eqab.
rewrite eqn_mod_dvd //; apply: (iffP (dvdn_partP _ n_gt0)) => eqab p /eqab;
- by rewrite -eqn_mod_dvd // => /eqP.
+ by rewrite -eqn_mod_dvd // => /eqP.
Qed.
(* The Euler totient function *)
diff --git a/mathcomp/ssreflect/ssrnat.v b/mathcomp/ssreflect/ssrnat.v
index 8c21ae4..1c16140 100644
--- a/mathcomp/ssreflect/ssrnat.v
+++ b/mathcomp/ssreflect/ssrnat.v
@@ -441,12 +441,14 @@ CoInductive eqn0_xor_gt0 n : bool -> bool -> Set :=
Lemma posnP n : eqn0_xor_gt0 n (n == 0) (0 < n).
Proof. by case: n; constructor. Qed.
-CoInductive compare_nat m n : bool -> bool -> bool -> bool -> bool -> bool -> Set :=
+CoInductive compare_nat m n :
+ bool -> bool -> bool -> bool -> bool -> bool -> Set :=
| CompareNatLt of m < n : compare_nat m n true false true false false false
| CompareNatGt of m > n : compare_nat m n false true false true false false
| CompareNatEq of m = n : compare_nat m n true true false false true true.
-Lemma ltngtP m n : compare_nat m n (m <= n) (n <= m) (m < n) (n < m) (n == m) (m == n).
+Lemma ltngtP m n : compare_nat m n (m <= n) (n <= m) (m < n)
+ (n < m) (n == m) (m == n).
Proof.
rewrite !ltn_neqAle [_ == m]eq_sym; case: ltnP => [mn|].
by rewrite ltnW // gtn_eqF //; constructor.
diff --git a/mathcomp/ssrtest/absevarprop.v b/mathcomp/ssrtest/absevarprop.v
index b8ae7d6..e43f0f7 100644
--- a/mathcomp/ssrtest/absevarprop.v
+++ b/mathcomp/ssrtest/absevarprop.v
@@ -23,10 +23,10 @@ Variable Q1 : forall P1, Q 1 P1.
Lemma testmE1 : myEx.
Proof.
-apply: ExI 1 _ _ _ _.
+apply: ExI 1 _ _ _ _.
match goal with |- P 1 => exact: P1 | _ => fail end.
match goal with |- P (1+1) => exact: P11 | _ => fail end.
- match goal with |- forall p : P 1, Q 1 p => move=>*; exact: Q1 | _ => fail end.
+ match goal with |- forall p : P 1, Q 1 p => move=> *; exact: Q1 | _ => fail end.
match goal with |- forall (p : P 1) (q : P (1+1)), is_true (R 1 p 1 q) => done | _ => fail end.
Qed.
@@ -54,7 +54,7 @@ Hint Resolve P1.
Lemma testmE12 : myEx.
Proof.
-apply: ExI 1 _ _ _ _.
+apply: ExI 1 _ _ _ _.
match goal with |- P (1+1) => exact: P11 | _ => fail end.
match goal with |- Q 1 P1 => exact: Q1 | _ => fail end.
match goal with |- forall (q : P (1+1)), is_true (R 1 P1 1 q) => done | _ => fail end.
@@ -68,7 +68,7 @@ Ltac ssrautoprop := trivial with SSR.
Lemma testmE13 : myEx.
Proof.
-apply: ExI 1 _ _ _ _.
+apply: ExI 1 _ _ _ _.
match goal with |- Q 1 P1 => exact: Q1 | _ => fail end.
match goal with |- is_true (R 1 P1 1 P11) => done | _ => fail end.
Qed.
@@ -84,7 +84,7 @@ Hint Resolve (Q1 P1) : SSR.
thus the goal Q 1 ?p1 is faced by trivial after ?p1, and is thus evar free *)
Lemma testmE14 : myEx1.
Proof.
-apply: ExI1 1 _ _ _ _.
+apply: ExI1 1 _ _ _ _.
match goal with |- is_true (R1 1 P1 1 P11 (Q1 P1)) => done | _ => fail end.
Qed.
diff --git a/mathcomp/ssrtest/derive_inversion.v b/mathcomp/ssrtest/derive_inversion.v
index 71257d8..0a344b8 100644
--- a/mathcomp/ssrtest/derive_inversion.v
+++ b/mathcomp/ssrtest/derive_inversion.v
@@ -15,5 +15,5 @@ Set Implicit Arguments.
| false => o = None
end.
Proof.
- by case: b; elim/wf_inv=>//;case: o=>// a *; exists a.
+ by case: b; elim/wf_inv=> //; case: o=> // a *; exists a.
Qed.
diff --git a/mathcomp/ssrtest/elim.v b/mathcomp/ssrtest/elim.v
index 9f0f139..0a7b777 100644
--- a/mathcomp/ssrtest/elim.v
+++ b/mathcomp/ssrtest/elim.v
@@ -7,7 +7,7 @@ Axiom daemon : False. Ltac myadmit := case: daemon.
(* Ltac debugging feature: recursive elim + eq generation *)
Lemma testL1 : forall A (s : seq A), s = s.
-Proof.
+Proof.
move=> A s; elim branch: s => [|x xs _].
match goal with _ : _ = [::] |- [::] = [::] => move: branch => // | _ => fail end.
match goal with _ : _ = _ :: _ |- _ :: _ = _ :: _ => move: branch => // | _ => fail end.
@@ -15,7 +15,7 @@ Qed.
(* The same but with explicit eliminator and a conflict in the intro pattern *)
Lemma testL2 : forall A (s : seq A), s = s.
-Proof.
+Proof.
move=> A s; elim/last_ind branch: s => [|x s _].
match goal with _ : _ = [::] |- [::] = [::] => move: branch => // | _ => fail end.
match goal with _ : _ = rcons _ _ |- rcons _ _ = rcons _ _ => move: branch => // | _ => fail end.
@@ -23,17 +23,17 @@ Qed.
(* The same but without names for variables involved in the generated eq *)
Lemma testL3 : forall A (s : seq A), s = s.
-Proof.
+Proof.
move=> A s; elim branch: s; move: (s) => _.
match goal with _ : _ = [::] |- [::] = [::] => move: branch => // | _ => fail end.
-move=> _;match goal with _ : _ = _ :: _ |- _ :: _ = _ :: _ => move: branch => // | _ => fail end.
+move=> _; match goal with _ : _ = _ :: _ |- _ :: _ = _ :: _ => move: branch => // | _ => fail end.
Qed.
Inductive foo : Type := K1 : foo | K2 : foo -> foo -> foo | K3 : (nat -> foo) -> foo.
(* The same but with more intros to be done *)
Lemma testL4 : forall (o : foo), o = o.
-Proof.
+Proof.
move=> o; elim branch: o.
match goal with _ : _ = K1 |- K1 = K1 => move: branch => // | _ => fail end.
move=> _; match goal with _ : _ = K2 _ _ |- K2 _ _ = K2 _ _ => move: branch => // | _ => fail end.
@@ -88,21 +88,21 @@ Qed.
(* Patterns *)
Lemma testP1: forall (x y : nat), (y == x) && (y == x) -> y == x.
-move=> x y; elim: {2}(_ == _) / eqP.
-match goal with |- (y = x -> is_true ((y == x) && true) -> is_true (y == x)) => move=>-> // | _ => fail end.
-match goal with |- (y <> x -> is_true ((y == x) && false) -> is_true (y == x)) => move=>_; rewrite andbC // | _ => fail end.
+move=> x y; elim: {2}(_ == _) / eqP.
+match goal with |- (y = x -> is_true ((y == x) && true) -> is_true (y == x)) => move=> -> // | _ => fail end.
+match goal with |- (y <> x -> is_true ((y == x) && false) -> is_true (y == x)) => move=> _; rewrite andbC // | _ => fail end.
Qed.
(* The same but with an implicit pattern *)
Lemma testP2 : forall (x y : nat), (y == x) && (y == x) -> y == x.
-move=> x y; elim: {2}_ / eqP.
-match goal with |- (y = x -> is_true ((y == x) && true) -> is_true (y == x)) => move=>-> // | _ => fail end.
-match goal with |- (y <> x -> is_true ((y == x) && false) -> is_true (y == x)) => move=>_; rewrite andbC // | _ => fail end.
+move=> x y; elim: {2}_ / eqP.
+match goal with |- (y = x -> is_true ((y == x) && true) -> is_true (y == x)) => move=> -> // | _ => fail end.
+match goal with |- (y <> x -> is_true ((y == x) && false) -> is_true (y == x)) => move=> _; rewrite andbC // | _ => fail end.
Qed.
(* The same but with an eq generation switch *)
Lemma testP3 : forall (x y : nat), (y == x) && (y == x) -> y == x.
-move=> x y; elim E: {2}_ / eqP.
+move=> x y; elim E: {2}_ / eqP.
match goal with _ : y = x |- (is_true ((y == x) && true) -> is_true (y == x)) => rewrite E; reflexivity | _ => fail end.
match goal with _ : y <> x |- (is_true ((y == x) && false) -> is_true (y == x)) => rewrite E => /= H; exact H | _ => fail end.
Qed.
@@ -113,25 +113,25 @@ Lemma specP : spec 0 2 4. Proof. by constructor. Qed.
Lemma testP4 : (1+1) * 4 = 2 + (1+1) + (2 + 2).
Proof.
-case: specP => a b c defa defb defc.
+case: specP => a b c defa defb defc.
match goal with |- (a.+1 + a.+1) * c = b + (a.+1 + a.+1) + (b + b) => subst; done | _ => fail end.
Qed.
Lemma testP5 : (1+1) * 4 = 2 + (1+1) + (2 + 2).
Proof.
-case: (1 + 1) _ / specP => a b c defa defb defc.
+case: (1 + 1) _ / specP => a b c defa defb defc.
match goal with |- b * c = a.+2 + b + (a.+2 + a.+2) => subst; done | _ => fail end.
Qed.
Lemma testP6 : (1+1) * 4 = 2 + (1+1) + (2 + 2).
Proof.
-case: {2}(1 + 1) _ / specP => a b c defa defb defc.
+case: {2}(1 + 1) _ / specP => a b c defa defb defc.
match goal with |- (a.+1 + a.+1) * c = a.+2 + b + (a.+2 + a.+2) => subst; done | _ => fail end.
Qed.
Lemma testP7 : (1+1) * 4 = 2 + (1+1) + (2 + 2).
Proof.
-case: _ (1 + 1) (2 + _) / specP => a b c defa defb defc.
+case: _ (1 + 1) (2 + _) / specP => a b c defa defb defc.
match goal with |- b * a.+4 = c + c => subst; done | _ => fail end.
Qed.
@@ -276,7 +276,7 @@ Definition plus_ind := plus_rect.
Lemma exF x y z: plus (plus x y) z = plus x (plus y z).
elim/plus_ind: z / (plus _ z).
match goal with |- forall n : nat, n = 0 -> plus x y = plus x (plus y 0) => idtac end.
-Undo 2.
+Undo 2.
elim/plus_ind: (plus _ z).
match goal with |- forall n : nat, n = 0 -> plus x y = plus x (plus y 0) => idtac end.
Undo 2.
diff --git a/mathcomp/ssrtest/have_transp.v b/mathcomp/ssrtest/have_transp.v
index fec720c..713f176 100644
--- a/mathcomp/ssrtest/have_transp.v
+++ b/mathcomp/ssrtest/have_transp.v
@@ -10,7 +10,7 @@ Proof.
have [:s1] @h m : 'I_(n+m).+1.
apply: Sub 0 _.
abstract: s1 m.
- by auto.
+ by auto.
cut (forall m, 0 < (n+m).+1); last assumption.
rewrite [_ 1 _]/= in s1 h *.
by [].
diff --git a/mathcomp/ssrtest/havesuff.v b/mathcomp/ssrtest/havesuff.v
index f97f445..4b0193a 100644
--- a/mathcomp/ssrtest/havesuff.v
+++ b/mathcomp/ssrtest/havesuff.v
@@ -9,7 +9,7 @@ Lemma test1 : (P -> G) -> P -> G.
Proof.
move=> pg p.
have suff {pg} H : P.
- match goal with |- P -> G => move=> _; exact: pg p | _ => fail end.
+ match goal with |- P -> G => move=> _; exact: pg p | _ => fail end.
match goal with H : P -> G |- G => exact: H p | _ => fail end.
Qed.
@@ -17,7 +17,7 @@ Lemma test2 : (P -> G) -> P -> G.
Proof.
move=> pg p.
have suffices {pg} H : P.
- match goal with |- P -> G => move=> _;exact: pg p | _ => fail end.
+ match goal with |- P -> G => move=> _; exact: pg p | _ => fail end.
match goal with H : P -> G |- G => exact: H p | _ => fail end.
Qed.
@@ -25,7 +25,7 @@ Lemma test3 : (P -> G) -> P -> G.
Proof.
move=> pg p.
suff have {pg} H : P.
- match goal with H : P |- G => exact: pg H | _ => fail end.
+ match goal with H : P |- G => exact: pg H | _ => fail end.
match goal with |- (P -> G) -> G => move=> H; exact: H p | _ => fail end.
Qed.
@@ -33,7 +33,7 @@ Lemma test4 : (P -> G) -> P -> G.
Proof.
move=> pg p.
suffices have {pg} H: P.
- match goal with H : P |- G => exact: pg H | _ => fail end.
+ match goal with H : P |- G => exact: pg H | _ => fail end.
match goal with |- (P -> G) -> G => move=> H; exact: H p | _ => fail end.
Qed.
diff --git a/mathcomp/ssrtest/intro_beta.v b/mathcomp/ssrtest/intro_beta.v
index 6b1b96d..4402be9 100644
--- a/mathcomp/ssrtest/intro_beta.v
+++ b/mathcomp/ssrtest/intro_beta.v
@@ -10,6 +10,6 @@ Definition C (P : T -> Prop) := forall x, P x.
Axiom P : T -> T -> Prop.
Lemma foo : C (fun x => forall y, let z := x in P y x).
-move=> a b.
+move=> a b.
match goal with |- (let y := _ in _) => idtac end.
Admitted.
diff --git a/mathcomp/ssrtest/ltac_in.v b/mathcomp/ssrtest/ltac_in.v
index 06d8dc7..cec244d 100644
--- a/mathcomp/ssrtest/ltac_in.v
+++ b/mathcomp/ssrtest/ltac_in.v
@@ -10,9 +10,9 @@ Import Prenex Implicits.
(* error 1 *)
-Ltac subst1 H := move: H ; rewrite {1} addnC; move => H.
+Ltac subst1 H := move: H; rewrite {1} addnC; move => H.
Ltac subst2 H := rewrite addnC in H.
Goal ( forall a b: nat, b+a = 0 -> b+a=0).
-Proof. move => a b hyp. subst1 hyp. subst2 hyp. done. Qed.
+Proof. move=> a b hyp. subst1 hyp. subst2 hyp. done. Qed.
diff --git a/mathcomp/ssrtest/rewpatterns.v b/mathcomp/ssrtest/rewpatterns.v
index 95c3c00..22ca265 100644
--- a/mathcomp/ssrtest/rewpatterns.v
+++ b/mathcomp/ssrtest/rewpatterns.v
@@ -10,7 +10,7 @@ by move=> x y f; rewrite [_.+1](addnC x.+1).
Qed.
Lemma test2 : forall x y f, x + y + f (y + x) + f (y + x) = x + y + f (y + x) + f (x + y).
-by move=> x y f; rewrite {2}[in f _]addnC.
+by move=> x y f; rewrite {2}[in f _]addnC.
Qed.
Lemma test2' : forall x y f, true && f (x * (y + x)) = true && f(x * (x + y)).
@@ -27,7 +27,7 @@ by move=> x y f; rewrite [in f _](addnC x). (* put y when bound var will be OK *
Qed.
Lemma test3 : forall x y f, x + f (x + y) (f (y + x) x) = x + f (x + y) (f (x + y) x).
-by move=> x y f; rewrite [in X in (f _ X)](addnC y).
+by move=> x y f; rewrite [in X in (f _ X)](addnC y).
Qed.
Lemma test3' : forall x y f, x = y -> x + f (x + x) x + f (x + x) x =
@@ -37,7 +37,7 @@ Qed.
Lemma test3'' : forall x y f, x = y -> x + f (x + y) x + f (x + y) x =
x + f (x + y) x + f (y + y) x.
-by move=> x y f E; rewrite {2}[in X in (f X _)]E.
+by move=> x y f E; rewrite {2}[in X in (f X _)]E.
Qed.
Lemma test4 : forall x y f, x = y -> x + f (fun _ : nat => x + x) x + f (fun _ => x + x) x =
@@ -52,22 +52,22 @@ Qed.
Lemma test5 : forall x y f, x = y -> x + f (y + x) x + f (y + x) x =
x + f (x + y) x + f (y + x) x.
-by move=> x y f E; rewrite {1}[X in (f X _)]addnC.
+by move=> x y f E; rewrite {1}[X in (f X _)]addnC.
Qed.
Lemma test3''' : forall x y f, x = y -> x + f (x + y) x + f (x + y) (x + y) =
x + f (x + y) x + f (y + y) (x + y).
-by move=> x y f E; rewrite {1}[in X in (f X X)]E.
+by move=> x y f E; rewrite {1}[in X in (f X X)]E.
Qed.
Lemma test3'''' : forall x y f, x = y -> x + f (x + y) x + f (x + y) (x + y) =
x + f (x + y) x + f (y + y) (y + y).
-by move=> x y f E; rewrite [in X in (f X X)]E.
+by move=> x y f E; rewrite [in X in (f X X)]E.
Qed.
Lemma test3x : forall x y f, y+y = x+y -> x + f (x + y) x + f (x + y) (x + y) =
x + f (x + y) x + f (y + y) (y + y).
-by move=> x y f E; rewrite -[X in (f X X)]E.
+by move=> x y f E; rewrite -[X in (f X X)]E.
Qed.
Lemma test6 : forall x y (f : nat -> nat), f (x + y).+1 = f (y.+1 + x).
diff --git a/mathcomp/ssrtest/set_pattern.v b/mathcomp/ssrtest/set_pattern.v
index 25b6967..5d22ef2 100644
--- a/mathcomp/ssrtest/set_pattern.v
+++ b/mathcomp/ssrtest/set_pattern.v
@@ -7,7 +7,7 @@ Axiom daemon : False. Ltac myadmit := case: daemon.
Ltac T1 x := match goal with |- _ => set t := (x in X in _ = X) end.
Ltac T2 x := first [set t := (x in RHS)].
Ltac T3 x := first [set t := (x in Y in _ = Y)|idtac].
-Ltac T4 x := set t := (x in RHS);idtac.
+Ltac T4 x := set t := (x in RHS); idtac.
Ltac T5 x := match goal with |- _ => set t := (x in RHS) | |- _ => idtac end.
From mathcomp
@@ -17,14 +17,14 @@ Lemma foo x y : x.+1 = y + x.+1.
set t := (_.+1 in RHS). match goal with |- x.+1 = y + t => rewrite /t {t} end.
set t := (x in RHS). match goal with |- x.+1 = y + t.+1 => rewrite /t {t} end.
set t := (x in _ = x). match goal with |- x.+1 = t => rewrite /t {t} end.
-set t := (x in X in _ = X).
+set t := (x in X in _ = X).
match goal with |- x.+1 = y + t.+1 => rewrite /t {t} end.
set t := (x in RHS). match goal with |- x.+1 = y + t.+1 => rewrite /t {t} end.
-set t := (y + (1 + x) as X in _ = X).
+set t := (y + (1 + x) as X in _ = X).
match goal with |- x.+1 = t => rewrite /t addSn add0n {t} end.
set t := x.+1. match goal with |- t = y + t => rewrite /t {t} end.
set t := (x).+1. match goal with |- t = y + t => rewrite /t {t} end.
-set t := ((x).+1 in X in _ = X).
+set t := ((x).+1 in X in _ = X).
match goal with |- x.+1 = y + t => rewrite /t {t} end.
set t := (x.+1 in RHS). match goal with |- x.+1 = y + t => rewrite /t {t} end.
T1 (x.+1). match goal with |- x.+1 = y + t => rewrite /t {t} end.
@@ -32,7 +32,7 @@ T2 (x.+1). match goal with |- x.+1 = y + t => rewrite /t {t} end.
T3 (x.+1). match goal with |- x.+1 = y + t => rewrite /t {t} end.
T4 (x.+1). match goal with |- x.+1 = y + t => rewrite /t {t} end.
T5 (x.+1). match goal with |- x.+1 = y + t => rewrite /t {t} end.
-rewrite [RHS]addnC.
+rewrite [RHS]addnC.
match goal with |- x.+1 = x.+1 + y => rewrite -[RHS]addnC end.
rewrite -[in RHS](@subnK 1 x.+1) //.
match goal with |- x.+1 = y + (x.+1 - 1 + 1) => rewrite subnK // end.
@@ -44,7 +44,7 @@ set t := (_.+1 in X in _ + X) in H |- *.
set t := 0. match goal with t := 0 |- x.+1 = y + x.+1 => clear t end.
set t := y + _. match goal with |- x.+1 = t => rewrite /t {t} end.
set t : nat := 0. clear t.
-set t : nat := (x in RHS).
+set t : nat := (x in RHS).
match goal with |- x.+1 = y + t.+1 => rewrite /t {t} end.
set t : nat := RHS. match goal with |- x.+1 = t => rewrite /t {t} end.
(* set t := 0 + _. *)
diff --git a/mathcomp/ssrtest/ssrsyntax1.v b/mathcomp/ssrtest/ssrsyntax1.v
index 9116ba2..3fc202f 100644
--- a/mathcomp/ssrtest/ssrsyntax1.v
+++ b/mathcomp/ssrtest/ssrsyntax1.v
@@ -14,7 +14,7 @@ Import ssreflect.
Goal (forall a b, a + b = b + a).
intros.
-rewrite 2![_ + _]plus_comm.
+rewrite 2![_ + _]plus_comm.
split.
Abort.
End Foo.
diff --git a/mathcomp/ssrtest/tc.v b/mathcomp/ssrtest/tc.v
index 7a95b66..20d190f 100644
--- a/mathcomp/ssrtest/tc.v
+++ b/mathcomp/ssrtest/tc.v
@@ -22,7 +22,7 @@ Axiom V : forall A {f : foo A} (x:A), P x -> P (id x).
Lemma test1 (x : nat) : P x -> P (id x).
Proof.
-move => px.
+move=> px.
Timeout 2 Fail move/V: px.
Timeout 2 move/V : (px) => _.
move/(V nat) : px => H; exact H.
diff --git a/mathcomp/ssrtest/testmx.v b/mathcomp/ssrtest/testmx.v
index 95c62bd..7d90d29 100644
--- a/mathcomp/ssrtest/testmx.v
+++ b/mathcomp/ssrtest/testmx.v
@@ -10,8 +10,8 @@ Set Implicit Arguments.
Unset Strict Implicit.
Import Prenex Implicits.
-Local Open Scope nat_scope.
-Local Open Scope ring_scope.
+Local Open Scope nat_scope.
+Local Open Scope ring_scope.
Section TestMx.
diff --git a/mathcomp/ssrtest/wlogletin.v b/mathcomp/ssrtest/wlogletin.v
index 1553621..faeca5c 100644
--- a/mathcomp/ssrtest/wlogletin.v
+++ b/mathcomp/ssrtest/wlogletin.v
@@ -33,8 +33,8 @@ match goal with |- (let fxy0 := f x y in P fxy0 -> P fxy -> P x) => by auto | _
Qed.
Lemma test4 : forall n m z: bool, n = z -> let x := n in x = m && n -> x = m && n.
-move=> n m z E x H.
-case: true.
- by rewrite {1 2}E in (x) H |- *.
+move=> n m z E x H.
+case: true.
+ by rewrite {1 2}E in (x) H |- *.
by rewrite {1}E in x H |- *.
Qed.