Text this: Query proof structure caching for incremental evaluation of tabled prolog programs / Taher Muhammad Ali