Set-Builder-Notation: Doppelpunkt oder vertikale Linie

Ich erinnere mich, dass ich einmal beiläufig gehört habe, dass es in der Set-Builder-Notation einen Unterschied zwischen der Verwendung eines Doppelpunkts und einer vertikalen Linie gibt, z { X : X A } im Gegensatz zu { X X A } . Ich habe versucht, nach dem Unterschied zu suchen, bin aber leer ausgegangen.

Es scheint, dass einige Leute Semikolon verwenden .
@MartinSleziak Ja; In einer Zeitung, deren Redakteur ich war, wurden alle drei Schreibweisen verwendet. Das Papier hatte drei Autoren.;-)
Kein Unterschied, wie andere gesagt haben. Seien Sie einfach konsequent: Verwenden Sie in einer Arbeit oder einem Buch immer dasselbe.

Antworten (5)

Es gibt keinen Unterschied, von dem ich je gehört habe. Ich bevorzuge stark " | " Zu " : ", weil ich mich aber oft für Kartensets interessiere, und zB

{ F F : R C  mit  F ( 6 ) = 24 }
ist leichter zu lesen als
{ F : F : R C  mit  F ( 6 ) = 24 }
.

BEARBEITEN: Beachten Sie, dass, wie die Antwort von Mike Pierce zeigt, manchmal " : " ist klarer. Verwenden Sie am Ende des Tages die Schreibweise, die für Ihren Kontext am klarsten ist .

Außer vielleicht, wenn die Bedingungen absolute Werte erfordern …
@Bernard Sicherlich ist keines perfekt. (Ich beschäftige mich jedoch selten mit absoluten Werten.) Ich habe einen Punkt "." gesehen, der verwendet wurde, und ich mag ihn - aber ich habe ihn noch nie in einer Veröffentlichung gesehen, also würde ich ihn nicht verwenden .
Ah, Danke. Vielleicht habe ich nur logische Unterscheidung mit grammatikalischer Klarheit verwechselt.
Nehmen Sie als Beispiel, wo der Doppelpunkt vorzuziehen sein könnte, eine Menge, in der die Zugehörigkeit durch Teilbarkeitsbedingungen definiert ist: { D Z + : D | M D | N } .
{ F : R C : F ( 6 ) = 24 } ist auch lesbar - doppelter Doppelpunkt, aber kein doppeltes "f"
Oh, Junge – endlich eine legitime Entschuldigung für mich, diese herauszuziehen F { R C } oder F C R Notationen! (Zugegebenermaßen beinhaltet ersteres das Hinzufügen weiterer Klammern, aber aus irgendeinem Grund stört es mich nicht im geringsten, ich denke, weil die Verschachtelung so flach ist (edit: und weil der eingeschlossene Ausdruck winzig ist).)

Es gibt keinen Unterschied. Der Balken ist oft einfacher zu lesen als der Doppelpunkt (wie im Beispiel in Noah Schwebers Antwort). In der Analyse und Wahrscheinlichkeit wird der Balken jedoch in einer anderen Notation verwendet. In der Analyse wird es für den absoluten Wert (oder Abstand oder Normen) und in der Wahrscheinlichkeit in bedingten Aussagen (die Wahrscheinlichkeit von A gegeben B Ist P ( A B ) ). Betrachten wir also Bar versus Doppelpunkt in Sätzen mit diesen Notationen

{ X X | | X | | j 0 | | < ε } vs { X X : | | X | | j 0 | | < ε }
{ A X P ( B A ) > 0,42 } vs { A X : P ( B A ) > 0,42 }
Es kann besser sein, den Doppelpunkt zu verwenden , um eine Überlastung der Leiste zu vermeiden .

In solchen Fällen verwende ich verschiedene Größen des vertikalen Balkens, z
{ X X   |   | | X | | j 0 | | < ε } .
@dtldarek, ja, deins ist klar zu lesen (und ich denke, es sieht besser aus als mit einem Doppelpunkt). Mein einziges Problem ist, dass Sie, wenn Sie den Balken höher machen , dies nicht wirklich inline eingeben können, oder dass die Zeilenverteilung seltsam aussieht (wie das, was passiert, wenn Sie Summen oder Produkte mit sehen oder Inline eingegeben).

