Обозначение построителя множеств
Множество всех четных целых чисел ,
выражается в обозначениях построителя множеств.
В теории множеств и ее приложениях к логике , математике и информатике нотация строителя множеств — это математическая нотация для описания множества путем перечисления его элементов или указания свойств, которым должны удовлетворять его члены. [1]
Определение наборов по свойствам также известно как понимание набора , абстракция набора набора или определение содержания .
Наборы, определенные перечислением
[ редактировать ]Множество можно описать непосредственно , перечислив все его элементы в фигурных скобках, как в следующих двух примерах:
- это набор, содержащий четыре числа 3, 7, 15 и 31, и ничего больше.
- это набор, содержащий a , b и c , и ничего больше (среди элементов набора нет порядка).
Иногда это называют «методом списка» для определения набора. [2]
Если необходимо обозначить набор, содержащий элементы регулярной последовательности, с многоточием можно использовать запись , как показано в следующих примерах:
- представляет собой набор целых чисел от 1 до 100 включительно.
- это набор натуральных чисел .
- представляет собой набор всех целых чисел.
Среди элементов множества нет порядка (это объясняет и подтверждает равенство последнего примера), но при использовании обозначения эллипсов мы используем упорядоченную последовательность до (или после) многоточия как удобный способ обозначения для объяснения того, какие элементы есть в комплекте. Показаны первые несколько элементов последовательности, затем многоточия указывают на то, что для продолжения последовательности следует применить простейшую интерпретацию. Если справа от эллипсов не появляется конечное значение, последовательность считается неограниченной.
В общем, обозначает множество всех натуральных чисел такой, что . Еще одно обозначение для это обозначение скобок . Тонкий частный случай , в котором равно пустому множеству . Сходным образом, обозначает множество всех для .
В каждом предыдущем примере каждый набор описывается путем перечисления его элементов. Не все множества можно описать таким образом, а если и можно, то их перечисление может быть слишком длинным или слишком сложным, чтобы быть полезным. Следовательно, многие множества определяются свойством, характеризующим их элементы. Эту характеристику можно дать неформально, используя общую прозу, как в следующем примере.
- адреса на Сосновой улице — это набор всех адресов на Пайн-стрит.
Однако прозаическому подходу может не хватать точности или быть двусмысленным. Таким образом, нотация построителя множества часто используется с предикатом, характеризующим элементы определяемого набора, как описано в следующем разделе.
Наборы, определенные предикатом
[ редактировать ]Нотация построителя множеств может использоваться для описания набора, который определяется предикатом , то есть логической формулой, которая дает значение true для элемента набора и false в противном случае. [3] В этой форме нотация построителя множеств состоит из трех частей: переменная, разделитель двоеточие или вертикальная черта и предикат. Таким образом, слева от разделителя находится переменная, а справа от него — правило. Эти три части заключены в фигурные скобки:
или
Вертикальная черта (или двоеточие) — это разделитель, который можно прочитать как « такой, что », «для которого» или «со свойством что». Формула Φ( x ) называется правилом или предикатом . Все значения x, для которых предикат выполняется (истинен), принадлежат определяемому множеству. Все значения x, для которых предикат не выполняется, не принадлежат множеству. Таким образом — это набор всех значений x , удовлетворяющих формуле Φ . [4] Это может быть пустое множество , если ни одно значение x не удовлетворяет формуле.
Указание домена
[ редактировать ]Домен E может появиться слева от вертикальной полосы: [5]
или присоединив его к предикату:
Символ ∈ здесь обозначает принадлежность к множеству , а символ Символ обозначает логический оператор «и», известный как логическое соединение . Это обозначение представляет набор всех значений x , принадлежащих некоторому заданному множеству E, для которого предикат истинен (см. « Аксиому существования множества » ниже). Если это союз , затем иногда пишется , используя запятую вместо символа .
В общем, не рекомендуется рассматривать множества без определения области дискурса , поскольку это будет представлять собой подмножество всех возможных вещей, которые могут существовать, для которых предикат истинен. Это легко может привести к противоречиям и парадоксам. Например, парадокс Рассела показывает, что выражение хотя на первый взгляд оно хорошо сформировано как выражение для построения множества, оно не может определить множество, не создавая противоречия. [6]
В случаях, когда набор E ясен из контекста, он может не указываться явно. В литературе часто автор заранее указывает предметную область, а затем не указывает ее в нотации построителя множества. Например, автор может сказать что-то вроде: «Если не указано иное, переменные следует считать натуральными числами», хотя в менее формальных контекстах, где можно предположить область определения, письменное упоминание часто не требуется.
Примеры
[ редактировать ]Следующие примеры иллюстрируют конкретные наборы, определенные нотацией построителя множеств через предикаты. В каждом случае домен указывается слева от вертикальной полосы, а правило — справа.
- — это набор всех строго положительных действительных чисел , которые можно записать в интервальных обозначениях как .
- это набор . Этот набор также можно определить как ; см . ниже, что эквивалентные предикаты дают равные наборы .
- Для каждого целого числа m мы можем определить . В качестве примера: и .
- — это набор пар действительных чисел таких, что y больше 0 и меньше f ( x ) для заданной функции f . Здесь декартово произведение обозначает множество упорядоченных пар действительных чисел.
- представляет собой совокупность всех четных натуральных чисел . Знак обозначает «и», что известно как логическое соединение . Знак ∃ означает «существует», что известно как экзистенциальная квантификация . Так, например, читается как «существует x такой, что P ( x ) ».
- представляет собой вариант обозначения того же набора четных натуральных чисел. — натуральное число, не обязательно Указывать, что n , поскольку это следует из формулы справа.
- – множество рациональных чисел ; то есть действительные числа, которые можно записать как отношение двух целых чисел .
Более сложные выражения в левой части обозначения
[ редактировать ]Расширение нотации set-builder заменяет одну x выражением переменную . Поэтому вместо , у нас может быть который следует прочитать
- .
Например:
- , где — множество всех натуральных чисел, — множество всех четных натуральных чисел.
- , где множество всех целых чисел, совокупность всех рациональных чисел.
- представляет собой набор нечетных целых чисел.
- создает набор пар, где каждая пара ставит целое число в соответствие с нечетным целым числом.
Когда обратные функции можно указать явно, выражение слева можно исключить простой заменой. Рассмотрим набор примеров . Сделайте замену , то есть , затем замените t в обозначениях построителя множеств, чтобы найти
Эквивалентные предикаты дают равные множества.
[ редактировать ]Два множества равны тогда и только тогда, когда они содержат одинаковые элементы. Множества, определенные нотацией построителя множеств, равны тогда и только тогда, когда их правила построителя множеств, включая спецификаторы домена, эквивалентны. То есть
тогда и только тогда, когда
- .
Следовательно, чтобы доказать равенство двух множеств, определенных нотацией построителя множеств, достаточно доказать эквивалентность их предикатов, включая квалификаторы предметной области.
Например,
потому что два предиката правила логически эквивалентны:
Эта эквивалентность имеет место, потому что для любого действительного числа x мы имеем тогда и только тогда, когда x — рациональное число с . В частности, оба множества равны множеству .
Установить аксиому существования
[ редактировать ]Во многих формальных теориях множеств, таких как теория множеств Цермело-Френкеля , обозначение строителя множеств не является частью формального синтаксиса теории. Вместо этого существует схема аксиом существования множества , которая утверждает, что если E — множество, а Φ( x ) — формула на языке теории множеств, то существует множество Y , членами которого являются в точности те элементы E , которые удовлетворяют Φ. :
Набор Y , полученный из этой аксиомы, является в точности тем набором, который описан в обозначениях построителя множеств как .
В языках программирования
[ редактировать ]Похожая нотация, доступная в ряде языков программирования (особенно в Python и Haskell ), представляет собой понимание списка , которое объединяет операции отображения и фильтрации над одним или несколькими списками .
Было предложено переместить части этой страницы в функцию List Comprehension . ( Обсудить ) ( Декабрь 2023 ) |
В Python фигурные скобки построителя множеств заменяются квадратными, круглыми или фигурными скобками, давая соответственно список, генератор и набор объектов. Python использует синтаксис на основе английского языка. Haskell заменяет фигурные скобки построителя множеств квадратными скобками и использует символы, включая стандартную вертикальную черту построителя множеств.
То же самое может быть достигнуто в Scala с использованием Sequence Comprehensions, где ключевое слово for возвращает список полученных переменных с использованием ключевого слова Yield. [7]
Рассмотрим эти примеры обозначений построителя множеств на некоторых языках программирования:
Пример 1 | Пример 2 | |
---|---|---|
Набор-конструктор | ||
Питон | {l for l in L}
|
{(k, x) for k in K for x in X if P(x)}
|
Хаскелл | [l | l <- ls]
|
[(k, x) | k <- ks, x <- xs, p x]
|
Скала | for (l <- L) yield l
|
for (k <- K; x <- X if P(x)) yield (k,x)
|
С# | 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)
|
Пролог | setof(L,member(L,Ls),Result)
|
setof((K,X),(member(K,Ks),member(X,Xs),call(P,X)),Result)
|
Эрланг | [l || l <- ls]
|
|
Юлия | [l for l ∈ L]
|
[(k, x) for k ∈ K for x ∈ X if P(x)]
|
Нотация построителя множеств и нотация понимания списка являются экземплярами более общей нотации, известной как понимание монады , которая позволяет выполнять операции, подобные карте/фильтру, над любой монадой с нулевым элементом .
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Розен, Кеннет (2007). Дискретная математика и ее приложения (6-е изд.). Нью-Йорк, штат Нью-Йорк: МакГроу-Хилл. стр. 111–112. ISBN 978-0-07-288008-3 .
- ^ Ричард Ауфманн, Вернон К. Баркер и Джоан Локвуд, 2007, Промежуточная алгебра с приложениями , Брукс Коул, стр. 6.
- ^ Майкл Дж. Каллинан, 2012, Переход к математике с доказательствами , Джонс и Бартлетт, стр. 44 и далее.
- ^ Вайсштейн, Эрик В. «Сет» . mathworld.wolfram.com . Проверено 20 августа 2020 г.
- ^ «Обозначение Set-Builder» . mathsisfun.com . Проверено 20 августа 2020 г.
- ^ Ирвин, Эндрю Дэвид; Дойч, Гарри (9 октября 2016 г.) [1995]. «Парадокс Рассела» . Стэнфордская энциклопедия философии . Проверено 6 августа 2017 г.
- ^ «Понимание последовательности» . Скала . Проверено 6 августа 2017 г.