Nastavte notaci

—  Množina všech sudých čísel vyjádřená
pomocí zápisu množiny.

V teorii množin a jejích aplikacích v logice , matematice a informatice je formou množiny matematický zápis pro popis množiny výpisem jejích prvků nebo specifikováním vlastností, které musí prvky množiny splňovat [1] .

Množiny definované výčtem

Sadu lze popsat uvedením všech jejích prvků ve složených závorkách, jako v následujících příkladech:

Taková úloha se někdy nazývá „metoda výčtu“ pro konkrétní množinu [2] .

Pokud chcete zadat množinu obsahující pravidelnou sekvenci, lze použít elipsu , jak je znázorněno v následujících příkladech:

V množině není žádné řazení (to vysvětluje, proč je v posledním příkladu rovnost pravdivá), ale při použití elipsy se uspořádaná sekvence před (nebo za) elipsou používá jako pohodlný způsob, jak vysvětlit, které prvky patří do množiny. . Je zobrazeno několik prvních prvků sekvence a následující elipsa naznačuje, že pro pokračování sekvence by měla být použita nejjednodušší interpretace. Pokud napravo od elipsy není žádná hodnota, předpokládá se, že sekvence je nekonečná.

Znamená tedy množinu všech přirozených čísel tak, že . Další zápis pro množinu je zápis závorky . Malou výjimkou je případ , kdy je prázdná množina . Podobně označuje množinu všech pro .

V uvedených příkladech je každá sada popsána uvedením jejích prvků. Ne všechny množiny lze popsat tímto způsobem, nebo i když je lze takto popsat, výčet jejich prvků může být příliš dlouhý nebo příliš komplikovaný pro použití této metody. Z tohoto důvodu je mnoho množin definováno vlastnostmi, které charakterizují prvky množiny. Tuto charakteristiku lze podat neformálně pomocí prozaického jazyka, jako v následujícím příkladu.

Tento přístup však může vést ke ztrátě přesnosti nebo nejednoznačnosti. Seznam adres podél třídy Kosygin tedy může znamenat jak seznam domů, tak seznam bytů v těchto domech.

Definování množin predikáty

Predikáty lze použít k zápisu množiny spíše než k explicitnímu výčtu prvků [3] . Tato forma množinového zápisu má tři části: proměnnou, dvojtečku nebo svislou čáru jako oddělovač a booleovský predikát . V tomto případě je nalevo od oddělovače proměnná a napravo od ní pravidlo. Tyto tři části jsou uzavřeny ve složených závorkách:

nebo

Oddělovač lze číst " tak, že " [4] , "pro který" nebo "s vlastností". Vzorec Φ( x ) se nazývá pravidlo nebo predikát . Všechny hodnoty proměnné x , pro které je predikát pravdivý (tj. je pravdivý), patří do definované množiny. Všechny hodnoty x , u kterých predikát selže, do množiny nepatří. Je tedy množina všech hodnot x , pro které platí vzorec Φ [5] . Může to být prázdná množina , pokud žádná hodnota x nesplňuje vzorec.

Rozsah

Rozsah E se může objevit nalevo od svislého pruhu [6]  :

nebo může být kombinován s predikátem:

Symbol ∈ zde znamená příslušnost k množině , zatímco symbol znamená logický operátor „AND“, známý jako konjunkce . Tento zápis představuje množinu všech hodnot x , které patří do nějaké množiny E , pro kterou je predikát vyhodnocen jako true , tedy true (viz odstavec „ Axiom existence “ níže). Jestliže je spojka , pak se tvar někdy zapisuje jako , místo čárky se používá čárka .

Obecně je nesprávné uvažovat množinu bez definování rozsahu, protože doména může představovat podmnožinu všech možných objektů, které mohou existovat a pro které je predikát pravdivý. To může snadno vést k rozporu a paradoxu. Například Russellův paradox ukazuje, že výraz , ačkoli vypadá jako dobře vytvořený výraz pro definování množiny, nemůže množinu definovat, aniž by dostal rozpor [7] .

V případech, kdy je množina E jasně definována z kontextu, lze ji vynechat. V literatuře je zvykem, že autor předem uvádí definiční obor a při definování množin se pak obor neuvádí. Například autor může napsat něco jako: "Pokud není uvedeno jinak, proměnné patří k přirozeným číslům."

Příklady

