这是由于一级统一主要问题是(co)均衡器的存在,因为(co)乘积通常被视为存在。下面是如何将计算(co)均衡器翻译为统一语言的简要说明。你的三个设置有指向不同方向的箭头,为了简单起见,我将选择colimit方向,但下面的推理同样适用于所有三个设置。
就像你的岩浆例子一样,但在一般情况下。将自由代数$F_m$的生成器与$m$-生成器视为变量符号$x_1、\ldots、x_m$。然后,我们可以将形态$F_m到F_n$看作变量替换$\{x_1\mapsto t_1、\ldots、x_m\mapsto-t_m\}$,其中$t_1、\ ldots和t_m$是涉及$n$-变量符号$y_1、\ ldot、y_n$的项。
给定一个并行对$$\sigma=\{x_1\mapsto s_1,\ldots,x_m\mapstos s_m\},\tau=\{x_1\mapstor t_1,\ldot,x_s\mapsto t_m\}:F_m\rightrightarrows F_n,$$和一个$$\upsilon=\{y_1\map斯托u_1,\ ldots如果$s_1^\upsilon=t1^\upsilon,\ldots,s_k^\upsilon=t_k^\upsilon$(其中我使用上标表示替换项的应用)。换句话说,当替换$\upsilon$是统一问题$\{s_1\doteq t_1,\ldots,s_k\doteqt t_k\}$的统一器时。
J.A.Robinson指出,如果统一问题$\{s_1\doteq t_1,\ldots,s_k\doteq_tk\}$有一个统一器,那么它有一个最通用的统一器$\nu$的意义是,任何其他unifier都是通过在$\nu$$上应用进一步的替换而从它上面获得的。再转换回类别语言,这意味着这个$\nu$s是并行对$\sigma,\tau:F_m\rightarrows F_n$的协等式。Robinson提出了一种算法来决定是否存在统一器,并在存在统一器的情况下找到最通用的统一器。Martelli和Montanari后来发现了一种更有效的算法。
对于你的最后一个问题,是的,有一些非自由理论允许统一;有关一些常见示例,请参阅Baader和Snyder。
罗宾逊,J.A。,基于分辨原理的面向机器的逻辑,J.协会计算。机器。12, 23-41 (1965).ZBL0139.12303号.
阿尔贝托·马泰利;乌戈·蒙塔纳里,一种高效的统一算法,ACM变速器。程序。语言系统。4, 258-282 (1982).ZBL0478.68093号.
弗兰茨·巴德;斯奈德,韦恩《统一理论》,Robinson,Alan(编辑)等人,《自动推理手册》。2卷。阿姆斯特丹:北荷兰/爱思唯尔;0-444-50812-0(第二卷);0-444-50813-9(套))。445-533 (2001).ZBL1011.68126号.