L'ho spesso attribuito a Regole di riflessione definitiva di Schroeder-Heister, anche se l'idea va oltre quella a Girard e altri; la regola che stai cercando è un'istanza del primo display nella Sezione 4. Tuttavia, hai anche bisogno di una regola che dice che se l'istanza di unificazione è insoddisfacente, allora l'assunzione di uguaglianza ha la forza di una contraddizione.
Un resoconto più generale è stato recentemente utilizzato in molti lavori di Dale Miller, David Baelde e società (vedere, ad esempio, i punti minimi e massimi fissi nella logica lineare ). La formulazione più generale - che anche non ha origine con Miller et al - è che la regola è
{ θ ∈ c s u ( t , s ) ∣ θ Γ ⊢ θ C}Γ , t ≐ s ⊢ C
c s u (t,s)tS
∀ θ . θ t = θ s ⟶ θ Γ ⊢ θ CΓ , t ≐ s ⊢ C
In ogni caso, in un termine lingua con unificazione decidibile in cui l'esistenza di un unificatore implica l'esistenza di un unificatore più generale, avere una di queste regole sopra può essere dimostrato essere equivalente ad avere queste due regole:
n o m g u ( t , s )Γ , t ≐ s ⊢ Cm g u ( t , s ) = θθ Γ ⊢ θ CΓ , t ≐ s ⊢ C
(PS Frank ne ha discusso nel suo corso di programmazione logica nelle lezioni 6, 7 e 8, che potrebbe essere il luogo da cui lo ricordi.)