Ну, если вы манипулируете терминами, проблема в том, что 1 + 2
эквивалентно (1 + 2)
. Так что, думаю, вы не найдете хорошего решения.
Хотя это не должно вас беспокоить, поскольку, если вы поместите это Expr
в более сложный термин, скобки действительно будут добавлены соответственно.
?- Expr = 1 + 2, ComplicatedExpr =.. [+, 1, Expr].
Expr = 1+2,
ComplicatedExpr = 1+ (1+2).
Если вы не знаете оператора =../2
, вы можете узнать больше об этом здесь .