Algebra.BoolBoolean semiring: ({false, true}, ∨, ∧, false, true).
This is the two-element Boolean semiring used by the residual NFA benchmark family. Concretely, zero = false, one = true, add = (∨), mul = (∧).
SMT encoding uses QF_BV (bitvector logic with 1-bit values), which is the tightest available logic for Boolean variables in Smtml.
module Log : sig ... endmodule T : sig ... endinclude sig ... endval comparator : (T.t, comparator_witness) Base__Comparator.comparatorGenerate a random Boolean: true with probability non_zero (default 0.5).
module SMT : sig ... end