Множества и операции над множествами

Любой объемный учебник по математике начинается с довольно внушительного введения в базовую теорию множеств. Причина такого рвения строго определить абсолютно все состоит в том, что в математике на самом абстрактном уровне всё является множеством. Множество, функция, бинарное отношение, дерево, граф, топология, мера, даже натуральное число — всё это множество.

Я не буду строить абстрактную теорию. Цель этого материала не в этом. Но мне в любом случае придётся перечислить все основные понятия множеств, все операции над множествами, функции и остальные фундаментальные вещи. Не потому, что я буду строить абстрактную теорию. А потому что обозначения, понятия и инструменты, с которыми мы сейчас познакомимся, будут далее встречаться абсолютно везде. Вы не встретите ни одного абзаца (кроме, может, мотивирующих), где не будет прямых или косвенных упоминаний этого инструментария.

Множества

Начнём мы, как полагается, с определения множеств и операций над ними.

Множество и его элементы

Множество — это набор каких-то объектов, базовое неопределяемое понятие в математике. Множества состоят из элементов. Если xx является элементом множества SS, то пишут xSx\in S или SxS\ni x. Обратное этому утверждение, если элемент xx не является элементом множества SS, обозначают xSx\notin S или SxS\notni x.

xS=Sx   ⁣def   ⁣элемент x содержится в множестве SxS=Sx   ⁣def   ⁣элемент x не содержится в множестве S\begin{align*} x \in S = S \ni x &\defequiv \text{элемент}~ x ~\text{содержится в множестве}~ S \\ x \notin S = S \notni x &\defequiv \text{элемент}~ x ~\text{не содержится в множестве}~ S \end{align*}

Один из способов задать множество — просто перечислить все его элементы. Например, множество

X={1,2,{7,3},кастрюля}X = \big\{ 1, 2, \{7, 3\}, \text{кастрюля} \big\}

Обратите внимание: это множество состоит из 44 элементов: числа 11, числа 22, множества {7,3}\{7, 3\} и кастрюли. Обозначения коварны, путаться в них нельзя. Вот например страшное множество {{{{8}}}}\bigl\{ \bigl\{ \{\{8\}\} \bigr\} \bigr\} состоит из одного элемента, и это элемент не 88, а множество {{{8}}}\bigl\{ \{\{8\}\} \bigr\}. В общем, будьте внимательны.

Множество, не содержащее ни одного элемента, называется пустым и записывается как \nothing.

Подмножества

Подмножества

Множество AA называется подмножеством множества BB, если каждый элемент множества AA является элементом множества BB. Этот факт записывается как ABA\subset B.

AB   ⁣def   ⁣xAxBA \subset B \defequiv \forall\, x \in A \? x \in B

Например, {1,3,6}{1,2,3,4,5,6,7}\{ 1, 3, 6 \} \subset \{1, 2, 3, 4, 5, 6, 7\}. Также {четные числа}N\{\text{четные числа}\} \subset \NN.

Пустое множество является подмножеством любого множества. Иногда об это можно сильно споткнуться.

Подмножество AA множества BB можно задать, выделив свойство, которым обладают все его элементы

A={xB ⁣:x обладает свойством}A = \{x \in B \colon x ~\text{обладает свойством}\}

Например, в множестве N\NN я могу выделить подмножество всех квадратов {nN:aNa2=n}\{n \in \NN : \exists\, a \in \NN \? a^2 = n \}.

Совпадение всех элементов множеств AA и BB называется равенством и записывается A=BA = B.

ABBA    A=BA \subset B \land B \subset A \iff A = B

Пишут ABA \subsetneq B, если ABA \subset B и одновременно ABA \neq B, то есть AA строго внутри BB. Такое подмножество называется собственным. Если надо подчеркнуть, что множества могут быть равны, то пишут ABA \subseteq B.

Я буду везде, где это не принципиально, писать ABA\subset B. Но там, где это важно, например где суммирование идёт по всем подмножествам, или например где мы считаем количество подмножеств, обязательно нужно указывать, является ли подмножество собственным. Там, где это необходимо, я буду явно указывать, включается ли само множество.

Мощность множества

Мощность множества

Мощность множества SS — количество элементов в множестве SS. Обозначается S|S|.

Операции над множествами

Объединение и пересечение

Объединением множеств AA и BB называется множество AB   ⁣=def   ⁣{x:xAxB}A \union B \defeq \{ x : x \in A \lor x \in B \}

Пересечением множеств AA и BB называется множество AB   ⁣=def   ⁣{x:xAxB}A \sect B \defeq \{ x : x \in A \land x \in B \}

Обе эти операции являются ассоциативными и коммутативными, то есть

AB=BAи(AB)C=A(BC)AB=BAи(AB)C=A(BC)A \union B = B \union A \quad \text{и} \quad (A \union B) \union C = A \union (B \union C) \\[0.5em] A \sect B = B \sect A \quad \text{и} \quad (A \sect B) \sect C = A \sect (B \sect C)

Пересечение дистрибутивно по объединению и наоборот

