Мощность типа

Что это значит, а также что такое количество элементов следующих типов, например:

unit->int  

bool->(int->bool)

1 ответ

Решение

Количество элементов типа - это число возможных допустимых значений этого типа.

С типами функций мы обычно хотим рассматривать две функции, которые возвращают одно и то же значение для каждого входа, как "одну и ту же функцию", по крайней мере, для кардинальных целей (это известно как "равенство расширений").

Я предполагаю, что это проблема домашней работы, и я также собираюсь предположить, что функции, которые не завершаются или дают неопределенные значения, не должны быть включены (поскольку, действительно, они не будут включены в типичную математическую обработку),

Выразить количество типов, которые могут иметь конечное число возможных значений, в принципе довольно просто, потому что вы можете просто указать число в качестве количества элементов. Однако, с бесконечным количеством элементов, технически существует различие между различными видами бесконечностей. Например, неисчислимая бесконечность "больше" счетной бесконечности. (Честно говоря, я не уверен, ожидаете ли вы, что вы это знаете, или вам просто нужно дать ответ "бесконечно" - посмотрите примечания к курсу.) По этой причине рекомендуется указать, какая бесконечность Вы говорите, например, ссылаясь на количество элементов "более простого" типа.

Так что мощность unit->int такой же, как мощность int (и то же самое относится к любому другому типу назначения, который вы можете выбрать вместо int), потому что значение типа unit->X обязательно должна быть константной функцией, которая "игнорирует свой ввод" и возвращает постоянное значение типа X,

Надеюсь, этого неполного ответа достаточно, чтобы вы начали.

Другие вопросы по тегам