Supponiamo che P! = NP.
Sappiamo che possiamo creare semplici istanze di 3-SAT in qualsiasi momento. Possiamo anche generare quelli che crediamo siano casi difficili (perché i nostri algoritmi non possono risolverli rapidamente). C'è qualcosa che impedisce all'insieme di istanze difficili di essere arbitrariamente piccole, purché per una data dimensione di istanza (n) ci siano solo istanze Poly (n) (o anche costanti) di dimensioni Poly (n) o più piccole?
Per qualsiasi istanza 3-SAT difficile, dovremmo aggiungere l'insieme di tutte le istanze 3-SAT che riduce a tramite il looping attraverso il ciclo di riduzione della completezza NP, ma non prevedo che ciò aumenti molto il numero di istanze difficili .
In questo mondo, potremmo costruire un algoritmo che risolve polinomialmente tutti i problemi NP completi, tranne alcuni eccezionali.
Modifica: una variante più morbida della domanda: anche se mostrassimo P! = NP, come potremmo sapere se un determinato metodo per generare problemi di dimensione n 3-SAT ha effettivamente generato uno difficile con qualche probabilità richiesta? Se non c'è modo di saperlo solo da P! = NP, cosa è necessario per dimostrare che possiamo generare un problema NP-completo?