Dies ist ein Problem in englischer Sprache. Sie haben eine Spezifikation in natürlicher Sprache erhalten und haben Schwierigkeiten, diese in eine explizite Logik umzuwandeln.
Die Schalter A und B sind beide eingeschaltet.
Sie haben dafür ein UND-Gatter verwendet. Richtig, diese Klausel ist (a UND b). Nennen wir dieses Teilergebnis e.
Entweder Schalter C oder Schalter D ist eingeschaltet, aber nicht beide.
Sie haben dafür ein XOR-Gatter verwendet. Richtig, diese Klausel lautet (c XOR d). Nennen wir dieses Teilergebnis f.
Bisher haben Sie den gesamten Ausdruck auf ...
reduziert
Eine Lampe leuchtet nur, wenn Folgendes passiert: e? f
Bedeutet "nur wenn", dass es leuchtet, wenn e UND f, oder bedeutet es e ODER f?
Aus diesem Grund geraten Ingenieure in Schwierigkeiten, nehmen einen Job mit einer in englischer Sprache verfassten Spezifikation an und stellen dann fest, dass sie nicht wirklich wissen, worum es geht, bis sie ihn implementieren. 'Nur wenn' klingt ein bisschen logisch, nicht wahr?
'Nur wenn' wird in der Logik nicht verwendet. Es gibt einen Begriff "genau dann, wenn", der normalerweise als IFF ausgedrückt wird. IFF ist jedoch eine Bedingung, die die Wahrheit über ein System zum Ausdruck bringen soll und nicht als Formel, um aus Eingaben ein Ergebnis zu erhalten. Zum Beispiel "Ich habe einen Bruder, wenn mein Geschwister männlich ist". (Etwas) IFF (bedingt).
Wenn Sie versuchen, eine Logikformel zum Laufen zu bringen, bedeutet dies eindeutig nicht IFF, sondern IF. Also haben wir ...
(Eine Lampe leuchtet auf) IF (e? f).
Die IF noch hat nicht geklärt, ob das so ist? sollte UND oder ODER oder sogar etwas anderes sein. Englisch ist nicht präzise genug. Es könnte beides bedeuten.
Lassen Sie uns das 'einzige' wieder einsetzen, um zu sehen, ob es hilfreich ist, zu qualifizieren, ob es sich um UND oder ODER handelt.
Eine Lampe leuchtet NUR, wenn BEIDES Folgendes passiert: e? f
Eine Lampe leuchtet NUR, wenn entweder Folgendes passiert: e? f
Als englischer Muttersprachler klingt der erste vernünftig, wenn auch ungewöhnlich, aber der zweite klingt wirklich seltsam.Wenn Englisch nicht meine Muttersprache wäre, könnte ich nicht zu diesem Schluss kommen.
Dies kann eine Frage sein, mit der getestet werden soll, ob Sie solche Unklarheiten erkennen und sagen können, dass die Frage unterbestimmt ist.
Wenn ich jedoch eine Prüfung ablegen würde und der Meinung wäre, dass es nur eine richtige Antwort gibt, würde ich mich für AND entscheiden, das ist meine beste Lektüre des Englischen.
Wenn ich ein Produkt aus der Spezifikation eines Kunden implementieren würde, würde ich zu ihm zurückkehren und ihn fragen, ob er das wirklich meinte.