这是我在 prolog 中的算术不等式表达式:
2*X + 3*Y > 4*Z
我像这样使用统一术语操纵器:
Expr =.. [Op, Lhs, Rhs]
现在我Lhs = 2*X + 3*Y, Rhs as 4*Z and Op as >
一切都很好,直到现在。
我想要的是使用 Eclipse Prolog 中的 IC 库为这个表达式构建一个延迟的目标。例如,我希望像这样分配一个新创建的变量:
Eq = (Lhs #Op Rhs) %meaning, Eq = (2*X + 3*Y #> 4*Z)
现在,由于所需的不等式(在本例中为 >)存储在 Op 中,尽管我使用Eq = (Lhs #Op Rhs)
,但 eclipse 正在返回错误。
当我的运算符要取自变量 Op 时,我如何创建这个延迟约束?谢谢你。