diff --git a/util/sum.v b/util/sum.v
index a06dcf1cfc42339752399217a3737254ecf2ceee..3242b0f6254bd0b695542e4c7ed5465deea57749 100644
--- a/util/sum.v
+++ b/util/sum.v
@@ -104,5 +104,23 @@ Section ExtraLemmasSumMax.
     rewrite -> big_cat_nat with (p := t2') (n := t2); try (by done); simpl.
     by rewrite addnC -addnA; apply leq_addr.
   Qed.
+
+  Lemma leq_sum_nat m n (P : pred nat) (E1 E2 : nat -> nat) :
+    (forall i, m <= i < n -> P i -> E1 i <= E2 i) ->
+    \sum_(m <= i < n | P i) E1 i <= \sum_(m <= i < n | P i) E2 i.
+  Proof.
+    intros LE.
+    rewrite big_nat_cond [\sum_(_ <= _ < _| P _)_]big_nat_cond.
+    by apply leq_sum; move => j /andP [IN H]; apply LE.
+  Qed.
+
+  Lemma leq_sum_seq (I: eqType) (r: seq I) (P : pred I) (E1 E2 : I -> nat) :
+    (forall i, i \in r -> P i -> E1 i <= E2 i) ->
+    \sum_(i <- r | P i) E1 i <= \sum_(i <- r | P i) E2 i.
+  Proof.
+    intros LE.
+    rewrite big_seq_cond [\sum_(_ <- _| P _)_]big_seq_cond.
+    by apply leq_sum; move => j /andP [IN H]; apply LE.
+  Qed.
   
 End ExtraLemmasSumMax.