This module contains basic infrastructure for converting between variable assignments of BVExpr
and AIG
. This is necessary because BVExpr
needs to use a list and indices into said list instead
of a function due to the way that it is used in bv_decide
.
def
Std.Tactic.BVDecide.BVExpr.Assignment.toAIGAssignment
(assign : Std.Tactic.BVDecide.BVExpr.Assignment)
:
Equations
- assign.toAIGAssignment bit = (assign.getD bit.var).bv.getLsbD ↑bit.idx
Instances For
@[simp]
theorem
Std.Tactic.BVDecide.BVExpr.Assignment.toAIGAssignment_apply
(assign : Std.Tactic.BVDecide.BVExpr.Assignment)
(bit : Std.Tactic.BVDecide.BVBit)
:
assign.toAIGAssignment bit = (assign.getD bit.var).bv.getLsbD ↑bit.idx