(motive : Option (Array Lean.FVarId × Lean.MVarId) → Sort u_1) →
  (result? : Option (Array Lean.FVarId × Lean.MVarId)) →
    ((fst : Array Lean.FVarId) → (newGoal : Lean.MVarId) → motive (some (fst, newGoal))) →
      ((x : Option (Array Lean.FVarId × Lean.MVarId)) → motive x) → motive result?