Aussagenlogik, Allquantor, Existenzquantor und abstrakte Axiome

Es gibt 32 Antworten in diesem Thema. Der letzte Beitrag () ist von Trade.

    ~blaze~ schrieb:

    ich würde einen anderen Ansatz wählen beim lernen, aber du solltest natürlich dem folgen, was dir am leichtesten fällt
    Das Problem ist, dass ich noch keinen wirklichen habe, um zu sagen, dass es mir leichter oder schwerer fällt.

    ~blaze~ schrieb:

    $\bigwedge^n_{i = 1}{E(s_i)}$
    Ich wusste gar nicht, dass man Und bzw. Oder auch wie Summenformeln schreiben darf. :) Aber ja, das macht natürlich Sinn. Habe ich soweit auch verstanden.
    Könnte das theoretisch heißen, dass ein Existenzquantor auch für alle Elemente gelten kann? Schon, oder? Ist zwar schwierig, da für richtung Unendlichkeit eine Aussage zu machen, aber rein von der Überlegung ehr.

    ~blaze~ schrieb:

    $A \rightarrow B \equiv \neg A \vee B$
    Das hat mir gestern RushDen schon erklärt, dass man die Implikation auch mit "oder" definieren kann. :) Soweit auch verstanden. Was bedeutet eigentlich die drei horizontalen Striche? Ist das einfach Äquivalenz?

    ~blaze~ schrieb:

    Für Und und Oder ist ja der De-Morgan gegeben
    Okay. Diese Umformungen machen Sinn. De Morgan haben wir allerdings noch nicht behandelt. Daher kenne ich das noch nicht.

    ~blaze~ schrieb:

    Eine Zahl ist gerade, wenn es ein m gibt, sodass m = 2n
    OK. Müsste dann aber eher n = 2m sein, oder? ;)

    ~blaze~ schrieb:

    warum nicht 2m - 1, sondern 2m + 1?
    Gute Frage. Eventuell, weil beim Einsetzen von 0 die erste ungerade Zahl rauskommen soll, die 1 ist? Weil sonst wäre es ja -1. Allerdings ist bei 2*0 (für gerade) das 0. Daher weiß ich es nicht. :D

    ~blaze~ schrieb:

    $\neg \forall s \in S . E(S) \equiv \neg \exists s \in S . \neg E(S)$
    OK. Aber warum dann "es existiert kein"? Wäre die Umkehrung (ist Umkehrung eig. dasselbe Negation?) von "nicht für alle" nicht "für mindestens eins nicht"? Also eher
    $\exists s \in S : \neg E(s)$
    statt
    $\nexists s \in S : \neg E(s)$
    ? Oder sehe ich da was falsch? Du siehst, die Negation von Quantoren macht mir noch etwas Probleme. Und warum schreibst Du "." statt ":" für das "gilt"? Ist das so ein Glaubenskrieg?

    ~blaze~ schrieb:

    Gewöhne dich auf jeden Fall daran, dass dir nichts mehr vorgekaut wird. In der Universität heißt das sehr oft, dass man die Dinge selbst verstehen muss.
    OK, verstehe. Gut, daran werde ich mich also gewöhnen müssen, dann selber aktiv zu werden.

    ~blaze~ schrieb:

    Was dasteht, heißt, dass wenn f(x) und f(x') den gleichen Wert zurückgeben, muss auch x gleich x' sein
    Ahhhh. Stimmt, das ist ja eine Implikation. Weil wenn die Annahme dabei wahr wäre und die Folgerung aber falsch (da x und x' verschieden) wäre die Implikation falsch und somit das ganze nicht injektiv. Ich hatte das irgendwie komplett missverstanden. Vielen Dank, jetzt macht das Sinn. :)

    ~blaze~ schrieb:

    Was jetzt dortsteht, ist, dass wenn x und x' unterschiedlich sind, dass auch die zugehörigen f(x) und f'(x) unterschiedlich sein müssen, da sie ja nicht beide den gleichen Wert haben dürfen
    Okay, also auch wieder Implikation. Nur halt in die andere Richtung.

    RushDen schrieb:

    ob ihr die beiden hattet kA sind aber vom Prinzip das gleiche, nur dass diese Voraussetzung für jede vollständig definierte Funktion sind
    Jo. Habe das jetzt auch verstanden, danke.

    RushDen schrieb:

    Die zweite Aussage ist eben die Kontraposition
    Jo. Ich hatte irgendwie übersehen, dass da ja eine Implikation vorhanden ist (bin wohl das "wenn ..., dann..." noch nicht so automatisiert gewohnt). Dann ist diese Umkehrung natürlich die Kontraposition. :) Problem war halt, dass ich auch die erste Aussage nicht wirklich verstanden hatte.

    Danke auf jeden Fall für die Hilfe! Das hat mich nun etwas weiter gebracht.
    @Niko Ortner Danke auch Dir für die Mühe. War bestimmt nicht wenig Arbeit. :D Aber ja, so kann man sich das gut vorstellen.
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Trade“ ()

    Trade schrieb:

    Könnte das theoretisch heißen, dass ein Existenzquantor auch für alle Elemente gelten kann? Schon, oder? Ist zwar schwierig, da für richtung Unendlichkeit eine Aussage zu machen, aber rein von der Überlegung ehr.


    Ja. Es muss mindestens ein Element geben, auf das der Ausdruck zutrifft. Beim Oder übrigens: Wahrer als wahr wird es nicht, wenn der linke Teil des Oders bereits true zurückgeliefert hat, ist der Ausdruck stets true.
    In der Mathematik betrachtet man sowas wie Laufzeit bei solchen Konstrukten nicht. Für unendliche Mengen kann man einige Probleme ebenfalls lösen.

    Trade schrieb:

    Was bedeutet eigentlich die drei horizontalen Striche? Ist das einfach Äquivalenz?

    Korrigiert mich, wenn ich falsch liege, das wurde uns damals nicht richtig erklärt. Das = wäre logische Äquivalenz, d.h. der linke Ausdruck liefert, salopp gesagt, das gleiche Ergebnis wie der rechte. Beim
    $\equiv$
    handelt es sich um ein-und-den-gleichen Ausdruck (mit allen gleichen Belegungen, usw.), der verändert wurde. Z.B.
    $a \vee b = t$
    , wenn a = t, aber nicht
    $a \vee b \not\equiv t$
    , da der rechte Ausdruck nicht mehr dem linken übereinstimmt. Ich hoffe, dass ich es richtig "weiß". ich habe es bisher noch nicht wirklich gebraucht bzw. es wurde seitdem an keiner Stelle angekreidet (aber ich hatte schon lange vor, das mal nachzuschlagen).

    Trade schrieb:

    OK. Müsste dann aber eher n = 2m sein, oder?


    Gut aufgepasst. Ich hatte vor, es umzustellen und dabei vergessen, die 2 mitzunehmen.

    Trade schrieb:

    Weil sonst wäre es ja -1

    Genau. -1 wäre keine natürliche Zahl.

    Trade schrieb:

    OK. Aber warum dann "es existiert kein"?

    Einfach weil es intuitiver ist, schätze ich. Ob du jetzt "es gibt kein ... für das gilt, dass ..." oder "für alle ... gilt nicht, dass ..." sagst, ist ja eigentlich egal.

    Trade schrieb:

    Ist das so ein Glaubenskrieg?

    Ist nicht ganz einheitlich. Ich habe schon beides gesehen und auch beides geschrieben. In letzter Zeit hatte ich mehr mit dem . zu tun.

    Trade schrieb:

    Wäre die Umkehrung (ist Umkehrung eig. dasselbe Negation?) von "nicht für alle" nicht "für mindestens eins nicht"?

    Mit Negation meinte ich den Operator
    $\neg$
    . Unter "Umkehrung" kenne ich den Begriff nicht, aber ich schätze, du beziehst dich auf das Anwenden der Regeln für den Existenz- und den Allquantor. Insofern würde ich den Ausdruck innerhalb der Klammern verneinen. "Nicht für alle" und "für mindestens eins nicht" sind äquivalent.

    Viele Grüße
    ~blaze~

    ~blaze~ schrieb:

    Beim Oder übrigens: Wahrer als wahr wird es nicht, wenn der linke Teil des Oders bereits true zurückgeliefert hat, ist der Ausdruck stets true.
    Ja, macht Sinn. War nur eine rein hypothetische Überlegung. :D

    ~blaze~ schrieb:

    handelt es sich um ein-und-den-gleichen Ausdruck (mit allen gleichen Belegungen, usw.), der verändert wurde.
    Okay, danke. Wir nutzen halt bisher immer nur "<=>", daher kannte ich nichts anderes für Äquivalenz. Das ist schon etwas undurchsichtig, was man sich da alles merken muss. ^^

    ~blaze~ schrieb:

    Ich hatte vor, es umzustellen und dabei vergessen, die 2 mitzunehmen.
    Okay gut. War erst schon verwirrt. :D

    ~blaze~ schrieb:

    -1 wäre keine natürliche Zahl.
    Achso, das gilt nur für natürliche Zahlen. Wo genau ist das aber festgelegt?

    ~blaze~ schrieb:

    Ob du jetzt "es gibt kein ... für das gilt, dass ..." oder "für alle ... gilt nicht, dass ..." sagst, ist ja eigentlich egal.
    Okay, das macht Sinn. Das Problem ist, dass ich immer "nicht für alle gilt" mit "für alle gilt nicht" verwechsle. Das ist jedoch was komplett anderes.
    Aber warum ist dann die Aussage am Ende auch noch verneint? Damit meine ich
    $\neg \forall s \in S . E(S) \equiv \neg \exists s \in S . \neg E(S)$
    . Wenn es für alle nicht gilt, dann heißt das ja eben, dass keins existiert, für das das gilt. Aber das E(S) ist beim zweiten Teil trotzdem negiert. Dann müsste es doch entweder
    $\neg \forall s \in S . E(S) \equiv \neg \exists s \in S . E(S)$
    oder
    $\neg \forall s \in S . E(S) \equiv \exists s \in S . \neg E(S)$
    sein, oder? Wobei das zweite falsch wäre, da das impliziert, dass es auch welche geben könnte, bei denen das E(S) gilt. Kann jetzt auch sein, dass ich was durcheinander bringe.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    ~blaze~ schrieb:


    Worauf du achten solltest:

    $\neg \forall s \in S . E(S) \equiv \neg \exists s \in S . \neg E(S)$


    die Negation wird hineingezogen die fällt nicht einfach weg. Anschließend kann man dann teilweise De-Morgan anwenden. Es gibt natürlich noch mehr Regeln, die man anwenden kann (z.B. Verschachtelung hat gewisse Eigenschaften).


    Das ist falsch. Richtig ist

    $\neg (\forall s \in S . E(S)) \equiv \exists s \in S . \neg E(S)$


    (ohne Negation am Anfang). So, wie ich auch in einem vorigen Post bereits erläutert hatte. Es ergibt auch Sinn mit deiner eigenen Umschreibung mit UND und ODER

    $\neg (\forall s \in S . E(S)) \Leftrightarrow \neg (\bigwedge^{|S|}_{i=0} E(s_i) ) \Leftrightarrow \bigvee^{|S|}_{i=0} \neg E(s_i) \Leftrightarrow \exists s \in S . \neg E(S)$
    Soviel Ich weiß ist ≡ die semantische Äquivalenz
    jedoch = nicht die logische Äquivalenz (da verschiedenste Objekte miteinander in Relation gesetzt werden können, nicht nur logische Ausdrücke)

    weil z.B. x = 5 ist zwar eine Gleichung, aber bei einer logischen Äquivalenz müssen beide Parameter der Relation ja logische Ausdrücke sein (x und 5 sind aber je nach Definition nur Zahlen)

    Ist aber glaub Ich nicht ganz einheitlich definiert das "="

    Bei der "≡" Relation müssen zwei Aussagen (bzw. boolesche Terme) als Parameter übergeben werden. (bei "=" ist das nicht so, da können beliebige Objekte verglichen werden z.B. 2 Zahlen)
    Die Relation gibt genau dann wahr zurück, wenn die Aussagen unter jeder beliebigen Variablenbelegung V den gleichen Wahrheitswert besitzen.

    Also

    Sei V die Menge aller Permutationen über der Menge aller Variablen
    Seien A,B beliebige boolesche Terme aus der Menge aller booleschen Terme


    A ≡ B <=> df (Für alle v€V (A(v) = B(y))

    B(v)/A(v) beschreibt den Term A/B unter der Variablenbelegung v

    Das heisst man kann = immer benutzen wenn man ≡ benutzen kann,
    umgekehrt aber nicht (logisch sonst wären beide konstrukture äquivalent und man bräuchte eines von beiden nicht)


    Das ist soviel Ich weiß so, haben das auch nicht wirklich intensiv besprochen bzw. gebraucht gehabt, deshalb alle Angaben ohne Gewähr

    Quadsoft schrieb:

    Das ist falsch


    Du hast recht. Ist beim Kopieren des linken Ausdrucks passiert. Ist ja quasi nur der De-Morgan, wie du sagtest.

    @RushDen
    Ich bezog mich in diesem Fall auf die Boolsche Algebra. An sich ist = aber durch die Äquivalenzrelation definiert, die im Kontext gemeint ist.

    Viele Grüße
    ~blaze~
    Ah okay, dann lag ich wohl gar nicht soo falsch. Dann bedeutet das
    $\neg (\forall s \in S . E(S))$
    "nicht für alle gilt es" <=> "für mindestens eins gilt es nicht" (
    $\exists s \in S . \neg E(S)$
    ). Ich war wegen der Negation von dem
    $\exists$
    nämlich verwirrt. Das hätte ja keinen Sinn gemacht. Dann dachte ich, das bedeutet "für alle nicht", aber das wäre wieder was anderes (
    $\forall s \in S . \neg E(S)$
    ). Stimmt das soweit?

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Okay, danke. :) Ist doch kein Problem. Das zeigt mir, dass ich wohl doch ein wenig mit dieser Logik klarkomme, wenn auch noch nicht 100%ig. Nur beim Beweisen hapert es halt. Da weiß ich bisher noch gar nicht, was ich machen muss und komme nie wirklich weiter. Aber mal sehen, vielleicht wird das ja noch. Morgen lernen wir die vollständige Induktion, sodass wir da der ganzen Sache nochmal etwas näher kommen.
    Aber das, woran ich heute echt verzweifelt bin, hat sich jetzt geklärt. Das beruhigt mich jetzt schon mal. :)

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Die wurden nur mal kurz angesprochen, dann aber als nicht so toll abgestempelt und daher nicht weiter erwähnt. Daher kann ich da nichts zu sagen. :D Mal sehen, wie es weitergeht.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    Da ich diesen Thread gerade wieder gefunden habe, wollte ich mal meinen jetzigen Standpunkt dazu vermitteln.
    Ich bin nun im 2. Semester und habe das erste Semester mit Erfolg abgeschlossen. Mathe habe ich mit einer 1,0 bestanden, Diskrete Strukturen mit 2,3 wegen einem dummen Flüchtigkeitsfehler. :D

    Rückblickend kann ich sagen, dass diese anfänglichen Unklarheiten verschwinden, sobald man dann die richtigen Vorlesungen besucht und das ganze etwas auf sich wirken lässt. Dann merkt man relativ schnell, wie man gewisse Dinge zu verstehen hat und gewöhnt sich auch an die Abstraktion. Mit der Zeit kommt dann auch die Erfahrung, wie man gewisse Behauptungen beweist dazu und man wird da immer routinierter.
    Um meine Meinung zu dem Brückenkurs abzugeben: Das ist der größte Bullshit. Man nimmt vielleicht schon ein paar Sachen mit ins Semester, allerdings ist das so wenig, dass man sich das eigentlich schenken kann. Die richtigen Hintergründe erfährt man dann in der Vorlesung und versteht das ganze dann auch besser. Damals war ich mir ja unsicher, ob mein mangelndes Verständnis an mir lag. Heute kann ich sagen, dass es definitiv die Lehrveranstaltung und der Tutor war, der da kläglich versagt hat und einfach nichts rüberbringen konnte. Wie man sowas bei einer Veranstaltung, die für komplette Neulinge konzipiert ist, abziehen kann, ist mir schleierhaft. Da hätte man das gar nicht richtig verstehen können und es war auch viel zu viel des eigentlichen Stoffes schon. Da hätte es imho mehr Sinn gemacht, zu erklären, wie sich das dort gestaltet und wie man das am besten lernt. Einfach plump den Inhalt des Semesters in so kurzer Zeit durchzukauen, dass man sich nichts davon richtig merken bzw. verstehen kann, weil einfach das Anforderungsprofil noch unbekannt ist, halte ich für den größten Unsinn und heute würde ich da auch nicht mehr hingehen. Das hätte mir glaube ich viel erspart, da ich jeden Tag nur vollkommen deprimiert nach Hause gekommen bin und an mir gezweifelt habe. Ohne Frage muss man seine Frustrationsgrenze im 1. Semester hochschrauben, aber das war dabei eher noch kontraproduktiv und in der richtigen Vorlesung + Übung ist das dann anders. Trotz Startschwierigkeiten ging es dann immer besser und sobald man diesen Punkt erreicht hat, beginnt es auch Spaß zu machen.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!: