Coq-证明Ssreflect中涉及bigops的严格不等式

Coq-证明Ssreflect中涉及bigops的严格不等式,coq,coq-tactic,ssreflect,Coq,Coq Tactic,Ssreflect,我试图使用数学组件库证明以下内容: Lemma bigsum_aux (i: 'I_q) (j: 'I_q) (F G : 'I_q -> R): (forall i0, F i0 <= G i0) /\ (exists j0, F j0 < G j0) -> \sum_(i < q) F i < \sum_(i < q) G i. 欢迎向相关引理提供任何帮助或指点。您想将总和分成“坏的”(这是重写的一个非常好的用法!谢谢:) Proof.

我试图使用数学组件库证明以下内容:

Lemma bigsum_aux (i: 'I_q) (j: 'I_q) (F G : 'I_q -> R):
  (forall i0, F i0 <= G i0) /\ (exists j0, F j0 < G j0) ->
  \sum_(i < q) F i < \sum_(i < q) G i.

欢迎向相关引理提供任何帮助或指点。

您想将总和分成“坏的”(这是重写的一个非常好的用法!谢谢:)
Proof.
 move => [Hall Hex]. rewrite ltr_neqAle ler_sum; last first.
 - move => ? _. exact: Hall.
 - rewrite andbT. (* A: What now? *)
From mathcomp Require Import all_ssreflect all_algebra.

Set Implicit Arguments.
Unset Strict Implicit.
Unset Printing Implicit Defensive.

Open Scope ring_scope.
Import Num.Theory.

Lemma bigsum_aux (R : numDomainType) q (i: 'I_q) (j: 'I_q) (F G : 'I_q -> R)
      (hle : forall i0, F i0 <= G i0) z (hlt : F z < G z) :
  \sum_(i < q) F i < \sum_(i < q) G i.
Proof.
by rewrite [\sum__ F _](bigD1 z) ?[\sum__ G _](bigD1 z) ?ltr_le_add ?ler_sum.
Qed.