{n : ℕ} →
  (motive : Std.Tactic.BVDecide.LRAT.Internal.DefaultFormula n → ℕ × Array ℕ → Sort u_1) →
    (f : Std.Tactic.BVDecide.LRAT.Internal.DefaultFormula n) →
      (ratHint : ℕ × Array ℕ) →
        ((clauses : Array (Option (Std.Tactic.BVDecide.LRAT.Internal.DefaultClause n))) →
            (rupUnits ratUnits : Array (Std.Sat.Literal (Std.Tactic.BVDecide.LRAT.Internal.PosFin n))) →
              (assignments : Array Std.Tactic.BVDecide.LRAT.Internal.Assignment) →
                (id : ℕ) →
                  (rupHints : Array ℕ) →
                    motive
                      { clauses := clauses, rupUnits := rupUnits, ratUnits := ratUnits, assignments := assignments }
                      (id, rupHints)) →
          motive f ratHint