A(BC)=(AB)(AC)иA(BC)=(AB)(AC)A \union (B \sect C) = (A \union B) \sect (A \union C) \quad \text{и} \quad A \sect (B \union C) = (A \sect B) \union (A \sect C)

Пересечение приоритетнее объединения, как умножение приоритетнее сложения. Но в длинных формулах лучше все-таки ставить скобки, глаз может неправильно воспринять порядок очень похожих друг на друга символов.

Разность

Разностью множеств AA и BB называется множество

AB   ⁣=def   ⁣{x:xAxB}A \without B \defeq \{x : x \in A \land x \notin B \}

В рамках какой-то модели или какой-то конкретной задачи можно определить множество, которое содержит вообще все возможные элементы. Это множество называется универсумом (universum) или универсальным множеством и обозначается U\UUU.

Имея универсум, мы можем для каждого множества XX определить множество элементов, которые не содержатся в множестве XX. Такое множество называется дополнением.

Дополнение

Дополнением множества XX до универсума U\UUU называется множество

X   ⁣=def   ⁣UX={x:xX}X^\complement \defeq \UUU \without X = \{ x : x \notin X \}

Законы де Моргана

Для любых множеств AA и BB

(AB)=ABи(AB)=AB(A \sect B)^\complement = A^\complement \union B^\complement \quad\text{и}\quad (A \union B)^\complement = A^\complement \sect B^\complement

Аналогично, для любого семейства множеств AjA_j при индексах jIj \in I

(j   ⁣   ⁣IAj)=j   ⁣   ⁣I(Aj)и(j   ⁣   ⁣IAj)=j   ⁣   ⁣I(Aj)\biggl( \bigsect_{j \;\! \in \;\! I} A_j \biggr)^\complement = \bigunion_{j \;\! \in \;\! I} (A_j)^\complement \quad\text{и}\quad \biggl( \bigunion_{j \;\! \in \;\! I} A_j \biggr)^\complement = \bigsect_{j \;\! \in \;\! I} (A_j)^\complement

Доказательство. Поскольку законы де Моргана в оригинале формулируются для логических высказываний, аналогичные утверждения для множеств удобно доказывать через логику.

x(j   ⁣   ⁣IAj)    xj   ⁣   ⁣IAj    jIxAj    jIxAj    jIx(Aj)    xj   ⁣   ⁣I(Aj)\align{ x \in \biggl( \bigunion_{j \;\! \in \;\! I} A_j \biggr)^\complement &\iff x \notin \bigunion_{j \;\! \in \;\! I} A_j \iff \nexists\, j \in I \? x \in A_j \iff \forall\, j \in I \? x \notin A_j \\ &\iff \forall\, j \in I \? x \in (A_j)^\complement \iff x \in \bigsect_{j \;\! \in \;\! I} (A_j)^\complement }

Аналогично доказывается и второй закон де Моргана.

Симметрическая разность

Симметрической разностью множеств AA и BB называется множество

AB   ⁣=def   ⁣{x:xAxBxAB}={x:xAxB}A \symdiff B \defeq \{ x : x \in A \land x \in B \land x \notin A \sect B \} = \{ x : x \in A \xor x \in B \}

Количество элементов в объединении множеств можно вычислить, зная количество элементов в каждом из этих множеств и количество элементов во всех возможных пересечениях этих множеств

Формула включений-исключений

Пусть A1,A2,,AnXA_1, A_2, \dotsc, A_n \subset X. Мощность объединения всех этих множеств можно вычислить по страшной формуле

i   ⁣=   ⁣1nAi=   ⁣   ⁣I{1,...,n}(1)I+1i   ⁣   ⁣IAi\left|\, \bigunion_{i \;\! = \;\! 1}^n A_i \,\right| = \sum\limits_{\nothing \;\! \neq \;\! I \subseteq \{1, ..., n\}} (-1)^{|I|+1} \cdot \left|\, \bigsect_{i \;\! \in \;\! I} A_i \,\right|

Более гуманный, но не менее страшный вариант

i   ⁣=   ⁣1nAi=k=1n(1)k+11   ⁣   ⁣i1<i2<<iknAi1Ai2Aik\left|\, \bigunion_{i \;\! = \;\! 1}^n A_i \,\right| = \sum\limits_{k=1}^n \, (-1)^{k+1} \cdot \sum\limits_{1 \;\! \le \;\! i_1 \lt i_2 \lt \dotsb \lt i_k \le n} |A_{i_1} \sect A_{i_2} \sect \dotsb \sect A_{i_k}|

Для двух множеств формула принимает очень даже милый вид AB=A+BAB|A \union B| = |A| + |B| - |A \sect B|

Да и для трех множеств тоже ничего

ABC=A+B+CABBCCA+ABC|A \union B \union C| = |A| + |B| + |C| - |A\sect B| - |B\sect C| - |C\sect A| + |A\sect B \sect C|

Доказать эту формулу можно посчитав количество вхождений элемента xj   ⁣=   ⁣1mAijx \in \bigsect_{j \;\! = \;\! 1}^m A_{i_j} в правую часть формулы.

