data abstraction and logic programming 996072