Prove: If $\displaystyle f: A \rightarrow B $ and $\displaystyle g: B \rightarrow C $ are functions and $\displaystyle D \subset A, $ then $\displaystyle (g \circ f) (D) = g(f(D)) $.
Actually it is not the definition.
$\displaystyle g \circ f(D)$ is the image of $\displaystyle D$ under the mapping $\displaystyle g \circ f:A\to C$
Whereas, $\displaystyle g(f(D))$ is the image of $\displaystyle f(D)$ under the mapping $\displaystyle g:B\to C$.
If $\displaystyle p\in g \circ f(D) $ then by definition $\displaystyle \left( {\exists d \in D} \right)\left[ {g \circ f(d) = p} \right]$.
Also $\displaystyle \left( {\exists b \in B} \right)\left[ {f(d) = b \wedge g(b) = p} \right]$,which means $\displaystyle p\in g(f(D))$
But that is exactly the point. This problem deals with a formal definition.
Now I know that this is a personal peeve of mine.
I give Charles Pinter full credit for making me aware of this problem.
It is a notational problem.
Suppose that $\displaystyle f:A\to B$ and $\displaystyle C\subset A$ what sense does it make to write $\displaystyle f(C)?$
I agree with him, it makes no sense. But I disagree with his notation.
He uses $\displaystyle \overline f (C)$ for $\displaystyle f(C)$.
And if $\displaystyle D\subset B$ then $\displaystyle \overline{\overline f} (D)$ is used for $\displaystyle f^{-1}(D)$.
I suggested the more intuitive notations $\displaystyle \mathop f\limits^ \to (C)\,\& \,\mathop f\limits^ \leftarrow (D)$ but never got any real takers.
I actually like that notation it makes more sense. I guess the real idea is that given a function $\displaystyle f:A\to B$ you have automatically induced a natural function $\displaystyle \vec{f}:\mathcal{P}(A)\to\mathcal{P}(B):E\mapsto f(E)$ and then once you have that nasty notational buisness out of the way you can say $\displaystyle \vec{f}(E)$ and not have people wonder why a function which maps elements of a set is now mapping full subsets of that set.