A equivalência pode ser alcançada da seguinte maneira (redução de 2SAT para HornSAT). Portanto também pode ser reduzido a uma fórmula de Horn dessa maneira. Agradecemos a Joshua Gorchow por apontar essa redução.(p∨q)
Entrada: Uma fórmula 2-SAT , com cláusulas C 1 , ..., C k nas variáveis x 1 , ..., x n .ϕC1Ckx1xn
Construa uma fórmula chifre da seguinte maneira:Q
Haverá 4 ( n×n escolha ) + 2 n + 1 novas variáveis, uma para cada possível
cláusula 2-cnf possível nas variáveis x com no máximo 2 literais ( não apenas as cláusulas C i em ϕ ) - isso é incluindo cláusulas unitários e a cláusula vazio .. a nova variável que corresponde a uma cláusula D será denotado por Z D .2+2n+1xCiϕDzD
O 4 ( n, escolha 2 ) vem do fato de que cada par de ( x i , x j×n2
gera quatro cláusulas 2-cnf. O 2 n vem do fato de que cada x i pode criar 2 cláusulas de unidade. E finalmente o "one" vem da cláusula vazia. Portanto, o número total de cláusulas 2-cnf possíveis é =
4 × ( n escolha 2 ) + 2 n + 1 .(xi, xj)2nxi=×n2+2n+1
Se uma cláusula 2-cnf segue de duas outras cláusulas 2-cnf D e E em uma única etapa de resolução, adicionamos a cláusula Horn
( z D ∧ z E →FDE
a Q ... Novamente, fazemos isso para todas as possíveis cláusulas 2-cnf - todas as 4 × ( n
escolha 2 ) + 2 n + 1 delas - não apenasa C i .(zD∧zE→zF)Q×n2+2n+1Ci
Em seguida, adicionamos as cláusulas unitárias aQ, para cada cláusulaCi
aparecendo na entradaφ... Por fim, adicionar o cláusula unidade(¬z e m p t y )paraQ.zCiQCiϕ(¬zempty)Q
A fórmula Horn está agora completa. Observe que as variáveis usadas em Q são completamente diferentes das usadas em ϕ .QQϕ