Wenn Sie zwei Funktionen haben, die einen unterschiedlichen Sortieralgorithmus implementieren, können Sie dann anhand des Quellcodes schließen, dass beide dieselben externen Eigenschaften haben? Bedeutet das, dass beide eine mögliche unsortierte Sequenz als Eingabe und eine sortierte Sequenz als Ausgabe haben? Wie könnten diese externen Eigenschaften durch den Quellcode bestimmt werden? Und wie würden Sie diese externen Eigenschaften beschreiben? Welche Notation würde verwendet?
Die externen Eigenschaften könnten bekannt gemacht werden, indem sie explizit definiert werden, beispielsweise innerhalb eines Typsystems, aber ich frage mich, ob dies implizit erfolgen könnte. Oder ist es theoretisch unmöglich, auf diese Art von Semantik zu schließen? Ich bin daran interessiert, ob dies für beliebige Funktionen möglich ist, nicht nur für Sortieralgorithmen, vorausgesetzt, Dinge wie Funktionen werden immer angehalten und haben keine Nebenwirkungen.
Sollte ich mir die Denotationssemantik ansehen oder ist sie nicht verwandt?
Ich interessiere mich für Hinweise auf die Forschung in diesem Bereich und für verschiedene Begriffe, die zur Beschreibung des Themas verwendet werden, das meiner Literatursuche helfen könnte.