“…As erase(e)=u, erase((R, M, e))=erase((R, M, v)). - If erase((R, M, e))→(L′, d′), then and erase((R′, M′, e′))=(L′, d′).Proof is by induction on the expressions.The premises are
- e =acquire(e 1 , e 2 )
- erase((R, M, acquire(e 1 , e 2 )))→(L′, d′)
- Θ;Ψ⊢( R, M , acquire(e 1 , e 2 ): τ)
By Inversion for lock acquisition, Θ;Ψ e ;Δ;Γ⊢ e 1 : Lock(I, τ) and Θ;Ψ e ;Δ;Γ⊢ e 2 : Int(I).By Erasure for lock acquisition, erase(e)=erase(acquire(e 1 , e 2 ))=acquire(erase(e 1 ), erase(e 2 )).If erase(e 1 )≠u 1 then the Untyped Progress lemma 8 states that if Θ;Ψ 1 ⊢( R, M, e 1 : τ) and erase(e 1 )≠u 1 then erase((R, M, e 1 ))→(L′, d 1 ′). By induction, and erase((R′, M′, e′ 1 ))=(L′, d 1 ′). …”