Q: necessary and sufficient conditions for certain operators on $C[0,1]$ to be compact This is an excersice in Conway's 《A Course in Functional Analysis》.
Let $\tau:[0,1]\rightarrow [0,1]$ be continuous and define $A:C[0,1]\rightarrow C[0,1]$ by $A(f)=f\circ \tau$. Give necessary and sufficient conditions on $\tau$ for $A$ to be a compact operator.
By The Arzela-Ascoli Theorem, we know a necessary and sufficient condition is 
$$A(Ball(C[0,1]))$$ is equicontinuous, i.e. $\forall \epsilon \gt0,x_0\in [0,1]$, there is neighbourhood $U$ of $x_0$, s.t. $$|f(\tau(x))-f(\tau(x_0))|\le \epsilon, \forall f\in Ball(C[0,1]),\forall x\in U$$.
But how can I get a sufficient and necessary condition on $\tau$ from the above sufficient and necessary condition?
Any help would be appreciated.

A: If $\tau$ is constant it is clear that the operator is compact, as the image is one dimensional. 
Choose $\epsilon>0$ and suppose $\tau$ is non constant. That means that there is a point $x_0$ such that every neighborhood $U$ of $x_0$ has a point $x_1\in U$ such that $\tau(x_0)\not=\tau(x_1)$. We use here that if a continous function is locally constant and the domain is connected it is constnat. Choose a continuous function with $f(\tau(x_0))=0$ and $f(\tau(x_1))=2\epsilon$. Then $|Af(x_0)-Af(x_1)|=2\epsilon>\epsilon$. Thus the family is not equicontinous and the operator is not compact.
