Recall that a space $X$ is contractible if there exists a homotopy $h:X\times [0,1]\to X$ such that $h$ is equal to the identity map on $X\times\{0\}$ and $h$ is constant on $X\times\{1\}$.
Please help me out since I'm stuck with this question, namely, why each ANR is locally contractible. It seems that I can prove that each AR is contractible this way: Consider $A = X\times \{0\} \cup X\times \{1\} \cup \{x_0\}\times [0,1] \subset X\times [0,1]$, where $x_0$ is any point from $X$. This set is closed in $X\times [0,1]$. Define $h: A\to X$ by $h|_{X\times \{0\}} = id_X$, $h|_{X\times \{1\}} = x_0$, $h|_{\{x_0\}\times [0,1]} = x_0$. This function is continuous, we can extend it (since being an AR is equivalent to being an AE) to the whole space $X\times [0,1]$. And this will be the required homotopy that squeezes $X$ into a point ($x_0$).
But similar approach seems not to work in case of an ANR. Because here I get a neighborhood $V$ of $A$ in $X\times [0,1]$ and an extension of $h$ onto this neighborhood. I can of course find an open $U\subset X$ such that $x_0\times [0,1] \subset U\times [0,1]\subset V$ (where $x_0$ is the point for which I want to find a contractible neighborhood) and consider the restriction of my extension onto $U\times [0,1]$, but the problem is that this map is not necessarily a map from $U\times [0,1]$ to $U$ (the range of my restricted extension can be larger than $U$).
Can anybody please give a hint on what's going on? (a hint would be even better than a full answer).