#include <boolbv.h>
expr with variables replaced by values from satisfying assignment if available. expr, add the constraint 'expr' if value is true, otherwise add 'not expr'. out. symbol is equal to value for the purposes of the array theory. out. expr with variables replaced by values from satisfying assignment if available. l from satisfying assignment. expr, add the constraint 'current_context => expr' if value is true, otherwise add 'current_context => not expr'. expr, add the constraint 'expr'. expr, add the constraint 'not expr'. expr. assumption_stack is segmented in contexts; Number of assumptions in each context on the stack Definition at line 494 of file boolbv.cpp.
Reimplemented in bv_pointers_widet.
Definition at line 582 of file boolbv.cpp.
Definition at line 294 of file boolbv_get.cpp.
Definition at line 301 of file boolbv_get.cpp.
Reimplemented in bv_pointers_widet, and bv_pointerst.
Definition at line 85 of file boolbv_get.cpp.
Definition at line 313 of file boolbv_get.cpp.
Reimplemented from prop_conv_solvert.
Print that the expression of x has failed conversion, then return a vector of x's width.
Definition at line 95 of file boolbv.cpp.
Definition at line 17 of file boolbv_abs.cpp.
Definition at line 16 of file boolbv_add_sub.cpp.
Flatten array.
Loop over each element and convert them in turn, limiting each result's width to initial array bit size divided by number of elements. Return an empty vector if the width is zero or the array has no elements.
Definition at line 16 of file boolbv_array.cpp.
Definition at line 270 of file boolbv.cpp.
Flatten arrays constructed from a single element.
Definition at line 16 of file boolbv_array_of.cpp.
Definition at line 114 of file boolbv_overflow.cpp.
Definition at line 15 of file boolbv_bitreverse.cpp.
Converts an expression into its gate-level representation and returns a vector of literals corresponding to the outputs of the Boolean circuit.
Reimplemented in bv_pointers_widet, and bv_pointerst.
Definition at line 109 of file boolbv.cpp.
Definition at line 13 of file boolbv_bitwise.cpp.
Definition at line 13 of file boolbv_bswap.cpp.
Convert expression to vector of literalts, using an internal cache to speed up conversion if available.
Also assert the resultant vector is of a specific size, and freeze any elements if appropriate.
Definition at line 40 of file boolbv.cpp.
Definition at line 54 of file boolbv_reduction.cpp.
Flatten <, >, <= and >= expressions.
Definition at line 18 of file boolbv_bv_rel.cpp.
Definition at line 19 of file boolbv_typecast.cpp.
Definition at line 33 of file boolbv_byte_extract.cpp.
Definition at line 15 of file boolbv_byte_update.cpp.
Definition at line 13 of file boolbv_complex.cpp.
Definition at line 48 of file boolbv_complex.cpp.
Definition at line 37 of file boolbv_complex.cpp.
Definition at line 14 of file boolbv_concatenation.cpp.
Definition at line 13 of file boolbv_cond.cpp.
Definition at line 13 of file boolbv_constant.cpp.
Definition at line 12 of file boolbv_constraint_select_one.cpp.
Reimplemented in bv_refinementt.
Definition at line 13 of file boolbv_div.cpp.
Definition at line 38 of file boolbv_union.cpp.
Definition at line 15 of file boolbv_equality.cpp.
Definition at line 19 of file boolbv_extractbit.cpp.
Definition at line 14 of file boolbv_extractbits.cpp.
Definition at line 16 of file boolbv_floatbv_fma.cpp.
Definition at line 15 of file boolbv_floatbv_mod_rem.cpp.
Reimplemented in bv_refinementt.
Definition at line 101 of file boolbv_floatbv_op.cpp.
Definition at line 83 of file boolbv_floatbv_op.cpp.
Definition at line 17 of file boolbv_floatbv_op.cpp.
Definition at line 329 of file boolbv.cpp.
Definition at line 17 of file boolbv_ieee_float_rel.cpp.
Definition at line 12 of file boolbv_if.cpp.
index operator with constant index
Definition at line 281 of file boolbv_index.cpp.
Definition at line 21 of file boolbv_index.cpp.
Definition at line 16 of file boolbv_let.cpp.
Definition at line 49 of file boolbv_member.cpp.
Reimplemented in bv_refinementt.
Definition at line 12 of file boolbv_mod.cpp.
Reimplemented in bv_refinementt.
Definition at line 13 of file boolbv_mult.cpp.
Definition at line 13 of file boolbv_not.cpp.
Definition at line 12 of file boolbv_onehot.cpp.
Definition at line 192 of file boolbv_overflow.cpp.
Definition at line 13 of file boolbv_popcount.cpp.
Definition at line 13 of file boolbv_power.cpp.
Definition at line 268 of file boolbv_quantifier.cpp.
Definition at line 13 of file boolbv_reduction.cpp.
Definition at line 14 of file boolbv_replication.cpp.
Reimplemented from prop_conv_solvert.
Reimplemented in bv_pointers_widet, and bv_pointerst.
Definition at line 340 of file boolbv.cpp.
Definition at line 151 of file boolbv_add_sub.cpp.
Definition at line 15 of file boolbv_shift.cpp.
Definition at line 13 of file boolbv_struct.cpp.
Definition at line 305 of file boolbv.cpp.
conversion from bitvector types to boolean
Definition at line 624 of file boolbv_typecast.cpp.
Definition at line 20 of file boolbv_unary_minus.cpp.
Definition at line 178 of file boolbv_overflow.cpp.
Definition at line 11 of file boolbv_union.cpp.
Definition at line 15 of file boolbv_update.cpp.
Definition at line 13 of file boolbv_update_bit.cpp.
Definition at line 13 of file boolbv_update_bits.cpp.
Definition at line 33 of file boolbv_update.cpp.
Definition at line 59 of file boolbv_equality.cpp.
Definition at line 64 of file boolbv_with.cpp.
Definition at line 17 of file boolbv_with.cpp.
Definition at line 109 of file boolbv_with.cpp.
Definition at line 173 of file boolbv_with.cpp.
Definition at line 220 of file boolbv_with.cpp.
Definition at line 30 of file boolbv.cpp.
Reimplemented in bv_pointerst, and bv_pointers_widet.
Reimplemented from arrayst.
Reimplemented in bv_pointers_widet, and bv_pointerst.
Definition at line 293 of file boolbv_quantifier.cpp.
create new, unique variables for the given binding
Definition at line 553 of file boolbv.cpp.
Return expr with variables replaced by values from satisfying assignment if available.
Return nil if not available
Implements decision_proceduret.
Reimplemented in string_refinementt.
Definition at line 21 of file boolbv_get.cpp.
Definition at line 409 of file boolbv_get.cpp.
Return the model value for expr.
Unlike get(), this checks the bitvector cache first so that expressions that were converted to SAT variables are read from the SAT model rather than symbolically evaluated. Intended for use by the refinement loop.
Definition at line 52 of file boolbv_get.cpp.
Generate a handle, which is an expression that has the same value as the argument in any model that is generated; this offers an efficient way to refer to the expression in subsequent calls to get or set_to.
The returned expression may be the expression itself or a more compact but solver-specific representation.
Implements decision_proceduret.
Definition at line 84 of file boolbv.cpp.
Implements arrayst.
Definition at line 534 of file boolbv.cpp.
Print satisfying assignment to out.
Implements decision_proceduret.
Definition at line 576 of file boolbv.cpp.
For a Boolean expression expr, add the constraint 'expr' if value is true, otherwise add 'not expr'.
Implements decision_proceduret.
Reimplemented in string_refinementt.
Definition at line 524 of file boolbv.cpp.
Definition at line 32 of file boolbv_typecast.cpp.