Text this: Query proof structure caching for incremental evaluation of tabled PROLOG programs /