Logic 命题重言式的证明策略?

Logic 命题重言式的证明策略?,logic,boolean-logic,algebra,boolean-expression,theorem-proving,Logic,Boolean Logic,Algebra,Boolean Expression,Theorem Proving,输入是一个带有(任何)已检查语法的符号字符串,输出为真或假 我的想法是用AND、XOR和TRUE编写逻辑表达式的后期修复表示,但我最终意识到,在后期修复中,模式将更难识别 示例: p意味着q可以写成真正的异或p(异或(p和q))缩写为1+p+pq p等同于q可以缩写为1+p+q 非p缩写为1+p p或q缩写为p+q+pq 这个布尔环中的规则与普通代数中的规则相同,有两个规则 p+p=0 pp=p 这些规则,加上对易,负责所有的减少,如果字符串对应重言式,将导致“1”。重言式情态动词 ((p表

输入是一个带有(任何)已检查语法的符号字符串,输出为真或假

我的想法是用AND、XOR和TRUE编写逻辑表达式的后期修复表示,但我最终意识到,在后期修复中,模式将更难识别

示例:

p意味着q可以写成真正的异或p(异或(p和q))缩写为1+p+pq

p等同于q可以缩写为1+p+q

非p缩写为1+p

p或q缩写为p+q+pq

这个布尔环中的规则与普通代数中的规则相同,有两个规则

  • p+p=0
  • pp=p
这些规则,加上对易,负责所有的减少,如果字符串对应重言式,将导致“1”。重言式情态动词

((p表示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。其他表达式简化为代数上更简单的表达式

这是一个好策略吗?计算机科学中使用了哪些策略?

如本文所述,任意命题公式可以转换为合取范式(),其方式是,如果原始公式是重言式,则该公式仅具有较大的多项式大小,且不可满足

从公式转换为CNF的实用工具包括和

用于检查include和的不可满足性


请参阅a,其中显示了如何使用SAT解算器处理命题公式。

谢谢!通过CNF和维基百科,我找到了ANF,代数范式,这似乎是我的方法。你在这里提出的建议让人想起了1854年乔治·布勒的《思想规律的调查》中发表的布尔逻辑的最开始。如果你有时间,这本书会很吸引人。谢谢!我找到了这本书,我将试着读它。布尔环,其中每个表达式的形式都只有AND和XOR,这对人类思维来说是非常反直觉的,但极易进行代数化简。有一种方法可以确定一个格式良好的公式在可免费下载的程序OTTER中是否是重言式。J.A.Kalman的书《水獭的自动推理》在p。342我可以向你展示一个水獭输入的例子,如果你发电子邮件给我Lefelhocz2@yahoo.com@面团:嗨!我对上面的程序最感兴趣,不认为命题重言式很难检查。我最感兴趣的是布尔环在逻辑中能做什么,就像上面的布尔书一样。无论如何谢谢你!