- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
将下面的公式翻译成斯科伦形式的喇叭公式:
∀w¬∀x∃z(H(w)∧(¬G(x,x)∨¬H(z)))
它是从德文翻译成英文的,如何将它写成喇叭形式然后再写成 skolem 形式,我在互联网上没有找到任何东西......请帮助我
最佳答案
我将始终使用 skolemization 的可满足性保留版本,即那些被替换的版本,当移动到公式的头部时将成为存在量词。
为了让生活更简单一些,让我们把否定推向原子。我们还可以看到 w 没有出现在 ¬G(x,x)∨¬H(z) 中,x,z 也没有出现在 H(w) 中,这让我们可以在内部分配量词。
然后我们得到公式∀w¬H(w) ∨ ∃x∀z (G(x,x)∧ H(z)) 。
我们对∃x进行skolem化并删除∀w,∀z并获得:
¬H(w) ∨ (G(c,c)∧ H(z))
经过CNF变换后,我们有:
(¬H(w) ∨ G(c,c)) ∧ (¬H(w) ∨ H(z))
两个子句都只有一个正字面量,所以它们都是喇叭子句。翻译成 Prolog 语法我们得到:
g(c,c) :- h(W).
h(Z) :- h(W).
我们必须在 skolemize 之前取反,导致:
∃w H(w) ∧ ∀x∃z (¬G(x,x) ∨ ¬H(z))
对∃w和∃z进行skolemizing,删除∀x和CNF变换后,我们得到:
H(c) ∧ (¬G(x,x) ∨ ¬H(f(x)))
这可以解释为一个事实 h(c)
和一个查询 ?- g(X,X), h(f(X))。
老实说,这两种变体都没有多大意义 - 第一个变体不会因任何输入而终止,而在第二个版本中,查询将失败,因为 g/2
未定义。
关于prolog - 如何写成 skolem 形式?(Prolog),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48634301/
在 Erlang 中,使用 =>要比较两个变量会导致语法错误,您必须使用 >=反而: 1> 10 => 5. * 1: syntax error before: '>' 2> 10 >= 5. tru
在少数情况下,日期写为“created ca.”。 1858-60',人类读者会将其理解为“约 1858-1860 年创建”。 因此,想象两个代表年的整数。 a = 1858 b = 60 我希望能够
是否可以用经典的 asp 写出我得到的带有字母的输出整数? 例如,如果我的结果是 5,我想输出“五” 或者如果是二十,我需要它显示“二十” 结果可能是无限的,因此编写一个用于查找目的的数组是行不通的。
这就是我正在做的,我读取了一个 .mp3 文件,以这种方式将其转换为 Base64String: using (fileStream) {
是否有任何算法可以找出有多少种方法可以写出一个数字,例如 n ,其总和为 2 ? 例如:对于 4 有四种方法: 4 = 4 4 = 2 + 2 4 = 1 + 1 + 1 + 1 4 = 2 + 1
我正在尝试 transform()一个Dataset在 Java 中如下所示: Function1,Dataset> withDoubled = (Dataset numbers) -> number
这个问题在这里已经有了答案: Convert integer to hexadecimal and back again (11 个答案) 关闭 7 年前。 在 c# 中,我将错误代码定义为 pub
如何使用 Flink 将 DataSet 作为 Parquet 文件写入 s3 bucket。是否有像 spark 这样的直接函数:DF.write.parquet("write in parquet
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 3 年前。 Improve
在CLRS中,作者通过以下伪代码介绍了红黑树中的旋转操作: LEFT-ROTATE(T, x) y = x.right # Line 1 x.right = y.left
我是一名优秀的程序员,十分优秀!