Horn公式,中文名一般翻译成“霍恩公式”,也是范式的一种。
Horn原子有三:
P::= ┴ | T |p Horn原子
分别是底公式、顶公式和命题原子。
Horn原子合取后的蕴含称为Horn字句:
A::= P | PΛA
C::= A → P Horn子句
继续合取就是Horn公式:
H::= C | CΛH Horn公式
下面的都是Horn公式例子:
(pΛqΛr->p)Λ(pΛqΛr->q)Λ(pΛqΛr->r)
(pΛqΛr->┴)Λ(pΛr->q)Λ(T->r)
(p1Λq2Λr3->p13)Λ(T->q)Λ(p4Λq5->┴)
下面的都不是Horn公式实例:
(pΛqΛr->┐p)Λ(pΛqΛr->q)Λ(pΛqΛr->r) 包含了命题原子否定
(pΛqΛr->┴)Λ(pΛ┐r->q)Λ(T->r)
(p1Λq2Λr3->p13Λr30)Λ(T->q)Λ(p4Λq5->┴) 蕴含右边是合取公式而非命题原子
(T->q)Λ(p4Λq5) 字句有不是蕴含关系的
对于给定的Horn公式,是否是可满足的(还记得这个概念吗),我们有一个简单的算法:
Horn公式的可满足判定算法HORN是正确的且算法HORN的执行过程中,while语句至多被执行的次数不超过n+1次。其中n是Ф