Logical forgetting is NP-complete even in the simple case of propositional Horn formulae, and may exponentially increase their size. A way to forget is to replace each variable to forget with the body of each clause whose head is the variable. It takes polynomial time in the single-head case: each variable is at most the head of a clause. Some formulae are not single-head but can be made so to simplify forgetting. They are single-head equivalent. The first contribution of this article is the study of a semantical characterization of single-head equivalence. Two necessary conditions are given. They are sufficient when the formula is inequivalent: it makes two sets of variables equivalent only if they are also equivalent to their intersection. All acyclic formulae are inequivalent. The second contribution of this article is an incomplete algorithm for turning a formula single-head. In case of success, forgetting becomes possible in polynomial time and produces a polynomial-size formula, none of which is otherwise guaranteed. The algorithm is complete on inequivalent formulae.
翻译:逻辑上的忘记是完全的, 即使对角公式的简单例子也是如此, 并且可能指数性地增加其大小。 一种可以忘记的方法是将每个变量替换为每个条款的正文, 每个变量的正文是变量。 在单头情况下, 它需要多数值的时间: 每个变量最多是一个条款的正文。 有些公式不是单数, 但可以做到这样简化遗忘。 它们是单头公式。 本条的第一个贡献是研究单头等同的语义特征。 给出了两个必要条件。 当公式是等值时, 它们就足够了: 它只制造两组等值的变量, 如果它们也相当于它们的交叉点。 所有单头公式都是等值的。 本条的第二个贡献是转换公式的不完整的算法。 如果成功的话, 忘记在多元时是可能的, 并产生一个多数值的公式, 没有其他的保证。 算法是完全在等值公式中完成的。