Es scheint, dass viele gute Antworten und Beispiele gegeben wurden, aber ich habe oben nicht erwähnt, dass unabhängig davon, welches Symbol Sie verwenden, im Set-Builder-Kontext beide laut als "so das" vorgelesen werden.

Was mein bevorzugtes Beispiel betrifft, ich arbeite oft in der Zahlentheorie, also verwende ich den Doppelpunkt, ":", um zu vermeiden, dass der Balken als "Teilung" fehlinterpretiert wird, oder aus ästhetischen Gründen, wenn ich den Strich auch verwenden werde, um Teilungen zu bedeuten in der Spezifikation des Sets.

Beides sind akzeptable Mittel und Praktiken innerhalb der Gemeinschaft. Die meisten Leute, die ich kenne, bevorzugen die Zeilenmethode, weil sie eine klare Trennung bietet und verwendet werden kann, wenn Sie Ihr Set auf mehreren Zeilen von Scratch-Arbeiten definieren.

Es gibt auch das Semikolon.
Und es gibt die alte Principia-Notation X ^ ( ϕ ) was nicht erlaubt, die zu dekorieren X , ist aber ansonsten so klar wie die Notation in ϕ . Oder wäre es, wenn es noch jemand erkennen würde.
Falls es überhaupt noch jemand erkannte
Mein Professor für Kalkül mit mehreren Variablen hat diese Notation letztes Jahr verwendet. Habe es aber noch nirgendwo anders gesehen :(

Ich habe kürzlich festgestellt, dass ich sie anders gelesen habe. Für mich |wirkt es eher wie ein "Filter" über einen größeren Satz, während :es eher wie ein "Generator" von einem kleineren Ausdruck wirkt.
Das ist aber nicht 100% genau. Normalerweise kann ich mich :auch wie ein Filter verhalten ... aber weniger damit, |mich wie ein Generator zu verhalten.

Für mich sieht das z.B. verwirrend aus :

T = max { T ich   |   F ich X ich = 0 }

während das für mich gut aussieht :

T = max { T ich : F ich X ich = 0 }

Das liegt daran, wenn ich lese T ich   |   Ich erwarte, dass die rechte Seite einige Einschränkungen für die möglichen Werte von enthält T ich , die ich ansonsten als alle vernünftigen Werte annehme (z. B. alle reellen Zahlen).
Aber wenn ich lese T ich : Ich erwarte, einen Ausdruck zu sehen, der mir sagt , wie ich die Menge von generieren soll T ich , und das muss nicht beinhalten T ich sich überhaupt.

Ich weiß nicht, ob das jeder so liest, aber für mich sind sie nicht immer austauschbar , obwohl sie es häufig sind.

Beide sehen da erschütternd aus T ich ist nicht einmal eine Variable in der RHS-Anweisung.
@AsafKaragila: Ach wirklich? Wie hättest du es geschrieben...?
Ich weiß nicht, was du zu schreiben versuchst, also kann ich es dir nicht genau sagen.
@AsafKaragila: Habe ich schon T 1 , , T N und ich habe F ich , , F N und ich habe X 1 , , X N (mit der offensichtlichen Übereinstimmung zwischen den Sequenzen basierend auf den Indizes). Ich versuche zu sagen "das max von allen T entspricht dem F 's, deren partielle Ableitungen in Bezug auf die entsprechenden X 's sind null". Wie würden Sie das sagen?
Vielleicht kannst du es aufteilen: S = { ich 1.. N : F ich X ich = 0 } , T = max ich S   T ich . Es sorgt dafür max wird auf traditionelle Weise verwendet. Aber wenn Sie hier schauen , sieht es so aus, als gäbe es ein paar verschiedene Notationen, die Sie je nach Domain verwenden könnten ...
Ich bin mir nicht sicher, ob ich verstehe, was Sie mit "Generator" meinen. Beide scheinen über die Domäne zu "filtern".