{motive : Lean.Elab.Tactic.Conv.PatternMatchState → Sort u} →
  (t : Lean.Elab.Tactic.Conv.PatternMatchState) →
    ((subgoals : Array Lean.MVarId) → motive (Lean.Elab.Tactic.Conv.PatternMatchState.all subgoals)) →
      ((subgoals : Array (ℕ × Lean.MVarId)) →
          (idx : ℕ) →
            (remaining : List (ℕ × ℕ)) → motive (Lean.Elab.Tactic.Conv.PatternMatchState.occs subgoals idx remaining)) →
        motive t