【问题标题】:Is there an operator for inequality in SMT-Lib?SMT-Lib 中是否存在不等式运算符?
【发布时间】:2021-07-17 11:46:49
【问题描述】:

我知道我可以用简单的(not (= a b)) 断言不等式,但我想知道是否有直接执行此操作的运算符。我已经尝试了所有想到的东西,包括!=<>\=(这不会解析)、/==/=neq,但它们都不起作用。

是否有专门的功能,或者我需要用否定组成相等吗?

【问题讨论】:

    标签: z3 smt smt-lib


    【解决方案1】:

    是的。它被称为distinct,见https://smtlib.cs.uiowa.edu/papers/smt-lib-reference-v2.6-r2017-07-18.pdf的第3.7.1节

    请注意,distinct 可以采用任意数量的参数。例如:

    (assert (distinct x y z))
    

    意思是:

    (assert (and (distinct x y) (distinct x z) (distinct y z)))
    

    【讨论】:

      猜你喜欢
      • 2010-11-05
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 2016-09-13
      • 2012-02-08
      • 2015-01-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多