@@ -27,7 +27,7 @@ From HB Require Import structures.
2727From mathcomp Require Import ssreflect ssrfun ssrbool eqtype ssrnat seq choice.
2828From mathcomp Require Import fintype bigop order generic_quotient.
2929From mathcomp Require Import ssralg ssrnum ssrint.
30- Set SsrOldRewriteGoalsOrder. (* change Set to Unset when porting the file, then remove the line when requiring MathComp >= 2.6 *)
30+ Unset SsrOldRewriteGoalsOrder. (* remove the line when requiring MathComp >= 2.6 *)
3131
3232Import Order.Theory GRing.Theory Num.Theory.
3333
@@ -331,8 +331,8 @@ Section FreegTheory.
331331 Lemma precoeffE x : precoeff x =1 prelift (fun y => (y == x)%:R : R^o).
332332 Proof .
333333 move=> s; rewrite [RHS](bigID [pred kx | kx.2 == x]) /= addrC big1.
334- by rewrite add0r; apply: eq_bigr => i /eqP ->; rewrite eqxx [_ *: _]mulr1 .
335- by move => i /negbTE ->; rewrite scaler0 .
334+ by move => i /negbTE ->; rewrite scaler0 .
335+ by rewrite add0r; apply: eq_bigr => i /eqP ->; rewrite eqxx [_ *: _]mulr1 .
336336 Qed .
337337
338338 Lemma precoeff_nil x : precoeff x [::] = 0.
@@ -442,7 +442,7 @@ Section FreegTheory.
442442 uniq (predom s) -> kz \in s -> precoeff kz.2 s = kz.1.
443443 Proof .
444444 move=> uniq_dom_s kz_in_s; have uniq_s := map_uniq uniq_dom_s.
445- rewrite precoeff_uniqE // (nth_map kz); last first .
445+ rewrite precoeff_uniqE // (nth_map kz).
446446 by rewrite -(size_map (@snd _ _)) index_mem map_f.
447447 rewrite nth_index_map // => {kz kz_in_s} kz1 kz2 kz1_in_s kz2_in_s eq.
448448 apply/eqP.
@@ -460,7 +460,7 @@ Section FreegTheory.
460460 case/andP: rD => uniqD /allP /= rD; rewrite precoeff_uniqE //.
461461 apply/idP/idP; last apply: contra_neqT; move=> x_in_D; last first.
462462 by rewrite nth_default // memNindex // !size_map.
463- rewrite (nth_map (0, x)); last first .
463+ rewrite (nth_map (0, x)).
464464 by rewrite -(size_map (@snd _ _)) index_mem x_in_D.
465465 by apply/rD/mem_nth; rewrite -(size_map (@snd _ _)) index_mem.
466466 Qed .
@@ -735,8 +735,8 @@ Section FreegZmodTypeTheory.
735735 apply/eqP/freeg_eqP=> x /=; rewrite raddf_sum /=.
736736 case x_in_dom: (x \in dom D); last rewrite coeff_outdom ?x_in_dom //.
737737 + rewrite (bigD1_seq x) ?uniq_dom //= big1 ?addr0.
738- * by rewrite coeffU eqxx mulr1.
739738 * by move=> z ne_z_x; rewrite coeffU (negbTE ne_z_x) mulr0.
739+ * by rewrite coeffU eqxx mulr1.
740740 + rewrite big_seq big1 // => z z_notin_dom; rewrite coeffU.
741741 have ->: (z == x)%:R = 0 :> R; last by rewrite mulr0.
742742 by case: (z =P x)=> //= eq_zx; rewrite eq_zx x_in_dom in z_notin_dom.
@@ -916,7 +916,7 @@ Section FreegCmpDom.
916916 0 <=g D1 -> 0 <=g D2 -> dom (D1 + D2) =i dom D1 ++ dom D2.
917917 Proof .
918918 move=> pos_D1 pos_D2 z; rewrite mem_cat !mem_dom coeffD.
919- by rewrite paddr_eq0; first 1 [rewrite negb_and] || apply/fgposP.
919+ by rewrite paddr_eq0; last 1 [rewrite negb_and] || apply/fgposP.
920920 Qed .
921921End FreegCmpDom.
922922
@@ -931,7 +931,7 @@ Section FreegMap.
931931 z \in dom D -> coeff z (fgmap D) = f (coeff z D) *+ P z.
932932 Proof .
933933 move=> zD; rewrite /fgmap raddf_sum /= -big_filter; case Pz: (P z).
934- + rewrite (bigD1_seq z) ?(filter_uniq, uniq_dom) //=; last first .
934+ + rewrite (bigD1_seq z) ?(filter_uniq, uniq_dom) //=.
935935 by rewrite mem_filter Pz.
936936 rewrite coeffU eqxx mulr1 big1 ?addr0 //.
937937 by move=> z' ne_z'z; rewrite coeffU (negbTE ne_z'z) mulr0.
@@ -1045,13 +1045,12 @@ Section PosFreegDeg.
10451045 Lemma fgpos_eq0P (D : {freeg K}) : 0 <=g D -> deg D = 0 -> D = 0.
10461046 Proof .
10471047 move=> posD; rewrite -{1}[D]freeg_sumE raddf_sum /=.
1048- rewrite (eq_bigr (fun z => coeff z D)); last first .
1048+ rewrite (eq_bigr (fun z => coeff z D)).
10491049 by move=> i _; rewrite degU.
1050- move/eqP; rewrite psumr_eq0; last by move=> i _; apply/fgposP.
1050+ move/eqP; rewrite psumr_eq0; first by move=> i _; apply/fgposP.
10511051 move/allP=> zD; apply/eqP; apply/freeg_eqP=> z; rewrite coeff0.
1052- case z_in_D: (z \in dom D); last first.
1053- by rewrite coeff_outdom // z_in_D.
1054- exact/eqP/zD.
1052+ case z_in_D: (z \in dom D); first exact/eqP/zD.
1053+ by rewrite coeff_outdom // z_in_D.
10551054 Qed .
10561055
10571056 Lemma fgneg_eq0P (D : {freeg K}) : D <=g 0 -> deg D = 0 -> D = 0.
@@ -1076,7 +1075,7 @@ Section PosFreegDeg.
10761075 case: (p =P q) =>[<-/=|]; last first.
10771076 by move=> _; rewrite subr0; apply/fgposP.
10781077 by rewrite subr_ge0.
1079- move/fgpos_eq0P=> ->; first by rewrite add0r; exists p.
1078+ move/fgpos_eq0P=> ->; last by rewrite add0r; exists p.
10801079 by rewrite degB degU degD_eq1 subrr.
10811080 Qed .
10821081
@@ -1108,7 +1107,7 @@ Section FreegIndDom.
11081107 move=> p /=; rewrite !inE; apply/negP=> /andP [].
11091108 rewrite /DR => /dom_sum_subset /flattenP.
11101109 case=> [ps /mapP [q]]; rewrite mem_filter => /andP [].
1111- move=> Rq q_in_D ->; rewrite domU ?mem_seq1; last first .
1110+ move=> Rq q_in_D ->; rewrite domU ?mem_seq1.
11121111 by rewrite -(mem_dom D q).
11131112 by move/eqP=> ->; move: Rq; rewrite /in_mem /= => ->.
11141113 move: DR => DR domDR; rewrite addrC -big_filter.
@@ -1135,15 +1134,15 @@ Section FreegIndDom.
11351134 move/perm_filter=> /(_ [pred q | ~~ (F q)]) /=.
11361135 rewrite NRp; rewrite perm_sym; move/perm_trans => /(_ _ DE).
11371136 rewrite perm_cons => domD'; rewrite big_seq.
1138- rewrite (eq_bigr (fun q => << coeff q D' *g q >>)); last first .
1137+ rewrite (eq_bigr (fun q => << coeff q D' *g q >>)).
11391138 move=> q q_in_ps; rewrite /D' coeffB coeffU; case: (p =P q).
11401139 - by move=> eq_pq; move: p_notin_ps; rewrite eq_pq q_in_ps.
11411140 - by move=> _; rewrite mulr0 subr0.
11421141 by rewrite -big_seq; apply: IH.
11431142 * apply/negP=> /domD_subset; rewrite mem_cat; case/orP; last first.
11441143 by move=> p_in_DR; move/(_ p): domDR; rewrite !inE NRp p_in_DR.
11451144 move/dom_sum_subset; rewrite filter_predT => /flattenP [qs].
1146- move/mapP => [q q_in_ps ->]; rewrite domU; last first .
1145+ move/mapP => [q q_in_ps ->]; rewrite domU.
11471146 move/perm_mem/(_ q): DE; rewrite !inE q_in_ps orbT.
11481147 by rewrite mem_filter => /andP [_]; rewrite mem_dom.
11491148 rewrite mem_seq1 => /eqP pq_eq; move: p_notin_ps.
0 commit comments