递归定义是
数理逻辑和
计算机科学用到的一种
定义方式,使用被定义对象的自身来为其下定义(简单说就是自我复制的定义)。递归定义(recursive definition)亦称
归纳定义,一种实质定义,指用递归的方法给一个概念下的定义。
递归定义是
数理逻辑和
计算机科学用到的一种
定义方式,使用被定义对象的自身来为其下定义(简单说就是自我复制的定义)。递归定义与归纳定义类似,但也有不同之处。递归定义中使用被定义对象自身来定义,而归纳定义是使用被定义对象的已经定义的部分来定义尚未定义的部分。不过,使用递归定义的函数或集合,它们的性质可以用
数学归纳法,通过递归定义的内容来证明。
大部分的递归定义都由三个部分构成:基本情况的定义,递归法则和递归结束的情况。如果定义的对象是无限的,那么可以省略第三个部分(递归结束的情况)。比如说,可以用递归定义的方式来定义如下的一个
自然数集上的
函数f:
这个定义在
逻辑上是成立的,因为它首先定义了f在最小的自然数0上的取值,接下来对每个大于零的自然数n,只要重复有限多次定义的过程,最终就会回到对0的定义上。这样定义出的函数f就是
阶乘函数。
递归定义和循环定义的不同之处在于,后者不包括对基本情况的定义。比如定义建立在
整数集上的函数g: