{w : ℕ} →
  (aig : Std.Sat.AIG Std.Tactic.BVDecide.BVBit) →
    (motive : Std.Tactic.BVDecide.BVExpr.WithCache (Std.Tactic.BVDecide.BVExpr w) aig → Sort u_1) →
      (input : Std.Tactic.BVDecide.BVExpr.WithCache (Std.Tactic.BVDecide.BVExpr w) aig) →
        ((expr : Std.Tactic.BVDecide.BVExpr w) →
            (cache : Std.Tactic.BVDecide.BVExpr.Cache aig) → motive { val := expr, cache := cache }) →
          motive input