Single_value_abstractionSourceA Single-value abstraction consists of Operator over Lattices.
There are two kinds of transfer functions:
The transfer functions are multi-sorted, and we have an implicit order on the types:
A basic abstraction, featuring only transfer function over abstract booleans.
The lattice for four-valued boolean logic. It represents the powerset of {true,false}. See Lattices.Quadrivalent.
Our main bitvector abstraction: interval and congruence abstraction, for both the signed and unsigned interpretation of bitvectors.
The most precise abstraction for finite enumerations: a bitfield, with a bit for each possible value, compactly representing a set of values.
A bitvector abstraction representing information known about the known and unknown bits.
Code when you need new transfer functions that fail when they are called. Start here when you implement a new single-value abstraction.