Assistentes de prova como Isabelle / HOL trabalham em um nível sintático em um cálculo lógico. Imagine que você tem a regra do modus ponens (MP)
P→Q,P ⟹ Q
e o objetivo da prova
(a∨b)→(c∧d),a∨b ⟹!c∧d
Nós, humanos, vemos imediatamente que isso ocorre com o modus ponens, mas a máquina precisa corresponder à meta para governar sintaticamente (seja você apply rule mp
ou não apply simp
), e é isso que a unificação faz. Os achados algoritmo com φ ( P ) = um ∨ b e φ ( Q ) = c ∧ d , instancia a regra e aplica-lo.φφ(P)=a∨bφ(Q)=c∧d
O lado bom dos métodos dos assistentes simp
agora é que, se seu objetivo é
(a∨b)→(c∧d),a ⟹!d
P∧Q⟹PP⟹P∨Q
Γ={φ1,…,φn}
Γ⟹ψ
significa o seguinte:
Γψ
Γ ⟹ ψ é a última etapa de uma (longa) prova de ψ. As provas não passam de cadeias de aplicativos de regras.
Observe que as regras geralmente contêm variáveis esquemáticas (P e Qna acima) que pode ser substituído por arbitrárias fórmulas desde que a mesma variável é substituída com a mesma fórmula em todas as ocorrências; o resultado desse formato é a instância de regra concreta (ou intuitivamente, uma etapa de prova). Esta substituição é acima indicada porφ que foi encontrado pela unificação.
Muitas vezes as pessoas usam ⊨ ao invés de ⟹.