递归可枚举集合(英语:Recursively enumerable set)是
可计算性理论或更狭义的
递归论中的一个概念。可数集合S被称为是递归可枚举、计算可枚举的、半可判定的或可证明的,如果存在一个
算法,只有当输入是S中的元素时,算法才会中止。或者等价的说,存在一个算法,可以将S中的成员枚举出来。也就是说该算法的输出就是 S 的成员列表: s1, s2, s3, ... 如果需要它可以永远运行下去。包含所有可递归枚举集合的
复杂性类是
RE。共同的编程意义会暗示出如何转换一种算法到等价的另一种算法。第一种情况说明了为什么有时说半可判定的,而第二种情况说明了为什么叫计算可枚举的。
集合S被成为co-递归可枚举的或co-r.e.,如果S的
补集是递归可枚举的。
对于偏可计算函数 的哥德尔数i,则集合 (带有 康拖尔配对函数) 是递归可枚举的。这个集合编码了
停机问题,因为它描述了每个
图灵机停机的输入参数。
如果A和B是递归可枚举集合,则A∩B、A∪B和A×B是递归可枚举集合。集合A是
递归集合,当且仅当A和A补集二者是递归可枚举集合。递归可枚举集合一个可计算函数下的
原像是递归可枚举集合。