Analyzing data dependencies, detecting AND-parallelism and optimizing backtracking in prolog programs - Xia, Hong (1989)