Alain Deutsch: On Determining Lifetime and Aliasing of Dynamically Allocated Data in Higher-Order Functional Specifications. POPL 1990: 157-168