(motive : MProd Lean.NameSet (List (Lean.Name × Option Lean.NameSet)) → Sort u_1) →
  (r : MProd Lean.NameSet (List (Lean.Name × Option Lean.NameSet))) →
    ((pushed : Lean.NameSet) → (stack : List (Lean.Name × Option Lean.NameSet)) → motive ⟨pushed, stack⟩) → motive r