Spec of Call-by-Reference
(value-of 𝑟𝑎𝑡𝑜𝑟 ρ₁ σ₁) = ((proc-val (procedure 𝑐𝑎𝑙𝑙𝑒𝑒-𝑣𝑎𝑟 𝑏𝑜𝑑𝑦 ρ₂)), σ₂)
----------------------------------------------------------------------------------------
(value-of (call-exp 𝑟𝑎𝑡𝑜𝑟 𝑐𝑎𝑙𝑙𝑒𝑟-𝑣𝑎𝑟) ρ₁ σ₁) = (value-of 𝑏𝑜𝑑𝑦 [𝑐𝑎𝑙𝑙𝑒𝑒-𝑣𝑎𝑟=ρ₁(𝑐𝑎𝑙𝑙𝑒𝑟-𝑣𝑎𝑟)]ρ₂ σ₂)
(value-of 𝑟𝑎𝑡𝑜𝑟 ρ₁ σ₁) = ((proc-val (procedure 𝑐𝑎𝑙𝑙𝑒𝑒-𝑣𝑎𝑟 𝑏𝑜𝑑𝑦 ρ₂)), σ₂)
(value-of 𝑟𝑎𝑛𝑑 ρ₁ σ₂) = (𝑣𝑎𝑙, σ₃)
--------------------------------------------------------------------------------- 𝑟𝑎𝑛𝑑 ≠ var-exp ∧ 𝑙 ∉ dom(σ₃)
(value-of (call-exp 𝑟𝑎𝑡𝑜𝑟 𝑟𝑎𝑛𝑑) ρ₁ σ₁) = (value-of 𝑏𝑜𝑑𝑦 [𝑐𝑎𝑙𝑙𝑒𝑒-𝑣𝑎𝑟=𝑙]ρ₂ [𝑙=𝑣𝑎𝑙]σ₃)