Následující příklady ilustrují konkrétní množiny definované predikáty. V každém případě je rozsah nalevo od svislého pruhu, zatímco pravidlo je napravo od něj.

Složitější výrazy na levé straně

Rozšíření setu nahradí jedinou proměnnou x výrazem . Takže místo toho můžeme mít , což lze číst jako

.

Například:

Pokud lze inverzní funkce explicitně specifikovat, lze výraz nalevo eliminovat jednoduchou substitucí. Vezměme si jako příklad sadu . Provedeme substituci , odkud dostaneme , pak nahradíme t ve formě množinového zápisu

Ekvivalentní predikáty definují stejné množiny

Dvě množiny jsou si rovny právě tehdy, když mají stejné prvky. Množiny definované množinovým zápisem jsou si rovny právě tehdy, jsou-li si rovna jejich konstrukční pravidla, včetně označení definičního oboru. To znamená

tehdy a jen tehdy

.

K prokázání rovnosti dvou množin definovaných zápisem množiny tedy stačí dokázat ekvivalenci jejich predikátů včetně definic.

Například:

Protože tato dvě predikátová pravidla jsou logicky ekvivalentní:

Tato ekvivalence platí, protože pro jakékoli reálné číslo x máme právě tehdy, když x je racionální a . Zejména jsou obě množiny rovny množině .

Axiom existence množiny

V mnoha formálních teoriích množin, jako je Zermelo-Fraenkel systém , není zápis množiny součástí formální syntaxe teorie. Místo toho existuje axiomatické schéma pro existenci množiny , které říká, že pokud E je množina a Φ( x ) je formule teorie množin, pak existuje množina Y , jejíž členy jsou právě prvky E. které splňují podmínku Φ :

Množina Y získaná z tohoto axiomu je přesně ta množina popsaná ve formě zápisu množin .

Paralely v programovacích jazycích

Podobná notace dostupná v mnoha programovacích jazycích (zejména Python a Haskell ) je list enclosing který kombinuje operace s mapou a filtrem na jednom nebo více seznamech .

V Pythonu jsou závorky sady notace nahrazeny hranatými závorkami, závorkami nebo složenými závorkami, aby se definoval seznam, generátor a sada objektů. Python používá anglickou syntaxi. Haskell nahrazuje závorky sady hranatými závorkami a používá matematické symboly, včetně standardního znaku svislé čáry pro sady.

Totéž lze ve Scale dosáhnout pomocí Sequence Comprehensions, kde klíčové slovo „for“ vrací seznam proměnných získaný pomocí klíčového slova „yield“ [8] .

Zvažte následující přiřazení sady v některých programovacích jazycích:

Příklad 1 Příklad 2
Nastavte notaci
Krajta { l za l v L } {( k , x ) pro k v K pro x v X , pokud P ( x )}
Haskell [ l | l < -ls ] [( k , x ) | k <- ks , x <- xs , p x ]
Scala pro ( l < -L ) výtěžek l pro ( k <- K ; x <- X pokud P ( x )) výtěžek ( k , x )
C# z l v L vyberte l z k v K z x v X kde P ( x ) vyberte ( k , x )
SQL SELECT l FROM L_set SELECT k , x FROM K_set , X_set WHERE P ( x )

Souborový zápis a zahrnutí seznamu jsou speciální případy obecnějšího zápisu známého jako generátor monád . Tato notace umožňuje operace jako mapa/filtr na libovolné nulové C monadě .


Poznámky

  1. Rosen, 2007 , str. 111–112.
  2. Aufmann, Barker, Lockwood, 2007 , str. 6.
  3. Cullinan, 2012 , str. 44ff.
  4. ↑ Úplný seznam symbolů teorie množin  . Matematický trezor (11. dubna 2020). Získáno 20. srpna 2020. Archivováno z originálu dne 18. srpna 2020.
  5. Weisstein, Eric W. Set  . mathworld.wolfram.com . Získáno 20. srpna 2020. Archivováno z originálu dne 7. října 2020.
  6. Set-Builder Notation . mathsisfun.com . Získáno 20. srpna 2020. Archivováno z originálu dne 21. října 2020.
  7. Irvine, Deutsch, 2016 .
  8. Pochopení sekvencí . Scala. Získáno 6. srpna 2017. Archivováno z originálu dne 18. dubna 2021.

Literatura