.sat_count::<u64, FxBuildHasher>(lts.state_variables().len() as u32, &mut SatCountCache::default());
.and(&manager_ref.with_manager_shared(|manager| encode_block(manager, &block_variables_bdds, 0))?)?;
// In the sigref algorithm, the partition is defined over the next state. When we compute the signature
// we then get (s, a, b), since in the signature we need to consider the block of the next state.
.map(|group| -> Result<_, MercError> { Ok(compute_vars_bdd(manager_ref, group.write_variables())?.1) })
fn decode_block<'id>(_manager: &<BDDFunction as Function>::Manager<'id>, block: &BDDFunction) -> u64 {
/// Display helper that prints all vectors represented by the given signature BDD as numbers, by decoding
/// Display helper that prints all vectors represented by the given signature BDD as numbers, by decoding
fn new(signature: &'a BDDFunction, variables: &'a Vec<VarNo>, num_of_bits: &'a [u32], block_bits: u32) -> Self {
let block_variable_names = (0..num_of_bits).map(|i| format!("b_{}", i)).collect::<Vec<String>>();