合一 在逻辑和计算机科学中合一unification是方程求解表达式之间方程的算法过程例如使用 x y z 作为变量单元素集合解的方程consx consx nil  cons y是一个语法一阶合一问题具有替换x   y  cons nil作为其唯一解 合一算法首先由雅克埃尔布朗  发现而第一个正式研究可归因于John Alan Robinson英语John Alan Robinson 他使用一阶句法合一作为基本构建块他对一阶逻辑的归结过程的研究是自动推理技术的一大进步因为它消除了组合爆炸英语Combinatorial explosion的一个来源搜索项目实例如今自动推理仍然是合一的主要应用领域语法一阶合一用于逻辑编程和编程语言类型系统实现特别是基于 HindleyMilner 的类型推论算法语义合一用于 SMT 求解器重写逻辑算法和安全协议分析高阶合一用于证明助手例如 Isabelle 和 Twelf 并且高阶合一的受限形式高阶模式合一用于某些编程语言实现例如lambdaProlog英语λProlog因为高阶模式具有表现力但它们相关的合一过程保留了更接近一阶合一的理论属性 例如对于多项式 X 和 Y 可以通过采纳 X  Z 和 Y  Z 而合一到 Z