выраженное в обозначениях множеств.
В теории множеств и его приложениях к логике, математике и информатике форма записи множества — это математические обозначения для описания множества путём перечисления его элементов[англ.] или указания свойств, которым элементы множества должны удовлетворять[1].
Множества, задаваемые перечислением
правитьМножество можно описать путём перечисления всех его элементов внутри фигурных скобок, как в следующих примерах:
- — это множество, содержащее четыре числа: 3, 7, 15 и 31 и ничего более.
- — это множество, содержащее a, b и c и ничего более (порядок элементов в множестве не рассматривается, только их присутствие).
Такое задание иногда называется «методом перечисления» для конкретного множества[2].
Если хотят указать множество, содержащее регулярную последовательность, может быть использовано многоточие, как показано в следующих примерах:
- — это множество целых чисел между 1 и 100 включительно.
- — это множество всех натуральных чисел.
- — это множество всех целых чисел.
В множестве нет упорядочения (это объясняет верность равенства в последнем примере), но при использовании многоточия используется упорядоченная последовательность до (или после) многоточия, как удобный способ объяснения, какие элементы принадлежат множеству. Показывается несколько первых элементов последовательности, а последующее многоточие предполагает, что нужно применить самую простую интерпретацию для продолжения последовательности. Если справа от многоточия нет значения, предполагается, что последовательность бесконечна.
Так, означает множество всех натуральных чисел , таких что . Другим обозначением для множества является скобочное обозначение . Небольшим исключением является случай , в котором является пустым множеством . Аналогично, обозначает множество всех для .
В приведённых примерах каждое множество описывается перечислением его элементов. Не все множества можно описать таким образом, или, даже если и можно так описать, перечисление их элементов может быть слишком длинным или слишком сложным, чтобы использовать данный метод. По этой причине многие множества определяются свойствами, которые характеризуют элементы множества. Эта характеризация может быть задана неформально используя прозаичный язык, как в следующем примере.
- номера домов по проспекту Косыгина — это множество всех номеров домов по проспекту Косыгина.
Однако такой подход может привести к потере точности или двусмысленности. Так, список адресов по проспекту Косыгина может означать как список домов, так и список квартир в этих домах.
Определение множеств предикатами
правитьДля записи множества могут использоваться предикаты, а не явное перечисление элементов[3]. В этой форме записи множества имеется три части: переменная, двоеточие или вертикальная черта в качестве разделителя и логический предикат. В этом случае есть переменная слева от разделителя и правило справа от него. Эти три части заключаются в фигурные скобки:
или
Разделитель можно читать «такое что»[4], «для которого», или «со свойством». Формула Φ(x) называется правилом или предикатом. Все значения переменной x, для которых выполняется предикат (то есть, он верен) принадлежат определяемому множеству. Все значения x, для которых предикат не выполняется, множеству не принадлежат. Таким образом, — это множество всех значений x, для которых верна формула Φ[5]. Это может быть пустое множество, если никакое значение x не удовлетворяет формуле.
Задание области определения
правитьОбласть определения E может появиться слева от вертикальной черты[6] :
или она может быть объединена с предикатом:
Символ ∈ означает здесь принадлежность множеству[англ.], в то время как символ означает логический оператор «И», известный как конъюнкция. Это обозначение представляет множество всех значений x, принадлежащих некоторому множеству E, для которых предикат принимает значение true, то есть истина (см. параграф «Аксиома существования» ниже). Если является конъюнкцией , то форма иногда записывается в виде , используя запятую вместо .
В общем случае некорректно рассматривать множество без определения области определения, поскольку область определения может представлять подмножество всех возможных объектов, которые могут существовать, для которых предикат верен. Это может легко привести к противоречию и парадоксу. Например, парадокс Рассела показывает, что выражение , хотя и выглядит правильно составленным как выражение для определения множества, не может определить множество без получения противоречия[7].
В случаях, когда множество E ясно определяется из контекста, его можно не задавать. В литературе принято, чтобы автор заранее указал область определения, а потом область при определении множеств не указывается. Например, автор может написать нечто вроде: «Если не указано противное, переменные принадлежат натуральным числам.»
Примеры
правитьСледующие примеры иллюстрируют конкретные множества, определённые предикатами. В каждом случае область определения указана слева от вертикальной черты, в то время как правило находится справа от неё.
- — это множество всех строго положительных вещественных чисел, что можно записать в интервальных обозначениях как .
- — это множество . Это множество можно определить также, как ; см. параграф «эквивалентные предикаты задают равные множества» ниже.
- Для каждого целого m мы можем определить . В качестве примеров: и .
- — это множество пар вещественных чисел, таких что y больше 0 и меньше f(x) для заданной функции f. Здесь декартово произведение означает множество всех упорядоченных пар вещественных чисел.
- — это множество всех чётных натуральных чисел. Знак стоит для обозначения операции «И», которая известна как конъюнкция. Знак ∃ обозначает «существует», который известен как квантор существования. Так, например, читается как «существует x, такое что P(x) …".
- — это другой вариант записи того же самого множества чётных натуральных чисел. Нет необходимости требовать, чтобы n был натуральным числом, поскольку это следует из формулы в правой части.
- — это множество рациональных чисел, то есть это вещественные числа, которые можно записать как частное двух целых чисел.
Более сложные выражения в левой части
правитьРасширение формы записи множеств заменяет единственную переменную x выражением. Таким образом вместо мы можем иметь , что можно читать как
- .
Например:
- , где — множество всех натуральных чисел — это множество всех чётных натуральных чисел.
- , где — множество всех целых чисел — это ℚ, множество всех рациональных чисел.
- — это множество нечётных целых.
- создаёт множество пар, где каждая пара состоит из целого и соответствующего ему нечётного числа.
Если обратные функции можно явно указать, выражение слева может быть исключено посредством простой подстановки. Рассмотрим в качестве примера множество . Сделаем подстановку , откуда получаем , затем заменим t в форме записи множества
Эквивалентные предикаты задают равные множества
правитьДва множества равны тогда и только тогда, когда они имеют те же элементы. Множества, определённые формой записи множества равны тогда и только тогда, когда равны их правила построения, включая указание области определения. То есть
тогда и только тогда, когда
- .
Поэтому, чтобы доказать равенство двух множеств, определённых формой записи множества, достаточно доказать эквивалентность их предикатов, включая области определения.
Например:
Поскольку два предиката-правила логически эквивалентны:
Эта эквивалентность имеет место, поскольку для любого вещественного числа x мы имеем тогда и только тогда, когда x рационально и . В частности, оба множества равны множеству .
Аксиома существования множества
правитьВо многих формальных теориях множеств, таких как система Цермело — Френкеля, форма записи множества не является частью формального синтаксиса теории. Вместо этого имеется аксиоматическая схема существования множества[англ.], которая утверждает, что если E – множество, а Φ(x) – формула из языка теории множеств, то существует множество Y, членами которого являются в точности элементы E, удовлетворяющие условию Φ:
Множество Y, полученное из данной аксиомы есть в точности множество, описанное в форме записи множества .
Параллели в языках программирования
правитьАналогичная нотация, доступная во многих языках программирования (особенно Python и Haskell) — это списковое включение, которое комбинирует операции map и фильтр[англ.] над одним и более списком.
На языке Python скобки записи множества заменяются на квадратные скобки, круглые или фигурные скобки, для определения списка, генератора и набора объектов соответственно. Python использует синтакс английского языка. Haskell заменяет скобки записи множества квадратными скобками и использует математические символы, включая стандартную для записи множества вертикальную черту.
То же самое можно получить в Scala с помощью Sequence Comprehensions, где ключевое слово «for» возвращает список переменных, полученных с помощью ключевого слова «yield»[8].
Рассмотрим следующие задания множеств в некоторых языках программирования:
Пример 1 | Пример 2 | |
---|---|---|
Форма записи множества | ||
Python | [l for l in L]
|
[(k, x) for k in K for x in X if P(x)]
|
Haskell | [l | l <- ls]
|
[(k, x) | k <- ks, x <- xs, p x]
|
Scala | for (l <- L) yield l
|
for (k <- K; x <- X if P(x)) yield (k,x)
|
C# | from l in L select l
|
from k in K from x in X where P(x) select (k,x)
|
SQL | SELECT l FROM L_set
|
SELECT k, x FROM K_set, X_set WHERE P(x)
|
Форма записи множества и списковое включение являются частными случаями более общей нотации, известной как генератор монад. Эта нотация позволяет операции, подобные map/filter над любой монадой С с нулевым элементом.
Примечания
править- ↑ Rosen, 2007, с. 111–112.
- ↑ Aufmann, Barker, Lockwood, 2007, с. 6.
- ↑ Cullinan, 2012, с. 44ff.
- ↑ Comprehensive List of Set Theory Symbols (англ.). Math Vault (11 апреля 2020). Дата обращения: 20 августа 2020. Архивировано 18 августа 2020 года.
- ↑ Weisstein, Eric W. Set (англ.). mathworld.wolfram.com. Дата обращения: 20 августа 2020. Архивировано 7 октября 2020 года.
- ↑ Set-Builder Notation . mathsisfun.com. Дата обращения: 20 августа 2020. Архивировано 21 октября 2020 года.
- ↑ Irvine, Deutsch, 2016.
- ↑ Sequence Comprehensions . Scala. Дата обращения: 6 августа 2017. Архивировано 18 апреля 2021 года.
Литература
править- Kenneth Rosen. Discrete Mathematics and its Applications. — 6th. — New York, NY: McGraw-Hill, 2007. — С. 111–112. — ISBN 978-0-07-288008-3.
- Richard Aufmann, Vernon C. Barker, Joanne Lockwood. . — Brooks Cole, 2007. — С. 6..
- Michael J. Cullinan. A Transition to Mathematics with Proofs. — Jones & Bartlett, 2012. — С. 44ff.
- Andrew David Irvine, Harry Deutsch. Russell's Paradox // Stanford Encyclopedia of Philosophy. — 2016.