On determining lifetime and aliasing of dynamically allocated data in higher-order functional specifications | Synapse