pub struct Actlit { /* private fields */ }
Expand description

An activation literal is an opaque wrapper around a usize.

Obtained by a call to Solver::get_actlit.

Implementations

Unique number of this actlit.

Writes the actlit as an SMT-LIB 2 symbol.

Builds an implication between an actlit and an expression.

Allows to use normal assert function over Solver.

let mut solver = Solver::default_z3(()).expect("failed to spawn solver");
let actlit = solver.get_actlit().expect("failed to declare actlit");
let conditional = actlit.implies("(> 0 1)");
solver.assert(&conditional).expect("failed to assert conditional expr");
let is_sat = solver.check_sat_assuming(Some(&actlit)).expect("failed to perform check-sat");
assert!(!is_sat);

Methods from Deref<Target = usize>

Trait Implementations

Converts this type into a shared reference of the (usually inferred) input type.

Formats the value using the given formatter. Read more

The resulting type after dereferencing.

Dereferences the value.

Prints an expression to a writer given some info.

Gives a name to an expression (owned version).

Gives a name to an expression (borrowed version).

Prints a symbol to a writer given some info.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.