15 lines
500 B
Text
15 lines
500 B
Text
import Lean
|
|
import Std.Tactic.BVDecide.Bitblast.BVExpr
|
|
|
|
open Lean
|
|
open Std.Tactic.BVDecide
|
|
|
|
def groupAssignmentsBySymVars (assignments : List (Std.HashMap Nat BVExpr.PackedBitVec))
|
|
: Std.HashMap (BVExpr w) (List BVExpr.PackedBitVec) := Id.run do
|
|
let mut res : Std.HashMap (BVExpr w) (List BVExpr.PackedBitVec) := Std.HashMap.emptyWithCapacity
|
|
let ex := assignments[0]!
|
|
for (const, _) in ex.toArray do
|
|
let constVar : BVExpr w := BVExpr.var const
|
|
let _ := res.getD constVar []
|
|
res
|
|
|