(motive :
    DoResultPR (Bool × Mathlib.Ineq × Lean.Expr × Lean.Expr × Lean.Expr)
        (Bool × Mathlib.Ineq × Lean.Expr × Lean.Expr × Lean.Expr) PUnit.{1} →
      Sort u_1) →
  (r :
      DoResultPR (Bool × Mathlib.Ineq × Lean.Expr × Lean.Expr × Lean.Expr)
        (Bool × Mathlib.Ineq × Lean.Expr × Lean.Expr × Lean.Expr) PUnit.{1}) →
    ((a : Bool × Mathlib.Ineq × Lean.Expr × Lean.Expr × Lean.Expr) → (u : PUnit.{1}) → motive (DoResultPR.pure a u)) →
      ((b : Bool × Mathlib.Ineq × Lean.Expr × Lean.Expr × Lean.Expr) →
          (u : PUnit.{1}) → motive (DoResultPR.return b u)) →
        motive r