我正在研究Python的抽象代数库,当我意识到很多脏工作只是构造循环以对应带有量词的逻辑表达式。然后我意识到,虽然在Python中实现逻辑量化的功能可能很难,但在Haskell或其他语言中会更容易。
现在我有量词有效,只要该属性只涉及一个量化的变量,并且只有当你量化的关系有三个变量时,克服这些障碍似乎是困难的部分。 / p>
例如,语句∀x ∃y (x < y)
会导致问题,但∀x (x = 2) ∃y (y < 3)
没问题。
是否有任何现有的Haskell库实现了像这样的价值级逻辑量词?搜索起来很困难,因为每当我按照逻辑量词Haskell&#34;我得到很多关于类型量词的东西,这不是我想要的。
我唯一能找到的是Test.QuickCheck中的forAll
,而这并不是&#34;存在&#34;。
答案 0 :(得分:0)
您可以编写此类表达式并使用SMT
解算器生成反例。 Haskell对smt求解器(例如https://hackage.haskell.org/package/sbv)具有很好的自然绑定,可以让你编写正常的表达式并在这个特殊的学科下对它们进行评估。
这是一种很好的方式来获得你正在寻找的东西。