Tôi thường quy kết điều này cho Quy tắc phản ánh xác định của Schroeder-Heister, mặc dù ý tưởng đã vượt xa điều đó với Girard và những người khác; quy tắc bạn đang tìm kiếm là một thể hiện của màn hình đầu tiên trong Phần 4. Tuy nhiên, bạn cũng cần một quy tắc nói rằng nếu thể hiện hợp nhất là không thỏa mãn, thì giả định về đẳng thức có lực mâu thuẫn.
Một tài khoản tổng quát hơn đã được sử dụng gần đây trong rất nhiều công việc của Dale Miller, David Baelde và công ty (xem, ví dụ, Least và các điểm cố định lớn nhất trong logic tuyến tính ). Công thức tổng quát hơn - cũng không bắt nguồn từ Miller et al - là quy tắc này là
{θ∈csu(t,s)∣θΓ⊢θC}Γ,t≐s⊢C
trong đó là tập hợp hoàn chỉnh của bộ hợp nhất - tập hợp tất cả các thay thế thống nhất của và . Bạn cũng có thể thích cách viết quy tắc tương đương mà tôi thích ( ví dụ ở đây ).csu(t,s)ts
∀θ.θt=θs⟶θΓ⊢θCΓ,t≐s⊢C
Trong mọi trường hợp, trong một ngôn ngữ có sự thống nhất có thể quyết định trong đó sự tồn tại của một unifier ngụ ý sự tồn tại của một unifier chung nhất, có một trong hai quy tắc trên có thể được hiển thị tương đương với hai quy tắc này:
no mgu(t,s)Γ,t≐s⊢Cmgu(t,s)=θθΓ⊢θCΓ,t≐s⊢C
(PS Frank đã thảo luận điều này trong khóa học lập trình logic của mình trong các bài giảng 6, 7 và 8, có thể là nơi bạn nhớ nó từ đó.)