EDIT: I have slightly modified the question to include recursive function.
I want to create some recursive functions using SetDelayed within MapThread.
MapThread[SetDelayed, {{c[x_],f[y_]}, {c[x] = Simplify[x^2 + 3*x - x*(2*x - 7) + c[x - 1]],f[y] = Simplify[E^y - 5*y^2 + y*(y - 1) + f[y + 1]]}}];
As expected it simplifies first then applies SetDelayedwith the LHS.
But I like to have outputs like the followings
c[x_] := c[x] = Simplify[x^2 + 3 x - x (2 x - 7) + c[x - 1]]
f[y_] := f[y] = Simplify[E^y - 5 y^2 + y (y - 1) + f[y + 1]]
How is it possible to keep Simplify[] unevaluated in MapThread[]? For better understanding I have also attached a screen shot.
As seen from the picture, the recursive function definition is also quite different while using MapThread[].


