Twierdzę, że dla „naturalnego logicznego CSP”, jeśli wersja z ograniczeniem k jest w P dla każdego k , wówczas wersja nieograniczona jest również w P. Poniżej zdefiniuję „naturalny logiczny CSP”.
Twierdzenie Schaefera stwierdza, że logiczny CSP na skończonym zbiorze S relacji jest w P, jeżeli spełniony jest co najmniej jeden z następujących warunków i jest on NP-kompletny, jeśli żaden z nich nie jest spełniony:
- Każda relacja w S (z wyjątkiem stałej 0) jest spełniona przez przypisanie 1 do wszystkich jej zmiennych.
- Każda relacja w S (z wyjątkiem stałej 0) jest spełniona poprzez przypisanie 0 do wszystkich jej zmiennych.
- Każda relacja w S jest równoważna formule 2-CNF.
- Każda relacja w S jest równoważna formule klauzuli Horn.
- Każda relacja w S jest równoważna formule klauzuli podwójnego rogu. („Formuła z podwójnym rogiem” oznacza formułę CNF, w której każda klauzula zawiera co najwyżej jeden literał dodatni.)
- Każda relacja w S jest równoważna koniunkcji zdań afinicznych.
Załóżmy teraz, że P ≠ NP, i rozważmy przypadek, gdy S jest nieskończone. Jeśli wersja k- ograniczona jest w P dla każdego k , to według twierdzenia Schaefera każdy skończony podzbiór S spełnia co najmniej jeden z sześciu powyższych warunków, a to oznacza, że cały zbiór S spełnia co najmniej jeden z sześciu warunków. Czy to oznacza, że ten CSP bez ograniczeń dotyczących arsenału jest również w P? Jeszcze nie.
Gdy S jest nieskończone, musimy określić, w jaki sposób podawana jest każda klauzula we wzorze wejściowym. Zakładamy, że istnieje jakiś suriekcją mapowanie z {0,1} * do S , która określa kodowanie relacji w S . Boolean CSP jest określony przez podanie zarówno S, jak i tej funkcji kodowania.
Zauważ, że w każdym z powyższych przypadków 3, 4, 5 i 6 istnieje naturalny sposób na przedstawienie relacji spełniających warunek: wzór 2-CNF w przypadku 3, wzór z klauzulą Horn w przypadku 4 i tak dalej. Nawet jeśli relacja jest równoważna (powiedzmy) formule 2-CNF, nie ma a priori gwarancji, że jej kodowanie zapewnia łatwy dostęp do formuły 2-CNF, która jest jej równoważna.
Teraz mówimy, że logiczny CSP jest naturalny, gdy jego funkcja kodowania spełnia następujące wymagania:
- Biorąc pod uwagę kodowanie relacji i przypisanie do wszystkich jej zmiennych, to czy relacja jest spełniona czy nie, można obliczyć w czasie wielomianowym. (Uwaga: zapewnia to, że dany CSP jest zawsze w NP.)
- Biorąc pod uwagę kodowanie relacji spełniającej warunek 3, 4, 5 lub 6, jego naturalną reprezentację, jak określono powyżej, można obliczyć w czasie wielomianowym.
Wtedy łatwo zauważyć, że jeśli S spełnia jeden z sześciu powyższych warunków, a kodowanie dla S spełnia ten warunek „naturalności”, wówczas możemy zastosować odpowiedni algorytm. Twierdzenie, które przedstawiłem na początku, można udowodnić, rozważając zarówno przypadek P = NP, jak i przypadek P ≠ NP.