Module Imandra_tools.Region_probs

A module for creating probability distributions over regions and Boolean queries using custom hierarchical statistical models or datasets

Functions for setting and getting the current PRNG used for sampling

type prng_type =
| RS
| GSL
val set_prng : prng_type -> unit
val get_prng : unit -> unit

Univariate distribution functions for generating single samples

val bernoulli : p:Q.t -> ?constraints:bool -> unit -> bool
val beta : a:Q.t -> b:Q.t -> ?constraints:(Q.t * Q.t) list -> unit -> Q.t
val binomial : n:Z.t -> p:Q.t -> ?constraints:(Z.t * Z.t) list -> unit -> Z.t
val categorical : classes:'a list -> probs:Q.t list -> ?constraints:'a list -> unit -> 'a
val cauchy : x_0:Q.t -> gamma:Q.t -> ?constraints:(Q.t * Q.t) list -> unit -> Q.t
val exponential : lambda:Q.t -> ?constraints:(Q.t * Q.t) list -> unit -> Q.t
val gamma : k:Q.t -> theta:Q.t -> ?constraints:(Q.t * Q.t) list -> unit -> Q.t
val gaussian : mu:Q.t -> sigma:Q.t -> ?constraints:(Q.t * Q.t) list -> unit -> Q.t
val laplace : mu:Q.t -> b:Q.t -> ?constraints:(Q.t * Q.t) list -> unit -> Q.t
val logistic : mu:Q.t -> s:Q.t -> ?constraints:(Q.t * Q.t) list -> unit -> Q.t
val lognormal : mu:Q.t -> sigma:Q.t -> ?constraints:(Q.t * Q.t) list -> unit -> Q.t
val poisson : lambda:Q.t -> ?constraints:(Z.t * Z.t) list -> unit -> Z.t
val uniform : a:Q.t -> b:Q.t -> ?constraints:(Q.t * Q.t) list -> unit -> Q.t

Sampler and Data module types, used as input to From_... functors

module type Sampler_S = sig ... end
module type Data_S = sig ... end

Functor type used to create a model from from a Sampler or Data module

module Distribution : sig ... end

Printer for region probabilities with adjustable decimal precision and verbosity options

val print_probs : ?precision:Z.t -> ?full_support:bool -> ?verbose:bool -> ( int, float * Imandra_surface.Modular_region.t ) Stdlib.Hashtbl.t -> unit