[英]First-order logic formula
如果我想用一階邏輯表示“半徑最小的集合中的元素的值為0”,以下內容是否正確?
∀ë1∈S.∀e 2個的∈S.半徑e 1≤半徑e 2⇒值e 1 = 0?
變量是否正確量化?
謝謝
我想你想要一個存在
\\存在e_1。
(\\ forall e_2 radius(e_1)<= radius(e_2))和(radius(e_1)= 0)
我不確定公式中的優先級,但是現在我想我理解了這個問題,也許您想要(其中M是極小值條件radius(e_1) < radius(e_2)
)
\\ forall e_1。 ((\\的forall E_2 M) - >值E_1 = 0)
我認為您的先前公式可能是錯誤的,原因如下。 假設您的元素的半徑為{0,1,2},其值等於半徑。 然后,您將遇到1 <= 2,但該值不為零的情況。 如果我正確解釋了您的原始公式,
\\ forall e_1。 \\ forall e_2。 P(e_1,e_2)
然后,此反示例提供了一個情況,其中P為假,因此整個公式都失敗了(但該示例應該為真)。
為了清楚起見,您寫的通常是指:
\forall e1 \in S. (\forall e2 \in S. (Radius e1 <= Radius e2 --> Value e1 = 0))
該語句斷言每個元素的值為0。方法如下:選擇一個任意e1
,現在選擇e2 = e1
,我們得到: Radius e1 <= Radius e1 --> Value e1 = 0
。 由於前提條件( -->
之前的條件為真),因此我們的Value e1 = 0
。 並且由於我們沒有對e1
進行任何假設,因此forall e \\in S. Value e = 0
具有全部forall e \\in S. Value e = 0
。
問題是您的括號不正確。
\forall e1 \in S. (\forall e2 \in S. Radius e1 <= Radius e2) --> Value e1 = 0
為了使先行詞現在是真實的, e1
的半徑必須小於或等於每一個 (而不是任何)其他半徑,這似乎是你的原意。
如果沒有最小半徑的元素,則您編寫的內容也適用。 如果需要的話,那么您是正確的。 如果不是,則需要為此添加一個子句:
(\forall e1 \in S. \forall e2 \in S. Radius e1 <= Radius e2 --> Value e1 = 0) \and (\exists e1 \in S. \forall e2 \in S. Radius e1 <= Radius e2)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.