В нескольких местах. В частности -- в фундаментальном -- Барендрегт" лямбда исчисление - его синтаксис и семантика"
То, что описано в Барендрегте - это не единственная семантика, и семантика с возможностью параллельного выполнения непересекающихся редексов ей эквивалентна.
Совершенно непонятно, как из разных стратегий вычислений следует параллелизм. То что непересекающиеся редексы можно редуцировать параллельно не значит, что ФП является основой для параллелизма. Любые непересекающиеся выражения и их наборы можно выполнять параллельно. это не из той оперы вообще.
Нет, вот в языке с мутабельностью в выражении
f(z) + g(z) вообще говоря непересекающиеся выражения
f(z) и
g(z) нельзя параллельно выполнять, ибо они могут менять z. В некоторых языках это "исправляется" тем, что данное выражение дает undefined behaviour, не знаю, что там у Вас в JS.