Wie kann ich widersprüchliche Beweise verwenden?

Während des SchreibensÜber das Subtyping in Haskell, mir ist der Gedanke gekommen, dass es sehr praktisch wäre, widersprüchliche Beweise wie @ "zu verwenden"True ~ False, um den Compiler über tote Zweige zu informieren. Bei einem anderen leeren Standardtyp istVoid, dasEmptyCaseit der Erweiterung @ können Sie einen toten Zweig markieren (d. h. einen, der einen Wert vom Typ @ enthälVoid) diesen Weg

use :: Void -> a
use x = case x of

Ich würde gerne etwas Ähnliches für Unbefriedigendes tunConstraint s.

Gibt es einen Begriff, dem der Typ @ zugewiesen werden kanTrue ~ False => a kann aber nicht den Typ @ erhalta?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage