Recall that
Closure = Expression + Environment
Closures are created when lambda abstracts are interpreted - this is actually the only rule in the interpreter that needs to create closures.
The values of the variables in Environment are then copied to the closure. But they are still in the environment part of it.
The rule that needs to fetch the value of a variable is the evaluation rule for variable expressions:
gamma |- x ! v if you get x:=v when looking up x in gamma
No closures involved here, just environments.
Aarne.