pullback of continuous maps of manifolds I'm trying to prove the following:
(a) If $X, Y$ are smooth manifolds, then the map $\psi:X\to Y$ is smooth $\Leftrightarrow$ $\psi^*(C^\infty(Y))\subseteq C^\infty(X)$
(b) If $\psi:X\to Y$ is a homeomorphism between smooth manifolds, then it is a diffeomorphism  if the restriction of $\psi^*$ to $C^\infty(Y)$ is an isomorphism.
Can anyone help me with these?
Also, I think part of my trouble comes from conceptual understanding, so I'd appreciate any good references on smooth manifolds.
So far, I have for
(a):
"$\Rightarrow$": $\psi:X\to Y$ smooth $\Rightarrow \psi^*(f):=f\circ \psi, f\in C^\infty(Y), \psi^*:C^\infty(Y)\to C^\infty(X)$. Since $f$ and $\psi$ are smooth, then $f\circ\psi$ are smooth. Thus  $\psi^*(f)(p)=f(F(p)\in C^\infty(X)$, $p\in X$, so $\psi^*(C^\infty(X))\subseteq C^\infty(X)$.
"$\Leftarrow$: $\psi^*(f(p))=f(F(p)) \forall f\in C^\infty(Y), p\in X$. $f\in C^\infty(Y)$, $\psi^*(C^\infty(Y)) \subseteq C^\infty(X)$ implies that $f$ and $\psi^*$ are smooth, and $f^{-1}$ is smooth. $\psi^*=f\circ\psi\Rightarrow f^{-1}\circ \psi^*=\psi$ is a composition of smooth functions, so $\psi$ is smooth. 
(b):
"$\Rightarrow$": Let $f\in C^\infty(Y)$. Then $\psi^*(f)=f\circ\psi$ is a smooth map. In particular, $f^{-1}\in C^\infty(X)$ and $\psi^{-1}\in X$ exist, and are smooth invertible maps. Therefore $\exists \phi=(\psi^*)^{-1}$, $\psi^*\circ\phi=\phi\circ\psi^*=id$ so $\psi^*_{|C^\infty(Y)}$
"$\Leftarrow$": Suppose $\psi^*_{|C^\infty(Y)}$ is an isomorphism. Then $\exists\phi=(\psi^*)^{-1}:C^\infty(X)\to C^\infty(Y)$. $\psi^*=f\circ\psi, \psi^*, f$ invertible $\Rightarrow \psi$ invertible homeomorphism. So $\psi$ is a diffeomorphism.
 A: The forward direction of your part (a) is mostly correct, though I'd stop at "thus $f \circ \psi$ is smooth and thus $\phi^{*}(f) \in C^{\infty}(X)$".
Recall that $C^{\infty}(X)$ is the algebra of smooth maps $X \rightarrow \mathbb{R}$. Those usually won't be invertible, so I'm not sure what you mean by appealing to $f^{-1}$ in your subsequent attempts. I'll include a detailed argument for the reverse direction of part (a).
We suppose that the pullback of any smooth real-valued map via $\psi$ is smooth, and we are to prove $\psi$ is smooth. By definition, this means that for charts $\alpha : U \subset X \rightarrow \mathbb{R}^{m}$ and $\beta : V \subset Y \rightarrow \mathbb{R}^{n}$, with $\psi(U) \subset V$, we must have $\beta \circ \psi \circ \alpha^{-1}$ smooth (note we are assuming here $\psi$ is continuous). A map into $\mathbb{R}^{n}$ is smooth if and only if each coordinate function $\beta_i \circ \psi \circ \alpha^{-1}$ is smooth, where $\beta = (\beta_1, \ldots, \beta_n)$. We would like to apply our hypothesis to say that $\beta_i \circ \psi|_{U}$ is smooth, but we have an issue: $\beta_i$ is not defined on all of $Y$! But we need only prove smoothness locally, so the following trick works: take a point $x \in U$, and let us prove $\beta_i \circ \psi|_U$ is smooth at $x$. Consider $\rho : Y \rightarrow \mathbb{R}$ a smooth bump function which is $1$ in a small neighborhood of $\psi(x)$ and has support contained in $V$. Thus $\gamma(y) = \beta_i(y) \rho(y)$ is a globally defined smooth real-valued function on $Y$ which agrees with $\beta_i$ in a neighborhood $V'$ of $\psi(x)$. We know $\psi^{*}(\gamma) = \gamma \circ \psi$ is smooth; hence so is $\gamma \circ \psi|_{\psi^{-1}(V')} = \beta_i \circ \psi|_{\psi^{-1}(V')}$, where $\psi^{-1}(V')$ is an open neighborhood of $x$. Since $x \in U$ was aribtrary, we see $\beta_i \circ \psi|_U$ is smooth. Then we have $\beta_i \circ \psi \circ \alpha^{-1}$ smooth, and thus $\psi$ is smooth.
For the forward direction in part (b), you must prove $\psi^{-1}$ is smooth. Try applying part (a) to $(\psi^{-1})^{*}$, noting that this is the inverse of $\psi^{*}$.
EDIT: I assumed in this answer that $\psi$ is continuous, but that is actually not necessary. Here's a rough sketch: call an open subset $V \subset Y$ good if there is a smooth $f : Y \rightarrow \mathbb{R}$ and an open subset $V' \subset \mathbb{R}$ such that $f^{-1}(V') = V$. It looks to me like every open subset of $Y$ is good, but we don't need all that much. Note that if $V$ is good then $\psi^{-1}(V)$ is open (look at $(f \circ \psi)^{-1}(V')$). So it suffices to prove each point of $Y$ has a fundamental system of good neighborhoods. Given $y$ in $Y$, let $U_i$ be some fundamental system of neighborhoods of $y$. For each $i$ take a smooth $\rho_i : Y \rightarrow \mathbb{R}$ with $\rho_i(y) \neq 0$ and support contained in $U_i$. Let $V_i = \rho_i^{-1}(\mathbb{R} \setminus \{0\})$. You can then check $V_i$ is a fundamental system of good neighborhoods of $y$.
