Funktion gibt "Keine Lösung" statt "Nichts" zurück

9

Ich habe einen Standard-Datentyp, der Formeln der Prädikatenlogik darstellt. Eine Funktion, die eine natürliche Abzugseliminierungsregel für die Disjunktion darstellt, könnte folgendermaßen aussehen:

%Vor%

Anstelle der Auswertung auf Nothing, wenn die Vereinheitlichung fehlschlägt, gibt die Funktion keine Lösungen in PACKS zurück:

%Vor%

Was fehlt mir und warum wird el nicht auf Nothing ausgewertet, wenn die Vereinheitlichung fehlschlägt?

    
danportin 30.09.2011, 13:55
quelle

1 Antwort

1

Es scheint, dass dies nicht der beste Weg ist, um gleichwertige Einschränkungen zu verwenden. Wenn a =:= b fehlschlägt, schlägt die Funktionsklausel ebenfalls fehl.
Zum Beispiel:

%Vor%

xx 7 Ergebnisse in 3 auswerten (nicht 7 ), weil 7 =:= 5 die erste Klausel der Funktion xx vollständig beendet.

Ich denke, der Code sollte so aussehen:

%Vor%     
max taldykin 03.12.2011, 10:13
quelle