Avatar von pre alpha
  • pre alpha

994 Beiträge seit 13.05.2006

Konvertierung logischer Zustände

Hallo zusammen,
ich bin eben dabei mir Klassen für mehrwerige Logiken zu schreiben. Das ist ja nun kein Geheimwissen doch hier ein kurzer Abriss zum Verständniss:
- zweiwertige Logik "normales" bool -> hat 2 Zusände true (T) und false (F)
- dreiwertige Logik 1) -> hat 3 Zustände T, F und unbestimmt/indeterminate (I)
- vierwertige Logik 2) -> hat 4 Zustände T, F, Mangel/unvollstündig/underdeterminate (U) und Überschuß/inkonsistent/overdeterminate (O)
Die Begriffe sind jedoch nicht einheitlich und die Zustände werden so zT anders genannt. Die Logiktabellen sind ja verfügbar (Hint: 2) scheint zum Teil falsch zu sein und ich hab mich an das PDF gehalten) so daß ich die Operatoren &&, || etc für meine Klassen bereitstellen kann. So weit so gut. Doch nun mein Problem:
Wie konvertiere (caste) ich zwischen den Klassen/Zuständen ($Internet spuckt da nichts verwertbares aus) ?
- solange der Zustand T/F ist kein Problem, da eindeutig
- bool3::I
a) nach bool2
b) nach bool4
- bool4::U oder bool4::O
a) nach bool2
b) nach bool3
Habs jetzt erstmal so gemacht daß diese Fälle immer auf F laufen, doch ich fürchte das ist falsch.
Kennst sich da jemand mit aus und kann mir weiterhelfen?

thx und Grüße
pre alpha

1) https://de.wikipedia.org/wiki/Dreiwertige_Logik
2) https://de.wikipedia.org/wiki/Belnaps_vierwertige_Logik
http://www.filosofia.unimi.it/dagostino/wp-content/uploads/2017/05/Belnap.pdf

Das Posting wurde vom Benutzer editiert (16.10.2020 20:45).

Bewerten
- +