Assistenti di prova come Isabelle / HOL lavorano a livello sintattico su un calcolo logico. Immagina di avere la regola del modus ponens (MP)
P→Q,P ⟹ Q
e l'obiettivo della prova
(a∨b)→(c∧d),a∨b ⟹!c∧d
Noi umani vediamo immediatamente che ciò segue con modus ponens, ma la macchina deve abbinare l'obiettivo per governare sintatticamente (sia che tu lo faccia apply rule mp
o apply simp
), e questo è ciò che fa l'unificazione. L'algoritmo trova con φ ( P ) = a ∨ b e φ ( Q ) = c ∧ d , crea un'istanza della regola e la applica.φφ(P)=a∨bφ(Q)=c∧d
La cosa buona dei metodi degli assistenti come simp
adesso è che se il tuo obiettivo è
(a∨b)→(c∧d),a ⟹!d
che troveranno una sequenza adeguata di applicazioni delle regole MP, e P ⟹ P ∨ Q con unificazioni compatibili per le rispettive fasi e risolvono l'obiettivo.P∧Q⟹PP⟹P∨Q
Notazione: con un insieme di formule logiche, la notazioneΓ={φ1,…,φn}
Γ⟹ψ
significa quanto segue:
Se ho derivato / provato tutte le formule in (cioè sono valide ), questa regola afferma che ψ è anche valido.Γψ
In un certo senso, la regola è l'ultimo passo di una (lunga) dimostrazione per ψ . Le prove non sono altro che catene di tali applicazioni di regole.Γ⟹ψψ
Si noti che le regole di solito contengono variabili schematiche ( e Q in precedenza) che possono essere sostituite da formule arbitrarie purché la stessa variabile venga sostituita con la stessa formula in tutti i casi; il risultato di quel formato è l'istanza della regola concreta (o intuitivamente, un passaggio di prova). Questa sostituzione è sopra indicata con φ che è stata trovata per unificazione.PQφ
Spesso le persone usano invece di ⟹ .⊨⟹