2.7.3. ПРИМЕРЫ

Ниже приведены примеры результатных выражений:

(A B) C D

t.Head e.Tail

While t.Condition Do t.Statement

<"*" sN <Factorial <"-" sN 1>>

Следующие результатные выражения являются результатными термами:

(A B)

t.Head

<"*" sN <Factorial <"-" sN 1>>

Пусть Env1 = {sM = 2, sN = 3, eA = A B C, tB = (D E F)}, и пусть "+" - имя функции, выполняющей сложение целых чисел, а "*" - имя функции, выполняющей умножение целых чисел, т.е. в частности имеет место

St |- <"+" 3 100> => 103, St

St |- <"*" 2 103> => 206, St

для любого глобального состояния St, ибо функции "+" и "*" не изменяют глобальное состояние.

Тогда имеем

Env1,St |- eA (eA tB) tB =>

A B C (A B C (D E F)) (D E F), St

Env1,St |- <"*" sM <"+" sN 100>> => 206, St