k=(1)m+1(mm)+(1)m(mm1)++(1)2(m1)=(m0)i=0m(1)i(mi)=1k = (-1)^{m+1} \cdot \binom{m}{m} + (-1)^m \cdot \binom{m}{m-1} + \dotsb + (-1)^2 \cdot \binom{m}{1} = \binom{m}{0} - \sum\limits_{i=0}^m\, (-1)^i \cdot \binom{m}{i} = 1

Отображение

Пусть у нас есть два множества XX и YY. Обозначим за ff какое-то правило, по которому каждому элементу из множества XX ставится в соответствие какой-то один элемент множества YY. Это правило ff называется функцией или отображением (map). Записывается

f ⁣:XYилиXfYf \colon X \to Y \qquad \text{или} \qquad X \xrightarrow{f} Y

Множество XX называется областью определения функции ff, обозначается domf\dom f (domain).

Множество YY называется областью назначения функции ff, обозначается codomf\codom f (codomain).

Есть еще один, чуть более фундаментальный и запутанный подход к определению отображений. Если элементу xXx \in X ставится в соответствие элемент yYy \in Y, то будем интерпретировать это «соответствие» как пару (x,y)(x, y).

Тогда отображение f ⁣:XYf \colon X \to Y задается просто каким-то подмножеством fX×Yf \subset X \times Y. Это подмножество ff должно удовлетворять свойству функциональности. Для любого xXx \in X существует ровно один yYy \in Y такой, что (x,y)f(x, y) \in f.

Термин «область значений»

В русской литературе есть термин «область значений», значение которого сильно зависит от контекста. В каких-то случаях область значений ff значит codomf\codom f, а в каких-то imf\im f.

Во избежание путаницы я буду использовать английские термины codomain of the function и image of the function.

Кстати, название «область назначения» я выдумал сам.

График отображения

График отображения f ⁣:X×Yf \colon X \times Y — подмножество X×YX \times Y

graphf   ⁣=def   ⁣{(x,y)X×Y ⁣:y=f(x)}\graph f \defeq \big\{ (x, y) \in X \times Y \colon y = f(x) \big\}

Вот пример отображения {A,B,C}{1,2}\{\text{A}, \text{B}, \text{C}\} \to \{1, 2\} и его график {(A,1),(B,2),(C,1)}\big\{ (\text{A}, 1), (\text{B}, 2), (\text{C}, 1) \big\}

Пример отображения из множества {A, B, C} в множество {1, 2}

Образ множества

Образ множества AdomfA \subset \dom f при отображении ff — множество образов его элементов. Обозначается

f[A]   ⁣=def   ⁣{f(x)xA}f[A] \defeq \big\{ f(x) \enspace \forall\, x \in A \big\}

Например, если gg — отображение из предыдущего примера, то g[{A,C}]={1}g\big[\{\text{A}, \text{C}\}\big] = \{1\}.

Область значений отображения ff — образ области определения ff. Обозначается imf   ⁣=def   ⁣f[domf]\im f \defeq f\big[\dom f\big].

Композиция двух отображений f ⁣:XYf \colon X \to Y и g ⁣:YZg \colon Y \to Z — отображение gf ⁣:XZg \compose f \colon X \to Z, в котором xg(f(x))x \mapsto g\big(f(x)\big). Композиция отображений является ассоциативной операцией, то есть (fg)h=f(gh)(f \compose g) \compose h = f \compose (g \compose h).

Инъективное отображение

Отображение f ⁣:XYf \colon X \to Y называется инъективным или вложением, если разные элементы XX переходят в разные элементы YY. Формально, f(x)=f(y)x=yf(x) = f(y) \Rightarrow x = y, или x!=yf(x)=f(y)x != y \Rightarrow f(x) = f(y). Записывается

f ⁣:XYилиXfYf \colon X \injto Y \qquad \text{или} \qquad X \xinjto{f} Y

Сюръективное отображение

Отображение f ⁣:XYf \colon X \to Y называется сюръективным, если все элементы YY являются образами элементов XX. Формально, f[X]=Yf[X] = Y или Y=imfY = \im f. Записывается

f ⁣:XYилиXfYf \colon X \surjto Y \qquad \text{или} \qquad X \xsurjto{f} Y

Биективное отображение

Отображение f ⁣:XYf \colon X \to Y называется биективным, если оно одновременно и инъективно, и сюръективно. Такое отображение задает взаимно однозначное соответствие между множествами XX и YY. Записывается

f ⁣:XYилиXfYf \colon X \bijto Y \qquad \text{или} \qquad X \xbijto{f} Y

Композиция биекций также является биекцией.

Обратные отображения

Тождественное отображение IdX\Id_X множества XX — отображение, которое каждый элемент переводит в себя.

IdX ⁣:XX где xx\Id_X \colon X \to X ~\text{где}~ x \mapsto x

Обратное к отображению f ⁣:XYf \colon X \to Y — отображение f1 ⁣:YXf^-1 \colon Y \to X такое, что ff1=IdXf \compose f^-1 = \Id_X и f1f=IdYf^-1 \compose f = \Id_Y.

Отображение обратимо тогда и только тогда, когда оно является биекцией. На самом деле можно так же обратить и инъективное отображение, но нужно дополнительно изменить область определения обратного.