Якщо у вас є дві функції, що реалізують інший алгоритм сортування, чи можна зробити висновок за вихідним кодом, що вони мають однакові зовнішні властивості? Значить, вони обидва матимуть можливу несортовану послідовність у якості вхідних даних і матимуть відсортовану послідовність як вихід? Яким способом можна визначити ці зовнішні властивості за вихідним кодом? І як би ви описали ці зовнішні властивості? Яке позначення буде використано?
Зовнішні властивості можна було б визначити, чітко визначивши їх, наприклад, в системі типів, але мені цікаво, чи можна це зробити неявно. Або теоретично якось неможливо зробити такий вид семантики? Мене цікавить, чи можливо це для довільних функцій, а не лише для алгоритмів сортування, припускаючи, що такі речі, як функції, завжди зупиняться і не матимуть побічних ефектів.
Чи варто дивитись на денотаційну семантику чи це не пов'язано?
Мене цікавлять покажчики досліджень у цій галузі та різні терміни, що використовуються для опису предмета, які можуть допомогти моєму пошуку літератури.