Line-search does not guarantee convergence so how to use it?
First of all, if we have a descent direction, we can always find a step size $\tau$ that is arbitrary small, such that &quot;the sufficient descent criterion&quot; is satisfied (see the Wikipedia article 'Backtracking line search'). This essentially rules out the infinite loop issue.
For example, consider Armijo condition as &quot;the sufficient descent criterion&quot;, which is
$$
f(\bar{x}+\tau d) \leq f(\bar{x})+\gamma \tau\langle\nabla f(\bar{x}), d\rangle
$$
for $\gamma \in (0,1)$ and where $d$ satisfies $\langle\nabla f(\bar{x}), d\rangle &lt; 0$.
If the function is twice differentiable, we can consider its Taylor expansion around the current iterate $x_k$ and show that as $\tau \to 0$, the Armijo condition is satisfied. However the step size could be arbitrarily small, when we consider the backtracking algorithm. To prevent this, we impose additional constraints on the step size, that prevent $\tau$ from being too small, while preserving the guarantee that such a step size still exists. For further details, you can check the Wikipedia article above.