I want to define a functional
E by using the property
E[ E[f[x]] ] := E[f[x]] for some arbitrary function f[x]. Meaning, that I want Mathematica to evaluate every expression E[ E[f[x]] ] to E[f[x]] for all functions f[x]. How do I make this in Mathematica? I tried
E[ E[f_[x]] ] := E[f[x]]
but this gives the following error "$IterationLimit::itlim: Iteration limit of 4096 exceeded." and as output Hold[E[f[x]]]. Thanks!