Аппликативная редукционная стратегия

Материал из свободной русской энциклопедии «Традиция»
Перейти к навигации Перейти к поиску

Аппликативная редукционная стратегия — такая стратегия редукции в λ-исчислении, при которой на каждом шаге редукции выбирается β-редекс, не содержащий внутри себя других β-редексов. Аппликативная редукционная стратегия не гарантирует получения нормальной формы λ-выражения, даже в случае если она существует. В программировании аппликативная редукционная стратегия соответствует вызову по значению.

Невозможность получения нормальной формы[править | править код]

При редукции выражения M = ( λ y . x ) Ω M = (\lambda y.x)\Omega аппликативная редукционная стратегия не позволяет получить нормальную форму, которая существует.

  1. НРС: ( λ y . x ) Ω = ( λ y . x ) [ y Ω ] = x (\lambda y.x)\Omega = (\lambda y.x)[y \leftarrow \Omega] = x .
  2. АРС: ( λ y . x ) Ω = ( λ y . x ) ( ( λ x . x x ) ( λ x . x x ) ) = ( λ y . x ) ( ( λ x . x x ) ( λ x . x x ) ) = (\lambda y.x)\Omega = (\lambda y.x)((\lambda x.xx)(\lambda x.xx)) = (\lambda y.x)((\lambda x.xx)(\lambda x.xx)) = \ldots .

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

См. также[править | править код]