Si tiene dos funciones que implementan un algoritmo de clasificación diferente, ¿es posible inferir por código fuente que ambas tienen las mismas propiedades externas? ¿Significa que ambos tendrán una posible secuencia sin clasificar como entrada y tendrán una secuencia ordenada como salida? ¿De qué manera el código fuente podría determinar estas propiedades externas? ¿Y cómo describirías estas propiedades externas? ¿Qué notación se usaría?
Las propiedades externas podrían darse a conocer definiéndolas explícitamente, por ejemplo dentro de un sistema de tipos, pero me pregunto si esto podría hacerse implícitamente. ¿O es de alguna manera teóricamente imposible inferir este tipo de semántica? Estoy interesado en saber si esto es posible para funciones arbitrarias, no solo para ordenar algoritmos, asumiendo que cosas como las funciones siempre se detendrán y no tendrán efectos secundarios.
¿Debo mirar la semántica denotacional o no está relacionada?
Me interesan los indicadores para investigar en esta área y los diferentes términos utilizados para describir el tema que podrían ayudar a mi búsqueda de literatura.