We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
witness_support
1 parent 87c0a63 commit e1f90b0Copy full SHA for e1f90b0
1 file changed
theories/distributions/Distr.ec
@@ -349,8 +349,17 @@ lemma mu_not (d : 'a distr) (p : 'a -> bool):
349
mu d (predC p) = weight d - mu d p.
350
proof. by rewrite -(@predCU p) mu_disjointL // #ring. qed.
351
352
-axiom witness_support P (d : 'a distr) :
+lemma witness_support P (d : 'a distr) :
353
0%r < mu d P <=> (exists x, P x /\ x \in d).
354
+proof.
355
+have ->: 0%r < mu d P <=> mu d P <> 0%r by smt(ge0_mu).
356
+split=> />.
357
++ apply: contraLR=> /= /negb_exists /> empty.
358
+ apply: mu0_false=> x x_in_D; move: (empty x).
359
+ by case: (P x).
360
+move=> x Px x_in_D; rewrite -negP=> /eq0_mu /=.
361
+by rewrite negb_forall; exists x=> /=; rewrite x_in_D Px.
362
+qed.
363
364
lemma mu_and_weight ['a] P Q (d : 'a distr) : (* FIXME: name *)
365
mu d P = weight d => mu d (predI P Q) = mu d Q.
0 commit comments