Просто поставьте круглые скобки:
paths(Result) :-
findall(B, (f1(B),f2(B)), Result).
Дополнение:
Цели - это просто соединения (и дизъюнкции) подцелей. Вы можете построить их в какой-то момент, а затем передать их, пока они не будут вызваны. Это полезно, если цель должна быть построена динамически:
Goal = (f1(X), (f2(X) ; f3(X))),
findall(X, Goal, Result),