簡體   English   中英

一階邏輯公式

[英]First-order logic formula

如果我想用一階邏輯表示“半徑最小的集合中的元素的值為0”,以下內容是否正確?

∀ë1∈S.∀e 2個的∈S.半徑e 1≤半徑e 2⇒值e 1 = 0?

變量是否正確量化?

謝謝

我想你想要一個存在

\n

\\存在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM