first-order-logic相关内容
我正在尝试查看Z3(Python)中的一句话的有效性,但收到以下消息:Invalid bounded variable(s) 我在这里复制我遵循的步骤: v, a, b, c, d, e = Ints('v a b c d e') lt_1 = (v == 4) lt_2 = (v == 2) lt_3 = (v == 3) lt_4 = (v == 5) lt_5 = (v ==
..
我想使用Z3来解决最自然地用原子(符号)、集合、谓词和一阶逻辑表示的问题。例如(伪代码): A = {a1, a2, a3, ...} # A is a set B = {b1, b2, b3...} C = {c1, c2, c3...} def p = (a:A, b:B, c:C) -> Bool # p is unspecified predicate def q = (a:A,
..
给定一个签名(0,Z,{plus(2),minus(2),times(2)},常量是整数,函数是加号,减号和乘以arity 2 每个我想写一个两个谓词 arth/2 和 printarth/1 接受上述签名中的术语并进行必要的算术计算加法、减法和乘法.arth/2 将打印结果,printarth/1 应得出如下所示的评估表达式. 我想实现两件事 第一: ?-arth(plus(min
..
我正在 Prolog 中学习二叉树. 我知道结构,但我不明白幻灯片中的这段代码: binary_tree(void).binary_tree(tree(_Element,Left,Right)) :-binary_tree(左),binary_tree(右). 这需要识别树结构. 但“空"是代表吗? 我试过这个查询 ?- binary_tree(a).错误的. 并假设 a
..
给定一个签名(0,Z,{plus(2),minus(2),times(2)},常量是整数,函数是加号、减号和乘以arity 2 对于每个.我想编写两个谓词 arth/2 和 printarth/1 ,它们采用上述签名中的术语并进行必要的算术计算加法、减法和乘法.arth/2 将打印结果,printarth/1 应得出如下所示的评估表达式. 我想实现两件事 首先: ?- arth( p
..
我一直在研究各种SMT求解器,主要是Z3,CVC4和VeriT.他们对用量词解决SMT问题的能力都有模糊的描述.他们的文档主要基于示例(Z3),或由学术论文组成,描述了可能会或可能不会实际实施的更改. 我知道一阶逻辑存在可确定的片段,例如: 有限界量词 一元一阶逻辑 我想知道的是,各种SMT求解器可以保证完成哪些FOL类(如果有)?我怎么知道我要解决的问题是在完整的片段中?
..
我的直觉表明无法翻译句子 所有红色汽车比所有蓝色汽车都要好 进入描述逻辑(在FOL中为 ∀x∀y(红色(x)∧蓝色(y)→更好(x,y)) 在汽车领域解释).确实,唯一的结构是包含域中所有元素对的完整二进制关系,是通用角色 U .我看不到如何要求左侧的红色集合的所有元素对和右侧的蓝色集合的元素,即如何将 U 限制为特定的前辈集合和后继者. 但是不知道怎么做并不能证明这
..
我遇到了一个问题,询问以下句子是否有效/偶然/无法满足: p(x)⇒∀x.p(x) 我认为答案是正确的句子.在此处的教科书第6.10节中 http://logic.stanford.edu/intrologic/secondary/notes/chapter_06.html说明 带有自由变量的句子等同于所有自由变量都被普遍量化的句子. 因此,我认为第一个关系语句p(x)等于
..