Dal teorema di Church sappiamo che determinare la soddisfacibilità del primo ordine in generale è indecidibile, ma ci sono diverse tecniche che possiamo usare per determinare la soddisfacibilità del primo ordine. Il più ovvio è cercare un modello finito. Tuttavia, ci sono un certo numero di affermazioni nella logica del primo ordine che possiamo dimostrare non hanno modelli finiti. Ad esempio, qualsiasi dominio in cui opera una funzione iniettiva e non suriettiva è infinito.
Come possiamo dimostrare la soddisfacibilità per le dichiarazioni del primo ordine in cui non esistono modelli finiti o l'esistenza di modelli finiti è sconosciuta? Nel dimostrare il teorema automatizzato possiamo determinare la soddisfacibilità in diversi modi:
- Possiamo annullare la frase e cercare una contraddizione. Se ne viene trovato uno, dimostriamo la validità del primo ordine della dichiarazione e quindi la soddisfacibilità.
- Usiamo la saturazione con risoluzione ed esauriamo le inferenze. Più spesso, avremo un'infinità di inferenze da fare, quindi questo non è affidabile.
- Possiamo usare la forzatura, che presuppone l'esistenza di un modello e anche la coerenza della teoria.
Non conosco nessuno che stia implementando la forzatura come tecnica meccanizzata per dimostrare il teorema automatizzato, e non sembra facile, ma sono interessato se è stato fatto o tentato, poiché è stato usato per dimostrare l'indipendenza per una serie di affermazioni nella teoria degli insiemi, che a sua volta non ha modelli finiti.
Esistono altre tecniche note per la ricerca della soddisfacibilità del primo ordine applicabili al ragionamento automatico o qualcuno ha lavorato su un algoritmo di forzatura automatizzata?