问题标签 [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.
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?
logic - 你能帮我将 forall FO 逻辑公式转换为等效的不存在公式吗?
我有这个公式
∀x ∀y (A(x,y) V A(y,x) → B(y,c1) ∧ B(x,c2) ∧ c1≠c2
)
到使用存在量词的等效公式?
universal - 这个带有全称量词的表达式是什么意思?
我只是遇到这个表达式,由于我以前从未学过全称量词,所以我不知道这是什么意思,谁能给我解释一下,谢谢。
我知道它是一个通用量词,但我不知道它是如何工作的
logic - p(x)⇒∀xp(x) 是偶然的?
我遇到了一个问题,询问流动的句子是否有效/偶然/不可满足:
我认为答案是这句话是有效的。根据这里教科书的第 6.10 节http://logic.stanford.edu/intrologic/secondary/notes/chapter_06.htmlsays
带有自由变量的句子等价于所有自由变量都被普遍量化的句子。
因此,我认为第一个关系句子 p(x) 等于 ∀xp(x),因此该句子是有效的,即。它总是正确的。
但是,正确的答案是句子是偶然的,即。在某些真值赋值下它是真的,而在其他一些其他真值赋值下它是假的。
那么为什么句子是偶然的?答案是错误的吗?
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)) 中发生变化?
logic - 谁能给出一个可以测试 ∀x.(px=>q) 的人类语言示例与 ∃x.px=>q 一样吗
我很长时间无法直观地理解以下句子的等效性
∀x.(px=>q)
∃x.px=>q
我知道下面的真值表确实说它们是等价的:
但是我正在寻找的是一个 人类语言示例来验证等价的有效性,所以我可以更直观地理解,有人可以举个例子吗?
logic - ∃x.px=>q 是否等于 ∃x.(px=>q)?
我想知道这些句子
∃x.px=>q
等于
∃x.(px=>q)。
由于以下示例,我认为它们是平等的:
第一句话的例子:
如果存在牛,那么它就是哺乳动物。
第二句的实例:
存在一头牛,如果它是牛,那么它就是哺乳动物。
如果它们不相等,我的例子有什么问题?
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。
所以我想知道这是教科书上的错误还是我的推理有问题。
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 有什么改变吗?
我有更多这类问题,但这两个问题目前最困扰我。回答他们可能会让我大致了解这个想法并回答自己接下来的问题。
此外,如果您有详细解释此类内容的资源,我将不胜感激!
先感谢您!
python - 正则表达式匹配相等数量的两个字符
我想使用正则表达式将任何函数的参数匹配为字符串。例如,假设以下字符串:
这可能是更长序列的一部分
我现在想找到代表函数/谓词及其参数的所有子字符串(即在第一个示例中,整个字符串以及嵌套的predicate(foo(...), bar)
)。问题是我不能像这样简单地匹配
因为如果是贪婪的,我可能会匹配比谓词的参数更多的参数*
,或者如果它是懒惰的,则匹配的更少。这是因为这样的 predicates() 可以嵌套。
我需要一个正则表达式来查找与包含等量's 和's (惰性)的任何字符串匹配predicate(...)
的字符串。...
(
)
如果重要的话:我在 python 中使用带有 re 模块的正则表达式。