Backward-chaining genetic programming