An algorithm for proving a goalBy recursively Breaking it down into suB-goals and trying to prove these until facts are reached. Facts are goals with no suB-goals which are therefore always true. Backward training is the program execution mechanism used By most logic programming language like Prolog. Opposite: forward chaining. (2004-01-26)