Мощность типа
Что это значит, а также что такое количество элементов следующих типов, например:
unit->int
bool->(int->bool)
1 ответ
Количество элементов типа - это число возможных допустимых значений этого типа.
С типами функций мы обычно хотим рассматривать две функции, которые возвращают одно и то же значение для каждого входа, как "одну и ту же функцию", по крайней мере, для кардинальных целей (это известно как "равенство расширений").
Я предполагаю, что это проблема домашней работы, и я также собираюсь предположить, что функции, которые не завершаются или дают неопределенные значения, не должны быть включены (поскольку, действительно, они не будут включены в типичную математическую обработку),
Выразить количество типов, которые могут иметь конечное число возможных значений, в принципе довольно просто, потому что вы можете просто указать число в качестве количества элементов. Однако, с бесконечным количеством элементов, технически существует различие между различными видами бесконечностей. Например, неисчислимая бесконечность "больше" счетной бесконечности. (Честно говоря, я не уверен, ожидаете ли вы, что вы это знаете, или вам просто нужно дать ответ "бесконечно" - посмотрите примечания к курсу.) По этой причине рекомендуется указать, какая бесконечность Вы говорите, например, ссылаясь на количество элементов "более простого" типа.
Так что мощность unit->int
такой же, как мощность int
(и то же самое относится к любому другому типу назначения, который вы можете выбрать вместо int
), потому что значение типа unit->X
обязательно должна быть константной функцией, которая "игнорирует свой ввод" и возвращает постоянное значение типа X
,
Надеюсь, этого неполного ответа достаточно, чтобы вы начали.