data abstraction and logic programming 8312331