Дискретная математика: Учебное пособие. Часть I - Основания дискретной математики, страница 3

При задании порождающей процедуры после указания текущего элемента множества и знака “½“ указывают оператор присваивания “:=” текущему элементу множества значение  порядкового выражения.

Например, множество нечетных чисел можно задать порождающей процедурой на множестве целых чисел А={x| x:=(2n-1), где n=1, 2, 3,..}.

Если даны два множества A и B, то пару (x, y), где хÎA и yÎB, называют кортежем.

Множество всех пар (x, y) множеств A и B есть прямое произведение. Исполнение этой операции обозначают так: {(x, y) | хÎA, yÎB}=(AÄB), где “Ä” – символ прямого проитзведения.

Если A={a; b; c; d; e; f; g; h} и B={1; 2; 3; 4; 5; 6; 7; 8}, то прямое произведение формирует 8*8=64 упорядоченных пары {(a; 1); (a; 2);..(h; 7); (h; 8)}.

Это – описание шахматной доски, а при описании шахматной партии могут участвовать не все позиции шахматной доски. Поэтому любое множество упорядоченных пар (x, y) при описании шахматной партии есть подмножество прямого произведения, т.е. {(x, y)|xÎA, yÎB}Í (AÄB).

Прямым произведением нескольких множеств X1, X2,...,Xn называют множество всех упорядоченных последовательностей (x1, x2, ..xn), таких что x1ÎX1 x2ÎX2 ... xnÎXn, т.е. {(x1, x2,...xn)| x1ÎX1, x2ÎX2, ..., xnÎXn}=(X1ÄX2Ä...ÄXn).

Любое множество (x1,x2 ,...xn) есть подмножество прямого произведения, т.е. {(x1,x2 ,...xn)| x1ÎX1, x2ÎX2, ..., xnÎXn}Í (X1ÄX2Ä...ÄXn).

Если известны мощности множеств |X1|=m1, |X2|=m2,..|Xn|=mn, то мощность |(X1ÄX2Ä...ÄXn)|=m1*m2*...*mn.

          Если одно из множеств пусто, т.е. Xi=Æ, то (X1ÄX2Ä...ÄXiÄ...ÄXn)=Æ.

Следует обратить внимание, что ƹ{Æ}, но ÆÎ{Æ}.

Если X1=X2=...=X, то прямое произведение есть множество X в степени n, которое обозначают так: Xn.

Упорядоченную последовательность (x1, x2,..xn) также называют кортежем, а каждый его элемент - компонентой кортежа. Кортеж может содержать повторяющиеся компоненты, но нельзя нарушать заданный порядок компонент. Например, (x1, x1,..x1)¹(x1) и (x1, x2,..xn)¹(xn, x2,..x1).

Для обозначения кортежа используют круглые скобки, а для замещения его в тексте – символ t, т.е. t=(x1; x2;...xn).

Упорядоченные наборы элементов фиксированной длины называют совместимыми кортежами.

Кортеж может быть самостоятельным объектом либо элементом множества совместимых кортежей. Множество совместимых кортежей, имеющие одинаковые имена компонент и одинаковый порядок их  следования в кортеже удобно описывать таблицами.

Например, точку на чертежах описывают в декартовой системе координат так: (x; y; z), где x, y, z – координаты точки в трехмерном пространстве, в полярной системе координат так: (r, a, b), где r - радиус-вектор, a - угол наклона радиус-вектора к оси 0-x, а  b - угол наклона радиуса вектора к оси 0-y, дату в документах описывают так: (<число>”.”<месяц> ”.”<год>), где <число>::=<цифра><цифра>, <месяц>::=<цифра><цифра>,

<год>::= <цифра><цифра><цифра><цифра> и т.д.

Число компонент кортежа определяет его длину или ранг:

|(x1; x2;...xn)|=n.

Строка в языках программирования рассматривается как машинное представление кортежей. Для описания на языке pascal используют линейные списки:

type t=record

          element: data

          next:Ùt

end.

Другой специфической операцией, формирующий новый конструктивный объект на множествах, является прямая сумма. Она связывает индекс или имя множества и элементы избранного множества, т. е.

{(i, x)| 1£ i £ n, xÎXi}=X1ÅX2Å..ÅXn.

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

1.2 Соответствия и отображения