Haskell中是否存在任何值级逻辑量化?

时间:2014-08-16 14:20:05

标签: haskell quantifiers

我正在研究Python的抽象代数库,当我意识到很多脏工作只是构造循环以对应带有量词的逻辑表达式。然后我意识到,虽然在Python中实现逻辑量化的功能可能很难,但在Haskell或其他语言中会更容易。

现在我有量词有效,只要该属性只涉及一个量化的变量,并且只有当你量化的关系有三个变量时,克服这些障碍似乎是困难的部分。 / p>

例如,语句∀x ∃y (x < y)会导致问题,但∀x (x = 2) ∃y (y < 3)没问题。

是否有任何现有的Haskell库实现了像这样的价值级逻辑量词?搜索起来很困难,因为每当我按照逻辑量词Haskell&#34;我得到很多关于类型量词的东西,这不是我想要的。

我唯一能找到的是Test.QuickCheck中的forAll,而这并不是&#34;存在&#34;。

1 个答案:

答案 0 :(得分:0)

您可以编写此类表达式并使用SMT解算器生成反例。 Haskell对smt求解器(例如https://hackage.haskell.org/package/sbv)具有很好的自然绑定,可以让你编写正常的表达式并在这个特殊的学科下对它们进行评估。

这是一种很好的方式来获得你正在寻找的东西。