Смущен о подтипе функций

Я беру курс по языкам программирования и отвечаю на вопрос «когда функция является подтипом другой функции». это очень нелогично для меня.

Чтобы уточнить: предположим, что у нас есть следующее отношение типа:

bool<int<real

Почему функция(real->bool) подтип(int->bool)? Разве это не должно быть наоборот?

Я ожидаю, что критерии для функций подтипа будут такими: f1 является подтипом f2, если f2 может принимать любой аргумент, который может принимать f1, а f1 возвращает только значения, которые возвращает f2. Очевидно, что есть значения, которые может принимать f1, но f2 не может 't.

Ответы на вопрос(3)

Ваш ответ на вопрос