1+ From Stdlib Require Import ArithRing.
12From mathcomp Require Import all_ssreflect finmap.
23From hanoi Require Import extra star gdist lhanoi3 ghanoi ghanoi4 shanoi.
34
@@ -612,7 +613,7 @@ have [/andP[a_gt1 aLlm1]|] := boolP (2 <= a <= l.-1).
612613 have F := big_mkord xpredT
613614 (fun i => `d[u (inord i), u (inord i.+1)]_smove).
614615 rewrite -{}[sd u]F.
615- rewrite (big_cat_nat _ _ _ (_ : _ <= (a.-1).+1)) //=; last first.
616+ rewrite (big_cat_nat (_ : _ <= (a.-1).+1)) //=; last first.
616617 by rewrite prednK.
617618 rewrite big_mkord big_ord_recr /= prednK //.
618619 rewrite -{9}[a]add0n big_addn -/b big_mkord.
@@ -831,7 +832,6 @@ have [/andP[a_gt1 aLlm1]|] := boolP (2 <= a <= l.-1).
831832 have F9 : α_[1] (n.+2) <= (α_[1] n).*2.+2.
832833 apply: leq_trans (leqnSn _).
833834 by apply: alphaL_4_5.
834- (* Lia should work now *)
835835 gsimpl.
836836 applyr P1.
837837 rewrite -(leq_add2r x1S); applyr P2.
@@ -846,7 +846,7 @@ have [/andP[a_gt1 aLlm1]|] := boolP (2 <= a <= l.-1).
846846 gsimpl.
847847 rewrite -(leq_add2r (S_[1] n.+1)); applyl F6n; gsimpl.
848848 rewrite F71; gsimpl.
849- rewrite ! add1n {}F73; gsimpl.
849+ rewrite ? add1n {}F73; gsimpl.
850850 rewrite -(leq_add2r (S_[1] n.+2 + S_[2] n.+2)).
851851 applyl F6n1; gsimpl.
852852 rewrite {}F72 {}F721 {}F711 {}F71; gsimpl.
@@ -1131,7 +1131,7 @@ have [/andP[a_gt1 /eqP bE1]|] := boolP ((1 < a) && (b == 1)).
11311131 rewrite lEa; applyr F6n.
11321132 rewrite -(leq_add2r (S_[1] n.+2 + S_[3] n.+2)); applyr F6n1.
11331133 rewrite {}F72 {}F711 {}F71; gsimpl.
1134- rewrite ! add1n -{}F8.
1134+ rewrite ? add1n -{}F8.
11351135 by applyl F9; gsimpl.
11361136rewrite negb_and -leqNgt => o1H.
11371137have [/eqP aE1| aD1] := boolP (a == 1).
@@ -1243,7 +1243,7 @@ have [/eqP aE1| aD1] := boolP (a == 1).
12431243 rewrite !alphaL_3E.
12441244 have F := leq_dsum_alpha_2l_1 n.+1; applyr F.
12451245 rewrite !dsum_alphaL_S; gsimpl.
1246- rewrite ! add1n.
1246+ rewrite ? add1n.
12471247 by have F := alphaL_4_5 n; applyl F; gsimpl.
12481248 rewrite (maxn_idPr _) //.
12491249 changer (2 * (S_[3] (n.+1)).+1 + 2 * S_[b] (n.+1)).
@@ -2960,7 +2960,7 @@ move: c_gt0; rewrite leq_eqVlt eq_sym => /orP[/eqP cE1|c_gt1].
29602960 set y3S := sp _ _ _ in P5; set y4S := \sum_(_ < _) _ in P5.
29612961 rewrite /sd -(big_mkord xpredT
29622962 (fun i => `d[u (inord i), u (inord i.+1)]_smove)).
2963- rewrite (big_cat_nat _ _ _ (_ : 0 <= a1)) //=; last by apply: ltnW.
2963+ rewrite (big_cat_nat (_ : 0 <= a1)) //=; last by apply: ltnW.
29642964 rewrite big_mkord -!addnA.
29652965 apply: leq_trans (leq_add P1l1 (leqnn _)); rewrite -/x1S.
29662966 rewrite -{P1l1}P2 -/x2S {1}lE2 !sum_beta_S //.
@@ -3331,7 +3331,7 @@ have [|b_gt0] := leqP b 0; last first.
33313331 have F2 := dsum_alphaL_S 3 n; rewrite {1}F2.
33323332 have F3 : S_[5] n.+2 <= S_[4] n.+1 + (α_[1] n.+1).*2.
33333333 by apply: dsum_alphaL_alpha.
3334- rewrite -[3 + 2]/5 -[2 + 2]/4 ; applyl F3.
3334+ rewrite -[3 + 2]/5; applyl F3.
33353335 have F4 : S_[4] n.+1 <= S_[3] n + (α_[1] n).*2.
33363336 by apply: dsum_alphaL_alpha.
33373337 rewrite -leq_double in F4; applyl F4; gsimpl.
@@ -3569,7 +3569,7 @@ have [c_gt2|c_lt3] := leqP 3 c.
35693569 rewrite -[_ <= _](leq_mul2l 3) mulnA.
35703570 by apply: leq_trans F17 _; gsimpl.
35713571have cE2 : c = 2 by case: (c) c_gt1 c_lt3 => [|[|[|]]].
3572- rewrite cE2 (maxn_idPl _) // add1n -[2 * 2]/4 -[(3 * 2).-2]/4 -[2 + 4]/6 .
3572+ rewrite cE2 (maxn_idPl _) // -[2 * 2]/4 -[(3 * 2).-2]/4.
35733573rewrite [in X in _ <= X]mul2n -addnn.
35743574have F1 := dsum_alphaL_S 5 n; rewrite {1}F1.
35753575have F2 := dsum_alpha3_S n.+2.
@@ -3591,7 +3591,7 @@ have F9 : 3 * α_[1] n1.+1.+4 <= 4 * α_[1] n1.+4.
35913591 by rewrite alpha_4_3.
35923592rewrite -[_ <= _]orFb -(leq_mul2l 4) in F9.
35933593rewrite -[_ <= _](leq_mul2l 3).
3594- by rewrite add1n; applyl F9; gsimpl.
3594+ by applyl F9; gsimpl.
35953595Qed .
35963596
35973597End Case3.
0 commit comments