In almost every context you will encounter $a \implies b \implies c$ it means
$$a \implies (b \implies c)$$
This is so common in constructive logic that it is effectively a universal standard. The fake reason for it is that
$$a_0 \implies (a_1 \implies (a_2 \implies (\dots \implies b)))$$
is propositionally equivalent to
$$(a_0 \land a_1 \land a_2 \dots) \implies b$$
which makes it a very easy convention to work with, since most theorems have a list of conditions and 1 conclusion. But the real reason for the convention comes from typed lambda calculus, which is the basis of constructive logic. Suppose you have a lambda expression
$$\lambda y. \lambda x. \lambda w. V$$
and you have a predicate $T(n)$ that represents "$n$ is of the appropriate type". Let
- $A$ be $T(y)$
- $B$ be $T(x)$
- $C$ be $T(w)$
- $V$ be $T(V)$
Then the statement that "$\lambda y. \lambda x. \lambda w. V$ is appropriately typed" is propositionally:
$$T(\lambda y. \lambda x. \lambda w. V) = (A \implies B \implies C \implies D)$$
if you associate the implication to the right as above. The similarity between that notation and functions from $A$ to $B$ as $F: A \to B$ is apparent. Since constructive logic is built on top of typed lambda calculus, the convention is preserved. You will probably never encounter anywhere in modern logical publication that doesn't use this convention.