Note that the elements of (R⊕A1)⊕A2 are finite support functions from A2 to the space of finite support functions R⊕A1, which contains functions from A1 to R.
Let f be any element of R⊕(A1×A2) and consider the map f′:A2→R⊕A1 given by a2↦g, where g:A1→R is given by a1↦f(a1,a2). We’ll use c to denote this procedure mapping f to f′.
Let h be any element of (R⊕A1)⊕A2 and consider the map h′:A1×A2→R given by (a1,a2)↦h(a2)(a1). We’ll use u to denote this procedure mapping h to h′.
We can verify that u and c are two-sided inverses of each other by
u(c(f))(a1,a2)=c(f)(a2)(a1)=f(a1,a2),
and
c(u(h))(a1)(a2)=u(h)(a1,a2)=h(a2)(a1).
Note also that they preserve finite support property, since they bijectively reindex a finite support function.
We’ll check that u is an R-module homomorphism. For any h∈(R⊕A1)⊕A2 and r∈R note that