Lexically scoped closures. The rules for procedural abstraction in section 13.1.11 are designed to follow lexical scoping, i.e., procedure introduction creates a lexically scoped closure. Let us look more closely to see how this works:
(a) Write the consecutive computation steps (rule reductions) for the execution of the For All and Make Adder definitions in section 13.1.11.
(b) Procedure introduction creates the value proc {$ X1 ··· Xn} S end in the store. Explain how the contextual environment is stored in this value.