Module Make.Query

include Single_value_abstraction.Sig.Boolean_Conversions with type boolean := Boolean_Lattice.t
val convert_to_quadrivalent : Boolean_Lattice.t -> Lattices.Quadrivalent.t
include Single_value_abstraction.Sig.Integer_Conversions with type integer := Integer_Lattice.t
val convert_to_ival : Integer_Lattice.t -> Framac_ival.Ival.t
val is_singleton_int : Integer_Lattice.t -> Z.t option
include Single_value_abstraction.Sig.Binary_Conversions with type binary := Binary_Lattice.t
val binary_to_ival : signed:bool -> size:int -> Binary_Lattice.t -> Framac_ival.Ival.t
val binary_is_singleton : size:int -> Binary_Lattice.t -> Z.t option
val binary_is_empty : size:int -> Binary_Lattice.t -> bool
val binary_fold_crop : size:int -> Binary_Lattice.t -> inf:Z.t -> sup:Z.t -> 'a -> (Z.t -> 'a -> 'a) -> 'a
val binary_to_known_bits : size:int -> Binary_Lattice.t -> Lattices.Known_Bits.t
val boolean : t -> boolean -> Boolean_Lattice.t
val integer : t -> integer -> Integer_Lattice.t
val binary : size:int -> t -> binary -> Binary_Lattice.t