1. 基本概念
0️⃣知识匹配:判断两个知识模式是否一致,有确定(完全匹配)/不确定之分(有置信度)
1️⃣变量代换:
- 简单的理解:用变量表示规则,用常量换掉后就变成事实
- 定义:有限集 θ = { t 1 / x 1 , . . . , t n / x n } \theta{}=\{t_1/x_1,...,t_n/x_n\} θ={t1/x1,...,tn/xn}中 t i t_i ti为常量(也可能为变量or函数), x i x_i xi为互不相同的变元, / / /表示左边换掉右边的
- 特例:用一组代换去换掉表达式中的变量,例如 F θ F\theta Fθ表示用 θ \theta θ替换去替换 F F F中的变量
2️⃣代换规则:
- t i ≠ x i t_i\neq{x_i} ti=xi,两个相同还替换啥
- ∀ t j \forall{}t_j ∀tj中不含 ∀ x i \forall{}{x_i} ∀xi,例如 { g ( y ) / x , f ( x ) / y } \{g(y)/\mathbf{x},f(\mathbf{x})/y\} {g(y)/x,f(x)/y}就不是代换
2. 代换的复合
1️⃣如何得到代换复合:对于 θ = { t 1 / x 1 , . . . , t n / x n } \theta{}=\{t_1/x_1,...,t_n/x_n\} θ={t1/x1,...,tn/xn}和 λ = { u 1 / y 1 , . . . , u m / y m } \lambda{}=\{u_1/y_1,...,u_m/y_m\} λ={u1/y1,...,um/ym}
- 令 θ λ = { t 1 λ / x 1 , . . . , t n λ / x n } \theta{}\lambda{}=\{t_1\lambda{}/x_1,...,t_n\lambda{}/x_n\} θλ={t1λ/x1,...,tnλ/xn},然后合并为 ( θ ∘ λ ) R A W = { θ λ , λ } (\theta{}\circ{}\lambda{})_{RAW}=\{\theta{}\lambda{},\lambda\} (θ∘λ)RAW={θλ,λ}
- 删除 θ λ \theta{}\lambda{} θλ中满足 t i λ = x i t_i\lambda{}=x_i tiλ=xi的项,删除 λ \lambda λ中满足 y i ∈ { x 1 , . . . x n } y_i\in{}\{x_1,...x_n\} yi∈{x1,...xn}的
- 完成上述操作后 ( θ ∘ λ ) R A W → 形成复合 θ ∘ λ (\theta{}\circ{}\lambda{})_{RAW}\xrightarrow{形成复合}\theta{}\circ{}\lambda{} (θ∘λ)RAW形成复合θ∘λ
2️⃣复合的性质: F ( θ ∘ λ ) = ( F θ ) λ ≠ ( F λ ) θ F(\theta{}\circ{}\lambda)=(F\theta{})\lambda\neq(F\lambda)\theta F(θ∘λ)=(Fθ)λ=(Fλ)θ
3️⃣复合的示例: θ = { f ( y ) / x , z / y } \theta = \{f(y)/x, z/y\} θ={f(y)/x,z/y}, λ = { a / x , b / y , y / z } \lambda = \{a/x, b/y, y/z\} λ={a/x,b/y,y/z}
- θ ∘ λ = { { θ λ } , { λ } } = { f ( y ) λ / x , z λ / y , a / x , b / y , y / z } \theta \circ \lambda =\{\{\theta{}\lambda{}\},\{\lambda\}\}= \{f(y)\lambda/x, z\lambda/y, a/x, b/y, y/z\} θ∘λ={{θλ},{λ}}={f(y)λ/x,zλ/y,a/x,b/y,y/z}
- f ( y ) λ f(y)\lambda f(y)λ表示在 f ( y ) f(y) f(y)中运用 λ \lambda λ替换得到 f ( b ) f(b) f(b), z λ z\lambda zλ表示在 z z z中运用 λ \lambda λ替换得到 y y y
- 化简为 { f ( b ) / x , y / y , a / x , b / y , y / z } = { f ( b ) / x , y / z } \{f(b)/x, \cancel{y/y}, \cancel{a/x}, \cancel{b/y}, y/z\} = \{f(b)/x,y/z\} {f(b)/x,y/y ,a/x ,b/y ,y/z}={f(b)/x,y/z}
3. 公式的合一(特殊的代换)
1️⃣定义:公式集 F = { F 1 , . . . F n } F=\{F_1,...F_n\} F={F1,...Fn}存在代换 θ \theta θ使 F 1 θ = F 2 θ = . . . = F n θ F_1\theta{}=F_2\theta{}=...=F_n\theta{} F1θ=F2θ=...=Fnθ,则
- θ \theta θ为公式 F F F的一个合一,公式集合一一般不唯一
- 公式集 F = { F 1 , . . . F n } F=\{F_1,...F_n\} F={F1,...Fn}可合一
2️⃣最一般合一(唯一): σ \sigma σ为公式集 F F F最一般合一 ⟺ \iff ⟺其它合一都可表示为 θ i = σ ∘ λ i \theta{}_i=\sigma{}\circ{}\lambda{}_i θi=σ∘λi( λ i \lambda{}_i λi为相应代换)
3️⃣最一般合一求法:发现差异,消除差异
![]()
4️⃣示例
![]()