I have a problem running a simple program in Ciao Prolog and it is that when a predicate is running there is a point where it makes a "fail" (which I hope) and after that it does a "redo" and goes back in the execution instead of jumping to the next predicate. I do not know if there is any way to prevent the redo from being made or it's just my code problem.