Live Data Structures in Logic Programs