Vă reamintim următoarele definiții:

(1) $ f \in NP: \exists N$ o Mașină Turing Nondeterministă care decide $ f$ în timp polinomial

(2) $ f \in P: \exists N$ o Mașină Turing Deterministă care decide $ f$ în timp polinomial

(3) $ f \le_P g: \exists t: \Sigma^* \rightarrow \Sigma^*, \text{ s.t. } \left\{ \begin{array}{ll} t \text{ e computabilă în timp polinomial de o MTD } \\ \forall w \in \Sigma^\star, f(w) = g(t(w)) \\ \end{array} \right.$

(4) $ f \in NPH: \forall g \in NP, g \le_P f$

(5) $ f \in NPC: f \in NPH \land f \in NP$

(6) $ SAT \in NPC$

1. Dacă $ f \le_P g$ și $ g \le_P h$, atunci $ f \le_P h$

Propoziția ne spune că relația $ \le_P$ e tranzitivă.

Există o transformare $ t_1$ de la $ f$ la $ g$ computabilă în timp $ O(n^i)$. Există o transformare $ t_2$ de la $ g$ la $ h$ computabilă în timp $ O(n^j)$. Compunerea lor e o transformare computabilă în timp $ O(n^{ij})$ și e o transformare de la $ f$ la $ h$.

2. Dacă $ f \in NP$ și $ g \le_P f$, atunci $ g \in NP$

Considerăm definiția (3); dacă transformarea e computabilă în timp polinomial determinist, e computabilă și în timp polinomial nondeterminist, e.g.$ N_t$ computează $ t$ în timp $ O(n^i)$.

Considerăm definiția (2); $ N_f$ decide $ f$ în $ O(n^j)$.

Compunând mașinile pentru $ t$ și $ f$, obținem o MTN $ N_g$ care decide $ g$ în timp $ O(n^{ij})$.

3. Dacă $ f \in P$ și $ g \le_P f$, atunci $ g \in NP$

Considerând definițiile (1) și (3), putem compune cele două mașini într-o mașină deterministă $ D_g$ care decide $ g$ în timp $ O(n^{ij})$. Deci $ g \in P$. Dar știm că $ P \subseteq NP$, deci $ g \in NP$.

4. Dacă $ f \in NPC$ și $ g \le_P f$, atunci $ g \in NPC$

Din (5) și (4) reiese că orice funcție din $ NP$ se reduce la $ f$. Faptul că $ g$ se reduce la $ f$ nu înseamnă că orice funcție se reduce la $ g$, deci propoziția e falsă.

Din definițiile noastre nu reiese imediat nici că $ g \in NP$. Aici ne putem folosi de argumentul de la primul exercițiu.

5. Dacă $ f \in NPH$ și $ g \le_P f$, atunci $ g \in NPC$

Același argument ca la exercițiul anterior; de data asta nu putem argumenta nici măcar că $ g \in NP$.

6. Dacă $ f \in NPC$ și $ f \le_P g$, atunci $ g \in NPC$

Din tranzitivitatea relațiti $ \le_P$, reiese că orice funcție din $ NP$ se reduce la $ g$. Dar asta înseamnă doar că $ g \in NPH$; $ g$ ar putea să nu fie în $ NP$, deci propoziția e falsă.

7. Dacă $ f \in NPC$ și $ f \le_P g$, atunci $ g \in NPH$

Același argument de mai sus; deci propoziția e adevărată.

8. Dacă $ f \in NP$ și $ f \le_P g$, atunci $ g \in NPC$

Propoziția e falsă; ca $ g \in NPC$, ar trebui ca toate funcțiile din $ NP$ să se reducă la ea și $ g \in NP$, dar nu știm asta despre $ g$. Propoziția e falsă.

9. Dacă $ f \in NP$ și $ f \le_P g$, atunci $ g \in NPH$

Propoziția e falsă; ca $ g \in NPH$, ar trebui ca toate funcțiile din $ NP$ să se reducă la ea; dar știm asta doar despre o funcție anume $ f$.

10. Dacă $ f \le_P SAT$, atunci $ f \in NPC$

Din definiția (6) și exercițiul 1, reiese că $ f$ e în $ NP$; dar nu putem spune dacă e $ NPC$.

E important de menționat că valoarea de adevăr a propoziției nu depinde de relația dintre $ P$ și $ NP$. Dacă $ P = NP$, atunci $ NPC = NP \setminus \{f_{FALSE}, f_{TRUE}\}$. Deci putem oferi un contraexemplu pentru propoziția de mai sus: $ f = f_{TRUE}$ și $ t$ e funcția care pentru orice input creează formula $ x$ (evident satisfiabilă de interpretarea $ T(x) = TRUE$. Observați că $ f$ nu e $ NPC$, nici dacă $ P = NP$.

11. Dacă $ SAT \le_P f$, atunci $ f \in NPC$

Din (6) și tranzitivitatea relației $ \le_P$ reiese că orice funcție din $ NP$ se reduce la $ f$. Dar asta înseamnă doar că $ f \in NPH$. Propoziția e falsă.