J'ai souvent attribué cela aux Règles de réflexion définitionnelle de Schroeder-Heister, bien que l'idée remonte au-delà de cela à Girard et à d'autres; la règle que vous recherchez est une instance du premier affichage de la section 4. Cependant, vous avez également besoin d'une règle qui dit que si l'instance d'unification n'est pas satisfaisante, l'hypothèse d'égalité a la force d'une contradiction.
Un compte rendu plus général a été utilisé récemment dans de nombreux travaux de Dale Miller, David Baelde et compagnie (voir, par exemple, Les moindres et les plus grands points fixes en logique linéaire ). La formulation plus générale - qui ne provient pas non plus de Miller et al - est que la règle est
{θ∈csu(t,s)∣θΓ⊢θC}Γ,t≐s⊢C
où est l' ensemble complet des unifieurs - l'ensemble de toutes les substitutions unificatrices de et . Vous pouvez également préférer la manière équivalente d'écrire cette règle que je préfère (voir ici par exemple).csu(t,s)ts
∀θ.θt=θs⟶θΓ⊢θCΓ,t≐s⊢C
Dans tous les cas, dans un langage à terme avec unification décidable où l'existence d'un unificateur implique l'existence d'un unificateur le plus général, avoir l'une de ces règles ci-dessus peut être démontré comme équivalant à avoir ces deux règles:
no mgu(t,s)Γ,t≐s⊢Cmgu(t,s)=θθΓ⊢θCΓ,t≐s⊢C
(PS Frank a discuté de cela dans son cours de programmation logique dans les conférences 6, 7 et 8, ce dont vous vous souvenez peut-être.)