A pullback of a linear map $A:U\to V$ ($U,V$ are vector spaces) is $A^*:V^*\to U^*$ such that $A^*(f)(u)=f(A(u))$. I'm looking at a proof that $A^{**}=A$, which goes like this: For $u\in U$ and $g\in V^*$, $$A^{**}(u)(g)=u(A^*(g))=A^*(g)(u)=g(A(u))=A(u)(g)$$ Since $v,g$ were arbitrary, $A^{**}=A$.
Clearly the second and last equalities have been written in that way because we naturally identify $U$ with its double dual and there's a natural equivalence between a vector and its double dual. But that doesn't make them equal, right? They are still distinct objects and using the same symbol for a vector and its double dual is to just reinforce the notion of their natural equivalence.
Explicitly writing the above series of equalities, we'll see something like: $$A^{**}(u^{**})(g)=u^{**}(A^*(g))=A^*(g)(u)=g(A(u))=(A(u))^{**}(g)$$
So strictly speaking, shouldn't we conclude instead that $A^{**}(u^{**})=(A(u))^{**}$ for all $u\in U$? Seems that "$A^{**}=A$" is just the result of some notation trickery of removing the asterisks from the above equation.