Skip to content

Commit 96db324

Browse files
committed
adapt to MC#1256
1 parent 18a6456 commit 96db324

File tree

4 files changed

+14
-10
lines changed

4 files changed

+14
-10
lines changed

theories/algo_closures.v

+8-4
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,11 @@ Lemma d_Sn : annotated_recs_d.Sn d.
4646
Proof.
4747
rewrite /annotated_recs_d.Sn /annotated_recs_d.precond.Sn /d => n k m ?.
4848
rewrite addrAC !binSz /annotated_recs_d.Sn_cf0_0_0; [ | lia ..].
49+
field.
4950
have b1_pos: 0 < binomialz n m by apply: bin_nonneg; lia.
50-
have b2_pos: 0 < binomialz (n + m) m by apply: bin_nonneg; lia.
51-
by field; ring_lia.
51+
have ->: (binomialz (n + m) m)%:~R != 0 :> rat.
52+
by rewrite intq_eq0; apply/Num.Theory.lt0r_neq0/bin_nonneg; lia.
53+
by ring_lia.
5254
Qed.
5355

5456
(* This is a fake recurrence, because d does not really depend on k *)
@@ -63,9 +65,11 @@ Proof.
6365
rewrite /annotated_recs_d.Sm /annotated_recs_d.precond.Sm /d => n k m ?.
6466
rewrite int.zshiftP !alt_sign addrA !(binzS, binSz); [ | lia ..].
6567
rewrite /annotated_recs_d.Sm_cf0_0_0.
68+
field.
6669
have b1_pos: 0 < binomialz n m by apply: bin_nonneg; lia.
67-
have b2_pos: 0 < binomialz (n + m) m by apply: bin_nonneg; lia.
68-
by field; ring_lia.
70+
have ->: (binomialz (n + m) m)%:~R != 0 :> rat.
71+
by rewrite intq_eq0; apply/Num.Theory.lt0r_neq0/bin_nonneg; lia.
72+
by ring_lia.
6973
Qed.
7074

7175
Definition d_ann := annotated_recs_d.ann d_Sn d_Sk d_Sm.

theories/bigopz.v

+3-3
Original file line numberDiff line numberDiff line change
@@ -240,7 +240,7 @@ Proof.
240240
suff -> : index_iotaz (m + a) n = map (fun i => i + a) (index_iotaz m (n - a)).
241241
by rewrite big_map.
242242
apply: (@eq_from_nth _ 0).
243-
by rewrite size_map !size_index_iotaz lerBDl addrC -addrA opprD.
243+
by rewrite size_map !size_index_iotaz lerBDl [m + a]addrC -addrA opprD.
244244
move=> i; rewrite size_index_iotaz; case: ifP => // hman hi.
245245
rewrite nth_index_iotaz // (nth_map 0); last first.
246246
rewrite size_index_iotaz lerBDr hman.
@@ -290,7 +290,7 @@ apply: (@eq_from_nth _ 0); rewrite size_cat !size_index_iotaz hmn hnp.
290290
have hmn' : `|n - m | = n - m by apply: ger0_norm; rewrite subr_gte0.
291291
rewrite nth_index_iotaz //; last first.
292292
rewrite -subzn; last by rewrite leqNgt hi2.
293-
by rewrite lterBDr addrC h ltz_nat.
293+
by rewrite lterBDr [ltRHS]addrC h ltz_nat.
294294
rewrite nth_index_iotaz //; last exact: le_trans hnp.
295295
rewrite -subzn; last by rewrite leqNgt hi2.
296296
move: hmn'; rewrite abszE; move->. rewrite addrCA opprB.
@@ -311,7 +311,7 @@ Lemma big_int_recr m n F : m <= n ->
311311
op (\big[op/idx]_(m <= i < n :> int) F (i)) (F n).
312312
Proof.
313313
move=> hmn; rewrite (@big_cat_int n) ?ler_wpDr //=.
314-
rewrite big_addz2l (@big_ltz 0 1) // add0r (@big_geqz 1 1) // add0r.
314+
rewrite big_addz2l (@big_ltz 0 1) // add0r (@big_geqz 1 1) // ?add0r.
315315
by rewrite Monoid.Theory.mulm1.
316316
Qed.
317317

theories/multinomial.v

+2-2
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ rewrite {}/s; elim/last_ind: l n m => [|l a ihl] n m /=.
155155
- move=> leqnm; rewrite size_rcons big_rcons /= exprDn.
156156
set s := size l.
157157
pose tlast s (t : s.-tuple 'I_m.+1) := last ord0 t.
158-
have -> P F :
158+
have -> P (F : _ -> R) :
159159
\sum_(t : s.+1.-tuple 'I_m.+1 | P t) F t =
160160
\sum_(j < m.+1) \sum_(t | P t && (tlast _ t == j)) F t.
161161
exact: partition_big.
@@ -171,7 +171,7 @@ rewrite {}/s; elim/last_ind: l n m => [|l a ihl] n m /=.
171171
by apply: (leq_trans (leq_subr _ _)); apply: (leq_trans leqnm).
172172
rewrite mulr_suml -sumrMnl.
173173
pose tsum a (t : a.-tuple 'I_m.+1) b := ((\sum_(j <- t) j) == b)%N.
174-
have -> F :
174+
have -> (F : _ -> R) :
175175
\sum_(t : s.+1.-tuple 'I_m.+1 | tsum _ t n && (tlast _ t == i)) F t =
176176
\sum_(t : s.-tuple 'I_m.+1 | tsum _ t (n - i)%N) F [tuple of (rcons t i)].
177177
pose indx (t : s.-tuple 'I_m.+1) := [tuple of rcons t i].

theories/posnum.v

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Class infer (P : Prop) := Infer : P.
4646
Lemma inferP (P : Prop) : P -> infer P. Proof. by []. Qed.
4747

4848
Lemma splitr (R : numFieldType) (x : R) : x = x / 2%:R + x / 2%:R.
49-
Proof. by rewrite -mulr2n -mulr_natr mulfVK //= pnatr_eq0. Qed.
49+
Proof. by rewrite -mulr2n -[RHS]mulr_natr mulfVK //= pnatr_eq0. Qed.
5050

5151
Record posnum_def (R : numDomainType) := PosNumDef {
5252
num_of_pos :> R;

0 commit comments

Comments
 (0)