-
合一
(數理邏輯中的一階謂詞演算使用的運算方法)
鎖定
- 中文名
- 合一
- 外文名
- syncretic
目錄
- 1 簡介
- 2 Prolog 中的合一
- 3 合一的例子
合一簡介
在數理邏輯中,特別是應用於計算機科學中,兩個項的同一是就特殊化次序而言的並(格的最小上界),就是説,我們在項的集合上假定一個預序,其中
意味着
是通過代換(substitute)在
中某些項的一個或多個自由變量而從
獲得的。
和
的同一
,如果存在的話,是
和
二者的代換實例的一個項。
和
的任何公共的代換實例也是
的實例。
合一Prolog 中的合一
同一概念是在Prolog背後的主要想法。它表示綁定變量的內容的機制並可以看作為一種只一次的(one-time)賦值。在Prolog中,這種操作用符號"="來指示。
- 在傳統Prolog中,未實例化的變量—就是説在它上面以前沒有進行合一,可以合一於一個原子、一個項、或另一個未實例化的變量,因此在效果上變成了它的別名。在很多現代Prolog方言和一階邏輯演算中,變量不能合一於包含它的項;這叫做出現檢查。
- Prolog原子只能合一於同一個原子。
- 類似的,項只能合一於另一個項,如果頂部函數符號和項的元數(arity)和這個項是一樣的,並且參數可以同時合一。注意這是遞歸行為。
注意在一階邏輯的術語中,原子是基本命題而且其合一同Prolog項一樣。