基数的类型

时间:2010-11-05 09:49:58

标签: types set cardinality

这意味着什么,以及下一个类型的基数是什么,例如:

unit->int  

bool->(int->bool)

1 个答案:

答案 0 :(得分:1)

类型的基数是可能属于该类型的合法值的数量。

对于函数类型,我们通常要考虑两个函数,它们为每个输入返回相同的值,使其成为“相同的函数”,至少为基数目的(这称为“扩展相等”)。

我假设这是一个家庭作业问题,我将进一步假设不包括不终止或产生未定义值的函数(事实上,它们不会包含在典型的数学处理)。

表示可以具有有限数量的可能值的类型的基数原则上相当容易,因为您可以只给出一个数字作为基数。然而,有了无限的基数,从技术上讲,不同类型的无穷大之间存在区别。例如,无数无穷大“大于”可数无穷大。 (老实说,我不确定你是否应该知道这一点,或者你是否应该给出“无限”的答案 - 检查你的课程笔记。)因此,指定哪个无穷大是个好主意。你在说什么,比如说通过引用“更简单”类型的基数。

因此,unit->int的基数与int的基数相同(对于您可能选择的任何其他目标类型,而不是int),因为值类型unit->X必须是一个常量函数,它“忽略它的输入”并返回X类型的常量值。

我希望这个不完整的答案足以让你开始。