互递归是数学与计算机科学中一种递归，指两个数学或计算机对象如函数或数据类型互相定义。互递归在函数程式语言或某些问题域中非常常见，如，其中数据类型是自然地互相递归定义的。
例子.
数据类型.采取互递归定义的最重要的基本数据类型是树。这可以用于定义森林（树的列表）:森林"f"由一棵树的列表组成，同时一棵树"t"由一对：值"v"与森林"f" (子树)构成。这种定义是精致的，易于工作的抽象性（如用于证明关于树的属性的定理），因为它用简单术语表示一棵树：一个类型的列表