переформулирую вопрос. Дано множество значений a и множество значений b. Две функции считаются идентичными, когда примененная функция f к множеству а даёт множество b и применённая функция p к множеству а даёт множество b , тоесть f(a) = p(a). Имея ввиду вышесказанное , можете ли вы сказать что в хаскеле (или где либо в программировании вообще) реализовано сравнение функций по их семантике?
По этому определению, например, id @Bool равна not
Ну это линейный алгоритм, условно цикл фор по входящим данным, не беря в расчет сложность сопостовляемых функций. Но как с ними работать на больших множествах? Банальных тридцать два бита на входе дают тебе огромное множество вариантов как минимум на входе. А если функции образуют биекцию, то вообще ахтунг.
Обсуждают сегодня