lagerhalle1 ! = lagerhalle2
*lagerhalle1
{ alle Teelöffel }
*lagerhalle2
{
alles (avoids(alle Teelöffel));
}
Hmm. Lagerhalle 2 würde Lagerhalle 1 beinhalten, kann dies auch als ein container, aber nicht wenn der Inhalt von Lagerhalle1 auch für Lagerhalle2 gelten würde. Das heisst, Lagerhalle 2 kann nicht Lagerhall1 enthalten, solange dies hier gilt:
lagerhalle1 ! = lagerhalle2
Zudem dürfte sie sich nicht selber als >Inhalt< beinhalten, ansonsten hätte man eine endlos Schleife. Nun, das mag vielleicht nicht einen Fehler produzieren, aber lagerhalle1 kann dennoch nicht drin sein da dies ja zu einer falschen Definition führen würde. (In der Angabe)
Da aber Lagerhalle1 nicht drinnen sein kann, kann diese Aufgabe nicht gelöst werden.
Damit sie richtig wäre, müsste dies hier gelten (also "avoids"):
lagerhalle2 ! = lagerhalle1;
lagerhalle2 ! = IN_ARRAY (alle teelöffel);
lagerhalle2 ! = IN_ARRAY (lagerhalle1);
"eine lagerhalle, in der alles, was kein teelöffel ist, drin ist, ist kein teelöffel, also muss sie auch selbst in sich drin sein. mit allem drum und dran und drin."
Geht ja nit da diese Definition nicht erfüllt werden kann. Alles ausser Teelöffel sind drinnen, also auch sie selbst --> Dann ist das eine unendliche Schleife weil sie immer wieder lagerhalle2 enthält. Es gäbe also auch keine "start" lagerhalle2 sondern objekte die sich selbst beinhalten. Das geht aber nicht. Man hat hier praktisch eine Schleife, egal ob programmcode oder logik, die niemals beginnt und niemals aufhört.
Ziemlich unnütz sowas. Aber sie hat ja eben NICHT alles, weil sie keine Teelöffel beinhalten darf! Also nicht erfüllbar
"der lagerraum enthält sich selbst und das geht nicht."
Kommt ja auf die Definition an. Es ist möglich aber dann gibt es eben unendlich viele Lagerräume, und alles - nur keine Teelöffel (und auch nicht Lagerhalle1).
Damit wird aber wiederum die Angabe "alles beinhaltet" ungültig!
Somit - FEHLER.
Unter dieser Voraussetzung stimme ich zu das das nit geht.
"und wir tun sie in die superriesenlagerhalle."
Welche Voraussetzung gilt nun ?
Die Halle enthält alles ausser den Mitgliedern der anderen Lagerhalle?
Das geht nicht weil dies genau der selbe Fall wie oben ist.
Lagerhalle2 (die Supermegahalle) kann in der Definition nur sich selber aber nicht die anderen Hallen beinhalten - und etc... siehe oben
"enthält sich die superriesenlagerhalle selbst nicht," Definitionsfrage.
Ich nehme an du sagst diese Definition:
Lagerhalle enthält alles, ausser dieses "alles" befindet sich IN_ARRAY
bei einer der anderen Lagerhallen. Nehmen wir an, die anderen Lagerhallen enthalten ALLES.
Somit KANN Lagerhalle 2 NICHTS MEHR beinhalten, ansonsten wär die Definition ungültig.
Dann gäbe es eine Lagerhalle X, die Lagerhalle 2 beinhaltet.
Das wäre dann möglich.
"die superriesenlagerhalle enthält sich selbst
(was eigentlich schon wieder ein paradoxon wäre, aber wir ignorieren das
mal), dann sollte sie aber schleunigst da wieder raus,
denn in der superriesenlagerhalle dürfen nur lagerhallen sein, die sich selbst nicht
beinhalten. also, isse drin, musse raus."
Geht nicht ausser du verletzt die Definitionen.