I was wondering how I can go about access the variables and their bindings at any stage of the Prolog proof process, I found the prolog_trace_interception/4 predicate, however, I couldn't figure out how to get at ALL the variables being used and their bindings at each stage of the trace interception. Please could someone point me in the right direction?