{motive : Lean.Meta.Grind.Split.State → Sort u} →
  (t : Lean.Meta.Grind.Split.State) →
    ((num : ℕ) →
        (candidates : List Lean.Meta.Grind.SplitInfo) →
          (added : Std.HashSet Lean.Meta.Grind.SplitInfo) →
            (resolved : Lean.PHashSet Lean.Meta.Sym.ExprPtr) →
              (trace : List Lean.Meta.Grind.CaseTrace) →
                (lookaheads : List Lean.Meta.Grind.SplitInfo) →
                  (argPosMap : Std.HashMap (Lean.Expr × Lean.Expr) (List ℕ)) →
                    (argsAt : Lean.PHashMap (Lean.Expr × ℕ) (List Lean.Meta.Grind.SplitArg)) →
                      motive
                        { num := num, candidates := candidates, added := added, resolved := resolved, trace := trace,
                          lookaheads := lookaheads, argPosMap := argPosMap, argsAt := argsAt }) →
      motive t