问题标签 [first-order-logic]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
235 浏览

python - Satisfiability of a formula having forall quantifier

This is my Python code:

In this code, I have written the following formula in Z3Py syntax:

When I run this script it finds a model, while I think it should be unsat. How could it be possible? Am I missing something?

0 投票
2 回答
56 浏览

logic - 你能帮我将 forall FO 逻辑公式转换为等效的不存在公式吗?

我有这个公式

∀x ∀y (A(x,y) V A(y,x) → B(y,c1) ∧ B(x,c2) ∧ c1≠c2)

到使用存在量词的等效公式?

0 投票
2 回答
58 浏览

universal - 这个带有全称量词的表达式是什么意思?

我只是遇到这个表达式,由于我以前从未学过全称量词,所以我不知道这是什么意思,谁能给我解释一下,谢谢。

我知道它是一个通用量词,但我不知道它是如何工作的

0 投票
2 回答
739 浏览

logic - p(x)⇒∀xp(x) 是偶然的?

我遇到了一个问题,询问流动的句子是否有效/偶然/不可满足:

我认为答案是这句话是有效的。根据这里教科书的第 6.10 节http://logic.stanford.edu/intrologic/secondary/notes/chapter_06.htmlsays

带有自由变量的句子等价于所有自由变量都被普遍量化的句子。

因此,我认为第一个关系句子 p(x) 等于 ∀xp(x),因此该句子是有效的,即。它总是正确的。

但是,正确的答案是句子是偶然的,即。在某些真值赋值下它是真的,而在其他一些其他真值赋值下它是假的。

那么为什么句子是偶然的?答案是错误的吗?

0 投票
1 回答
1039 浏览

logic - 如何读取∀x.(p(x)⇒∀yp(y))?

在我在这里问的一个问题中:p(x)⇒∀xp(x) 是偶然的? 似乎倾向于同意 p(x)⇒∀xp(x) 与 ∀x.(p(x)⇒∀yp(y)) 相同,而 ∀x.(p(x)⇒∀yp (y)) 被解读为好像 p(x) 对某个x 为真,那么它对所有 x 都为真。

但是我不明白量词SOME来自哪里,因为在 '∀x.(p(x)⇒∀yp(y))' 中没有量词 '∃'

是否有某种量词分布规律使量词在 ∀x.(p(x)⇒∀yp(y)) 中发生变化?

0 投票
1 回答
33 浏览

logic - 谁能给出一个可以测试 ∀x.(px=>q) 的人类语言示例与 ∃x.px=>q 一样吗

我很长时间无法直观地理解以下句子的等效性

∀x.(px=>q)

∃x.px=>q

我知道下面的真值表确实说它们是等价的:

但是我正在寻找的是一个 人类语言示例来验证等价的有效性,所以我可以更直观地理解,有人可以举个例子吗?

0 投票
1 回答
73 浏览

logic - ∃x.px=>q 是否等于 ∃x.(px=>q)?

我想知道这些句子

∃x.px=>q

等于

∃x.(px=>q)。

由于以下示例,我认为它们是平等的:

第一句话的例子:

如果存在牛,那么它就是哺乳动物。

第二句的实例:

存在一头牛,如果它是牛,那么它就是哺乳动物。

如果它们不相等,我的例子有什么问题?

0 投票
1 回答
65 浏览

logic - 这本教科书关于皮亚诺算术有错误吗?

我在斯坦福大学提供的在线逻辑介绍开放课程中遇到了这个疑问。

在这本教科书的第 9.4 节下:http: //logic.stanford.edu/intrologic/secondary/notes/chapter_09.html

它说:

这里显示的公理用 0 和 s 定义了相同的关系。(其中下面的函数常数字母 s 表示后继函数,例如 s(0)=1, s(1)=2, s(2)=3 )

∀x.same(x,x)

∀x.(¬same(0,s(x)) ∧ ¬same(s(x),0))

∀x.∀y.(¬same(x,y) ⇒ ¬same(s(x),s(y)))

据我了解,:

第一句话说两个相同的数字是相同的。第二句和第三句用于定义不同之处。

第二个说没有任何数字的后继与0相同。

第三个说如果两个数字不相同,那么它们的继任者就不一样。例如,如果 1≠3,则 2≠4。

但是,我认为第三句话应该是双条件的,因为如果我没记错的话,定义没有涵盖被证明的数字小于给定数字的情况,否则可以说如果2≠ 4,则 1=3。

所以我想知道这是教科书上的错误还是我的推理有问题。

0 投票
1 回答
379 浏览

logic - 量词、嵌套、范围自由和绑定变量

我找不到关于量词范围、自由变量和绑定变量的几个问题的正确解释。

1) ∃X(p(X,Y) & ∃Y(X,Y)) - 我想知道第二个 X。它是否仍在 ∃X 量词的范围内,因为它实际上嵌套在 ∃Y 下?如果它不在 ∃X 的范围内,那么它是一个自由变量吗?我认为它应该绑定到∃X。
2)∃X(p(Y,Z) & ∃X(q(Y,Z)) - 是否需要第二个 ∃X?它对自由变量 Y 和 Z 有什么改变吗?

我有更多这类问题,但这两个问题目前最困扰我。回答他们可能会让我大致了解这个想法并回答自己接下来的问题。

此外,如果您有详细解释此类内容的资源,我将不胜感激!

先感谢您!

0 投票
3 回答
1521 浏览

python - 正则表达式匹配相等数量的两个字符

我想使用正则表达式将任何函数的参数匹配为字符串。例如,假设以下字符串:

这可能是更长序列的一部分

我现在想找到代表函数/谓词及其参数的所有子字符串(即在第一个示例中,整个字符串以及嵌套的predicate(foo(...), bar))。问题是我不能像这样简单地匹配

因为如果是贪婪的,我可能会匹配比谓词的参数更多的参数*,或者如果它是懒惰的,则匹配的更少。这是因为这样的 predicates() 可以嵌套。

我需要一个正则表达式来查找与包含等量's 和's (惰性)的任何字符串匹配predicate(...)的字符串。...()

如果重要的话:我在 python 中使用带有 re 模块的正则表达式。