kdrag.solvers.bdd
Classes
|
- class kdrag.solvers.bdd.BDD
Bases:
object>>> x,y,z = smt.Bools('x y z') >>> bdd = BDD() >>> bdd.declare(x,y,z) >>> bdd.declare(z) >>> bdd.translate(smt.And(x, smt.Or(z, y))).count() 3 >>> bdd.translate(smt.Exists([y], smt.And(x, smt.Or(z, y)))).count() 1 >>> list(bdd.pick_iter(smt.Exists([y], smt.And(x, smt.Or(z, y))))) [[(x, True)]]
- declare(*vs: ExprRef)
- Parameters:
vs (ExprRef)
- pick(expr: BoolRef, care_vars: list[ExprRef]) list[tuple[BoolRef, bool]] | None
- Parameters:
expr (BoolRef)
care_vars (list[ExprRef])
- Return type:
list[tuple[BoolRef, bool]] | None
- pick_iter(expr: BoolRef)
- Parameters:
expr (BoolRef)
- substitute(e: BoolRef, *substs) Function
- Parameters:
e (BoolRef)
- Return type:
Function
- translate(expr: BoolRef) Function
- Parameters:
expr (BoolRef)
- Return type:
Function