Алгебраические структуры

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

Пусть есть какое-то множество SS.

nn-арной операцией на множестве SS называется отображение

φ ⁣:SnS\varphi \colon S^n \to S

Если операция бинарная, то есть если φ ⁣:S×SS\varphi \colon S \times S \to S, то обычно φ(a,b)\varphi(a, b) записывают в инфиксной форме как aφba \,\varphi\, b.

Например, всем известная бинарная операция ++ на множестве R\RR.

С примерами известных тернарных операций посложнее. Но их всегда можно сконструировать. Возьмем, например, операцию R3R\RR^3 \to \RR, при которой (a,b,c)abc(a, b, c) \mapsto a \cdot b - c.

Всем программистам известна условная тернарная операция

a?b:c   ⁣=def   ⁣{b if a0c otherwise a \mathbin{?} b : c \defeq \cases{b & \if a \neq 0 \\ c & \otherwise}

На неявное приведение типа первого аргумента к логическому здесь стоит просто забить.

Алгебра

Множество SS вместе с набором операций Σ={φ1,φ2,,φk}\Sigma = \{\varphi_1, \varphi_2, \dotsc, \varphi_k\} называется алгеброй.

Здесь φi ⁣:SniS\varphi_i \colon S^{n_i} \to Snin_i-арная операция на множестве SS.

Множество SS называется основой или носителем алгебры, кортеж арностей (n1,n2,,nk)(n_1, n_2, \dotsc, n_k) называется типом алгебры, а множество операций Σ\Sigma называется сигнатурой алгебры.

Об обозначениях алгебр

Людям (мне в том числе) лень строго прописывать алгебру, явно указывая носитель и сигнатуру. Очень удобно обозначать носитель обычной заглавной буквой, а алгебру этой же буквой, но красивой.

Например, A\AAA — алгебра с носителем AA. Аналогично, фраза «алгебра AA» означает алгебру с носителем AA, а сигнатура этой алгебры ясна из контекста.

Запись aAa \in \AAA означает, что aAa \in A, то есть aa — элемент носителя алгебры A\AAA.

На носителе R\RR есть алгебра, сигнатура которой состоит из операций ++, -, ×\times, ÷\div, (a,b)ab(a, b) \mapsto a^b.

Другой пример. Выберем множество XX. На носителе 2X2^X можно задать алгебру, сигнатура которой состоит из операций \union, \sect, \symdiff, aXaa \mapsto X \without a. При этом последняя операция дополнения является унарной.

Свойства операций

Некоторые часто встречаемые свойства операций имеют специальные названия.

Нейтральные элементы

Пусть (A,Σ)(A, \Sigma) — алгебра и  ⁣:A×AA\circ \colon A \times A \to A — какая-то бинарная операция.

Левым нейтральным элементом называется элемент 1LA\1_L \in A такой, что для любого элемента aAa \in A выполнено

1La=a\1_L \circ a = a

Правым нейтральным элементом называется элемент 1RA\1_R \in A такой, что для любого элемента aAa \in A выполнено

a1R=aa \circ \1_R = a

Нейтральным элементом называется одновременно и правый, и левый нейтральный. То есть такой элемент 1A\1 \in A, что для любого элемента aAa \in A выполнено

1a=a1=a\1 \circ a = a \circ \1 = a

Для операции умножения на R\RR нейтральным является элемент 11, а для сложения 00. При возведении в степень есть правый нейтральный элемент 11, ведь a1=aa^1 = a, а левого нейтрального элемента нет.

Для коммутативных операций нет разницы между правым и левым нейтральным элементом.

Если для какой-то операции существует и правый, и левый элемент, то во-первых они совпадают, а во-вторых этот нейтральный элемент единственный.

Однако, если существуют только правые (или левые) нейтральные элементы, то их может быть сколько угодно.

Свойства бинарных операций

Пусть (A,Σ)(A, \Sigma) — алгебра. Пусть a,b,cAa, b, c \in A — любые элементы носителя алгебры.

Бинарная операция  ⁣:A×AA\circ \colon A \times A \to A может иметь следующие свойства

  • Ассоциативность: a(bc)=(ab)ca \circ (b \circ c) = (a \circ b) \circ c
  • Коммутативность: ab=baa \circ b = b \circ a
  • Идемпотентность: aa=aa \circ a = a

Две бинарные операции , ⁣:A×AA\circ, \diamond \colon A \times A \to A могут обладать следующими свойствами

  1. Дистрибутивность \diamond по \circ слева: a(bc)=(ab)(ac)a \diamond (b \circ c) = (a \diamond b) \circ (a \diamond c)
  2. Дистрибутивность \diamond по \circ справа: (bc)a=(ba)(ca)(b \circ c) \diamond a = (b \diamond a) \circ (c \diamond a)
  3. Дистрибутивность \diamond по \circ — выполняется и левая, и правая дистрибутивность.