Module Single_value_abstraction.Ival
Our main bitvector abstraction: interval and congruence abstraction, for both the signed and unsigned interpretation of bitvectors.
type boolean = Lattices.Quadrivalent.booleantype integer = Framac_ival.Ival.tmodule Integer_Forward :
Operator.INTEGER_FORWARD
with module Arity := Operator.Forward_Arity
and type boolean := boolean
and type integer := integermodule Integer_Backward :
Operator.INTEGER_BACKWARD
with module Arity := Operator.Backward_Arity
and type boolean := boolean
and type integer := integermodule Boolean_Forward :
Operator.BOOLEAN_FORWARD
with module Arity := Operator.Forward_Arity
and type boolean := booleanmodule Boolean_Backward :
Operator.BOOLEAN_BACKWARD
with module Arity := Operator.Backward_Arity
and type boolean := booleanmodule Boolean_Lattice : Lattices.Sig.BOOLEAN_LATTICE with type t = booleanmodule Integer_Lattice : Lattices.Sig.INTEGER_LATTICE with type t = integermodule Bitvector_Forward :
Operator.BITVECTOR_FORWARD_WITH_BIMUL_ADD
with module Arity := Operator.Forward_Arity
and type boolean := boolean
and type bitvector := bitvectormodule Bitvector_Backward : sig ... endmodule Bitvector_Lattice :
Lattices.Sig.BITVECTOR_LATTICE with type t = bitvectorval integer_is_singleton : integer -> Z.t option