在coq中,如何制作涉及总结和手段的证明?

时间:2016-11-24 08:33:26

标签: statistics coq

例如,如何在coq中证明:

enter image description here

或那:

enter image description here

1 个答案:

答案 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的不同编码。