Make.Query
module Boolean_Lattice = B.Boolean_Lattice
module Integer_Lattice = B.Integer_Lattice
module Binary_Lattice = B.Binary_Lattice
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