# How can I define an operator and plot its iterates?

I am trying to define a function (an operator) that "integrates then translates" a function. More specifically, for an input f[x], I want to integrate it as \int_0^x f[t] dt, then translate this function by one unit to the left.

I tried the following code:

     Integrate[#, {t, 0, x}, Assumptions -> x \[Element] Reals],
x]) /. x -> t &


This code works on many elementary functions with the Nest command. For example,

NestList[S[x], Exp[t], 2]


returns

{E^t, -1 + E^(1 + t), -1 + E (-1 + E^(1 + t)) - t}


(where E is the usual e). However, for a more exotic input function like Exp[Exp[t]], Mathematica gives me a conditional expression:

{E^E^t, ConditionalExpression[-ExpIntegralEi[1] +
ExpIntegralEi[E^(1 + t)], t > -1]}


I attempted adding assumptions that the variables x and t are real in my definition of S[x_], but I have not been able to work around my issue.

I know there is no closed form for the integral of e^e^x; ultimately, I just want to plot the iterates of a given starting function. Is there a different way to define this operator at the beginning so that its iterates are able to be plotted?

Your operator is wrong. It should read:

op = (Assuming[x \[Element] Reals, Integrate[#, {t, 0, x}]] /.
x -> t + 1) &


Applied to Exp[t] this gives:

NestList[op, Exp[t], 2]
(* {E^t, -1 + E^(1 + t), -1 + E (-1 + E^(1 + t)) - t} *)


And applied to Exp[Exp[t]]:

NestList[op, Exp[Exp[t]], 2]