Хочу разобраться, что представляют собой ленивые вычисления. В целом вроде бы понял, но хочу убедиться, что правильно понял.
Если взять аналогию из математики. Пусть у нас есть, допустим, такая дробь:

Мы можем действовать двумя способами: либо сократить на корень, т.е. делать вот такую цепочку:

либо вычислять сам корень:

На неформальном уровне это можно так описать: в первом случае мы упрощаем начиная сразу снаружи, а во втором идем "изнутри наружу". Правильно ли я понимаю, что именно в этом и заключается разница между ленивыми вычислениями (первый случай) и энергичными (второй)?
Кстати, даже здесь, в математическом примере, видно, что при энергичных вычислениях может возникнуть ситуация, когда мы дублируем (в случае выше - по 2 раза) одинаковые вычисления (дважды вычисляли (1,2 - 2,2),

и все остальное).
Если это правда, тогда получается следующее. В лямбда исчислении мы тоже можем вычислять по-разному: либо начинать с каких-то внутренних редексов, либо с внешнего (левого). Пусть мы хотим, например, вычислить такое выражение:

Если начинать с внешнего редекса, то будет такая строчка:

А если начинать с внутренних редексов, то получится такое вычисление:

(результаты, понятное дело, обязаны совпасть в силу теоремы Черча-Россера и единственности нормальной формы с точностью до альфа эквивалетности).
Неужели все так просто? Получается, что вся разница между ленивыми и энергичными вычислениями - это с каких редексов стартовать, соответственно, с внешнего или с внутренних (первая строчка - ленивые вычисления, вторая - энергичные)