З огляду на виконаємо 2-CNF , можна обчислити конкретні задовольняють завдання е з допомогою NL-функції (тобто, є NL-предикат P ( φ , я ) , що говорить вам , є чи е ( х я ) вірно). Один із способів зробити це описано нижче. Я вільно використовую той факт, що NL закритий під A C 0 -виведеннями, отже, NL-функції закриті під складом; це наслідок NL = coNL.ϕeP(ϕ,i)e(xi)AC0
Нехай є задоволеним 2-CNF. Для будь-якого буквальних а , нехай → буде число літералів досяжні з спрямованого шляхом в імплікації графі ф і ← числа літералів , з яких можна досягти. Обидва обчислюються в NL.ϕ(x1,…,xn)aa→aϕa←a
Зауважте, що , а ¯ a ← = a → , через косу симетрію графіка імплікацій. Визначте завдання e так, щобa¯¯¯→=a←a¯¯¯←=a→e
якщо , то e ( a ) = 1 ;a←>a→e(a)=1
якщо , то e ( a ) = 0 ;a←<a→e(a)=0
якщо ← = → , нехай я бути мінімальним , так що х I або ¯ х я з'являюся в сильно зв'язковий компоненті (він не може бути одночасно, так як φ здійсненна). Поставте e ( a ) = 1, якщо з'явиться x i , а e ( a ) = 0 в іншому випадку.a←=a→ixix¯¯¯iaϕe(a)=1xie(a)=0
Косо-симетрія графа означає, що , отже, це чітко визначене завдання. Більше того, для будь-якого ребра a → b у графі імплікації:e(a¯¯¯)=e(a)¯¯¯¯¯¯¯¯¯a→b
Якщо не досяжна з Ь , то ← < Ь ← і → > б → . Таким чином, e ( a ) = 1 означає e ( b ) = 1 .aba←<b←a→>b→e(a)=1e(b)=1
В іншому випадку, і б знаходяться в тому ж сильно зв'язковий компоненті, і ← = Ь ← , → = Ь → . Таким чином, e ( a ) = e ( b ) .aba←=b←a→=b→e(a)=e(b)
Звідси випливає, що .e(ϕ)=1