答案 0 :(得分:2)
您有很多方法可以说明您的引理和定义,特别是它取决于您对数据类型的假设。我建议使用Mathematical Components Coq包中的bigop
库。有了它,你可以很容易地证明你的第二个引理:
From mathcomp Require Import all_ssreflect all_algebra.
Section Avg.
Open Scope ring_scope.
Import GRing.Theory.
Variables (N : fieldType) (n : nat) (n_pos : n%:R != 0 :> N) (X : n.-tuple N).
Definition avg := (\sum_(x <- X) x) / n%:R.
Lemma avgP : \sum_(x <- X) (x - avg) = 0.
Proof.
rewrite sumrB !big_tuple sumr_const card_ord -mulr_natr divfK //.
by rewrite big_tuple subrr.
Qed.
End Avg.
请注意,上面的代码仅仅是为了让您感受到简单的证明;正确地开发关于统计的理论将需要更多但可能是avg
的不同编码。