Documentation

VCVio.EvalDist.Bool

Evaluation Distributions on Boolean-Valued Computations #

Specialization lemmas for HasEvalSPMF computations returning Bool.

@[simp]
theorem probOutput_true_add_false {m : TypeType u_1} [Monad m] [HasEvalSPMF m] (mx : m Bool) :
@[simp]
theorem probOutput_false_add_true {m : TypeType u_1} [Monad m] [HasEvalSPMF m] (mx : m Bool) :
theorem probOutput_true_eq_sub {m : TypeType u_1} [Monad m] [HasEvalSPMF m] (mx : m Bool) :
theorem probOutput_false_eq_sub {m : TypeType u_1} [Monad m] [HasEvalSPMF m] (mx : m Bool) :
@[simp]
theorem probOutput_not_map {m : TypeType u_1} [Monad m] [HasEvalSPMF m] [LawfulMonad m] (mx : m Bool) :
Pr[= true | (fun (x : Bool) => !x) <$> mx] = Pr[= false | mx]
@[simp]
theorem probOutput_not_map' {m : TypeType u_1} [Monad m] [HasEvalSPMF m] [LawfulMonad m] (mx : m Bool) :
Pr[= false | (fun (x : Bool) => !x) <$> mx] = Pr[= true | mx]
@[simp]
theorem probOutput_true_add_false_of_neverFail {m : TypeType u_1} [Monad m] [HasEvalSPMF m] {mx : m Bool} [NeverFail mx] :
@[simp]
theorem probEvent_true_eq_probOutput {m : TypeType u_1} [Monad m] [HasEvalSPMF m] (mx : m Bool) :
(probEvent mx fun (x : Bool) => x = true) = Pr[= true | mx]
@[simp]
theorem probEvent_not_eq_probOutput {m : TypeType u_1} [Monad m] [HasEvalSPMF m] (mx : m Bool) :
(probEvent mx fun (x : Bool) => x = false) = Pr[= false | mx]