Konvertierung zur spezielleren Expression

generierte innere abstrakte Switch-Klasse

Formulierung:

ursprüngliche Constraint-Expression:
    ((Z or N) and (SCHREIB or LESE))

//Spezialisierung (X)OR durch bereits vorhandene Prädikate 4 Fälle
Switch( "ZentraleXorRegioAndSchreibXorLese" ,
 (Z and SCHREIB) , // (    Z  and not(N)) and (    SCHREIB  and not(LESE))
 (Z and LESE)    , // (    Z  and not(N)) and (not(SCHREIB) and     LESE )
 (N and SCHREIB) , // (not(Z) and     N ) and (    SCHREIB  and not(LESE))
 (N and LESE)    ) // (not(Z) and     N ) and (not(SCHREIB) and     LESE )


Überprüfung, ob die erfüllten Sub-Expressions
gültige Sub-Expressions der ursprünglichen
Expression sind

Ausprägungs-Mengen müssen disjunkt (nicht überlappend)
sein, sonst wird der zufällig zuerst generierte
Zweig durchlaufen (Fehler).

Möglichkeiten:
Code-Generator kennt sich ausschliessende
Prädikate (Excludes)
sowie
NOT (ein Prädikat ja vs. nein)
Anfang weiter