HepLean Documentation

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

This module contains the implementation of a bitblaster for BitVec.zeroExtend.

def Std.Tactic.BVDecide.BVExpr.bitblast.blastZeroExtend {α : Type} [Hashable α] [DecidableEq α] {newWidth : Nat} (aig : Std.Sat.AIG α) (target : aig.ExtendTarget newWidth) :
Equations
Instances For
    @[irreducible]
    def Std.Tactic.BVDecide.BVExpr.bitblast.blastZeroExtend.go {α : Type} [Hashable α] [DecidableEq α] (aig : Std.Sat.AIG α) (w : Nat) (input : aig.RefVec w) (newWidth curr : Nat) (hcurr : curr newWidth) (s : aig.RefVec curr) :
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[irreducible]
      theorem Std.Tactic.BVDecide.BVExpr.bitblast.blastZeroExtend.go_le_size {α : Type} [Hashable α] [DecidableEq α] (aig : Std.Sat.AIG α) (w : Nat) (input : aig.RefVec w) (newWidth curr : Nat) (hcurr : curr newWidth) (s : aig.RefVec curr) :
      aig.decls.size (Std.Tactic.BVDecide.BVExpr.bitblast.blastZeroExtend.go aig w input newWidth curr hcurr s).aig.decls.size
      @[irreducible]
      theorem Std.Tactic.BVDecide.BVExpr.bitblast.blastZeroExtend.go_decl_eq {α : Type} [Hashable α] [DecidableEq α] (aig : Std.Sat.AIG α) (w : Nat) (input : aig.RefVec w) (newWidth curr : Nat) (hcurr : curr newWidth) (s : aig.RefVec curr) (idx : Nat) (h1 : idx < aig.decls.size) (h2 : idx < (Std.Tactic.BVDecide.BVExpr.bitblast.blastZeroExtend.go aig w input newWidth curr hcurr s).aig.decls.size) :
      (Std.Tactic.BVDecide.BVExpr.bitblast.blastZeroExtend.go aig w input newWidth curr hcurr s).aig.decls[idx] = aig.decls[idx]
      instance Std.Tactic.BVDecide.BVExpr.bitblast.instLawfulVecOperatorExtendTargetBlastZeroExtend {α : Type} [Hashable α] [DecidableEq α] :
      Std.Sat.AIG.LawfulVecOperator α Std.Sat.AIG.ExtendTarget fun {len : Nat} => Std.Tactic.BVDecide.BVExpr.bitblast.blastZeroExtend
      Equations
      • =