Module type Frenetic_netkat.Vlr.Result

The type for a result that has a semi-ring structure

include HashCmp
type t
val equal : t ‑> t ‑> Ppx_deriving_runtime.bool
include sig ... end
val t_of_sexp : Ppx_sexp_conv_lib.Sexp.t ‑> t
val sexp_of_t : t ‑> Ppx_sexp_conv_lib.Sexp.t
val compare : t ‑> t ‑> int
val hash_fold_t : Ppx_hash_lib.Std.Hash.state ‑> t ‑> Ppx_hash_lib.Std.Hash.state
val hash : t ‑> Ppx_hash_lib.Std.Hash.hash_value
val to_string : t ‑> string
val sum : t ‑> t ‑> t

An associative and commutative binary operation over the type t. The following should hold:

val prod : t ‑> t ‑> t

An associative binary operation over the type t. The following should hold:

val one : t

The identity for the prod operation. The following should hold:

As an example, if t where the type bool and prod and sum were && and ||, respectively, then one should be the value true.

val zero : t

The identity for the sum operation. The following should hold:

As an example, if t where the type bool and prod and sum were && and ||, respectively, then zero should be the value false.