Documentation

Std.Tactic.BVDecide.Bitblast.BVExpr.Circuit.Impl.Operations.RotateLeft

This module contains the implementation of a bitblaster for BitVec.rotateLeft. Note that only rotating with a known rotation distance is supported because rotateLeft takes a Nat as distance.

def Std.Tactic.BVDecide.BVExpr.bitblast.blastRotateLeft {α : Type} [Hashable α] [DecidableEq α] {w : Nat} (aig : Std.Sat.AIG α) (target : aig.ShiftTarget w) :
Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[irreducible]
    def Std.Tactic.BVDecide.BVExpr.bitblast.blastRotateLeft.go {α : Type} [Hashable α] [DecidableEq α] {w : Nat} {aig : Std.Sat.AIG α} (input : aig.RefVec w) (distance curr : Nat) (hcurr : curr w) (s : aig.RefVec curr) :
    aig.RefVec w
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Std.Tactic.BVDecide.BVExpr.bitblast.instLawfulVecOperatorShiftTargetBlastRotateLeft {α : Type} [Hashable α] [DecidableEq α] :
      Std.Sat.AIG.LawfulVecOperator α Std.Sat.AIG.ShiftTarget fun {len : Nat} => Std.Tactic.BVDecide.BVExpr.bitblast.blastRotateLeft