0

輸入是一個帶有(任何)檢查語法的符號串,輸出爲TRUE或FALSE。證明命題重言式的策略?

我的想法用AND,XOR和TRUE編寫的邏輯表達式的修復後表示,但我終於意識到這些模式在修復後很難識別。

實例:

p蘊含q可以寫成TRUE XOR P(XOR(p和q))縮寫1個+ P + PQ

帶Q p等效可以寫縮寫1 + p + q

非p縮寫1 + p

p或q簡稱P + Q + PQ

在此布爾環的規則是相同的普通代數,與兩個規則

  • 的p + p = 0時
  • pp = p

並且這些規則與換向一起負責所有的縮減,如果字符串對應於重言式,則這將導致'1'。同義反復肯定前件,

((對蘊含q)和p)蘊含q

首先應如上述被取代,然後通過分佈式乘以擴展,和最後反覆被簡化。意味着一種直接替代給出:

1+((1+f+fg)f)+((1+f+fg)f)g = 
= 1+ f+ff+fgf +(f+ff+fgf)g = 
= 1+ f+f+fg + fg+fg+fg = 
= 1+ fg +fg+fg+fg = 1 

當同義反復表達在布爾環寫成的元件它減少機械爲1其它表達式簡化爲一個代數簡單的表達式。

這是一個很好的策略嗎?計算機科學使用什麼策略?

+0

你在這裏提出的建議讓人想起布爾邏輯在1854年發表在喬治布爾的「思想的法律調查」中的最初開端。如果你有時間的話,一個迷人的閱讀。 – MattClarke 2014-09-28 23:51:11

+0

謝謝!我在http://www.gutenberg.org/files/15114/15114-pdf.pdf上找到了這本書,並會嘗試閱讀它。布爾環,每個表達式只與AND和XOR一起放在窗體上,對於人類思維來說非常直觀,但是非常容易減少代數。 – Lehs 2014-09-29 00:06:23

+0

有一種方法可以確定一個格式良好的公式是否可以在免費下載的程序OTTER中應用。 J.A.Kalman的書「使用OTTER進行自動推理」在第4頁中提到了它。 342.如果您通過電子郵件發送給我[email protected] – 2014-10-21 16:07:19

回答

2

如本overview paper討論的,任意的命題公式可以以這樣一種方式,它僅具有多項式更大的尺寸和是不可滿足當且僅當原來的公式是同義反復被轉換成合取範式CNF)。

從公式轉換爲CNF的實用工具包括bool2cnfbc2cnf

SAT solvers用於檢查CNF的不可滿足性包括CryptoMiniSatLingeling

查看related post,其中顯示瞭如何使用SAT解算器處理命題公式。

+0

謝謝!通過CNF和維基百科,我找到了ANF,代數標準形式,這似乎是我的方法。 – Lehs 2014-09-27 23:38:54