Dado un 2-CNF satisfactorio ϕ , puede calcular una asignación satisfactoria particular e mediante una función NL (es decir, hay un predicado NL P(ϕ,i) que le dice si e(xi) es verdadero). Una forma de hacerlo se describe a continuación. Usaré libremente el hecho de que NL está cerrado bajo reducciones AC0 , por lo tanto, las funciones NL están cerradas bajo composición; Esto es una consecuencia de NL = coNL.
Sea ϕ(x1,…,xn) un 2-CNF satisfactoria. Para cualquier literal a , vamos a a→ ser el número de literales accesible desde a por un camino dirigido en el gráfico implicación de ϕ , y el número de literales de la que es alcanzable. Ambos son computables en NL. aa←a
Observe que , y , debido a la simetría sesgada del gráfico de implicación. Definir una tarea para que ¯ a ←=a→ea¯¯¯→=a←a¯¯¯←=a→e
si , entonces ; e ( a ) = 1a←>a→e(a)=1
si , entonces ; e ( a ) = 0a←<a→e(a)=0
si , sea mínimo para que u aparezca en el componente fuertemente conectado de (no puede ser ambos, ya que es satisfactoria). Ponga si aparece , y caso contrario. i x i ¯ x i a ϕ e ( a ) = 1 x i e ( a ) = 0a←=a→ixix¯¯¯iaϕe(a)=1xie(a)=0
La simetría sesgada de la gráfica implica que , por lo tanto, esta es una asignación bien definida. Además, para cualquier borde en el gráfico de implicación: a → be(a¯¯¯)=e(a)¯¯¯¯¯¯¯¯¯a→b
Si no se puede acceder desde , entonces , y . Por lo tanto, implica .b a ← < b ← a → > b → e ( a ) = 1 e ( b ) = 1aba←<b←a→>b→e(a)=1e(b)=1
De lo contrario, y están en el mismo componente fuertemente conectado, y , . Por lo tanto, .b a ← = b ← a → = b → e ( a ) = e ( b )aba←=b←a→=b→e(a)=e(b)
Se deduce que .e(ϕ)=1