Да, существует проблема с приоритетом, которую необходимо учитывать.
Пролог прикрепляет числовое значение приоритета к каждому определенному оператору, чтобы его анализ мог автоматически обрабатываться, например, 3 + 4 * 5так же, как если бы скобки использовались для обозначения 3+ (4 * 5).
Таким образом, ваш первый пример сработал так, как ожидалось, но не второй или третий.Не было никакого способа объединить термины, поэтому Пролог вернул false.