Категория молекулярных реакций
Это мультрикатегория \(\mathbf{Mol}\), в которой все объекты — это молекулы, которые в рамках этой категории не имеют имен или каких-то обозначений. Это некие абстрактные молекулы, без имен, но все же для удобства мы будем их называть обычными именами, например \(\mathsf{H_2O}\). Позже, рассматривая функторы мы опишем имена молекул отдельной структурой. Поэтому сейчас можно сказать что-то на подобии этого:
$$ Ob(\mathbf{Mol}) = \{\mathsf{H_2O}, \mathsf{O_2}, \mathsf{NaOH}, \dots\} $$
Но стоит учитывать, что назвать молекулы вы можете как угодно, например буквами или фигурами, или ограничится самым абстрактным пониманием объекта. Но пока для удобства будем называть молекулы привычными именами.
Морфизмы
Морфизмы в этой категории — это обобщения для реакций, причем нас не интересует, сколько именно молекул участвуют в реакции и в какой именно реакции (сгорание, замещение, окисление). Мы концентрируемся только на том, из каких молекул вообще возможно получить какие и не важно каким образом. Возможно мы еще не открыли определенные реакции для получение неких молекул, но уже оперируем ими так, будто есть несколько способов получить из одних молекул другие (например реакцией из будущего или композицией существующих). Также как и в морфизмах \(\mathbf{Set}\), где один и тот же переход из одного множества в другое может быть описан бесконечно огромным количеством функций. За этими абстракциями (морфизмами) скрывается обычная химия с обычными уравнениями, которые имеют такой же смысл, как и функции в категории \(\mathbf{Set}\).
Давайте рассмотрим пару примеров:
1. Реакция горения метана (органическая реакция окисления):
Химическое уравнение:
$$ \mathsf{CH_3(g) + 2O_2(g) \rightarrow CO_2(g) + 2H_2O(g)} $$
Морфизмы:
$$ f_1 : (\mathsf{CH_3}, \mathsf{O_2}) \to \mathsf{CO_2} $$
$$ f_2 : (\mathsf{CH_3}, \mathsf{O_2}) \to \mathsf{H_2O} $$
Тип реакции: Окислительно-восстановительная (горение), экзотермическая.
Объяснение: Как видите, у этой реакции есть два морфизма. Это обусловлено тем, что у реакции есть два продукта. Для удобной композиции лучше завести два морфизма, чем один с двумя результатами. Также, как вы можете заметить, мы игнорируем количество молекул (вместо \(\mathsf{2H_2O}\) мы оперируем \(\mathsf{H_2O}\)). На данном уровне абстракции мы не думаем об этом. Мы оперируем морфизмами как фактами возможности реакции.
2. Реакция нейтрализации: гидроксид натрия + соляная кислота:
Химическое уравнение:
$$ \mathsf{NaOH(aq) + HCl(aq) \rightarrow NaCl(aq) + H_2O(l)} $$
Морфизмы:
$$ f_1 : (\mathsf{NaOH}, \mathsf{HCl}) \to \mathsf{NaCl} $$
$$ f_2 : (\mathsf{NaOH}, \mathsf{HCl}) \to \mathsf{H_2O} $$
Тип реакции: Обменная, нейтрализация, экзотермическая.
3. Реакция разложения пероксида водорода:
Химическое уравнение:
$$ \mathsf{2H_2O_2(aq) \rightarrow 2H_2O(l) + O_2(g)} $$
Морфизмы:
$$ f_1 : \mathsf{H_2O_2} \to \mathsf{H_2O} $$ $$ f_2 : \mathsf{H_2O_2} \to \mathsf{O_2} $$
Тип реакции: Разложение, окислительно-восстановительная.
4. Реакция замещения: цинк + соляная кислота:
Химическое уравнение:
$$ \mathsf{Zn(s) + 2HCl(aq) \rightarrow ZnCl_2(aq) + H_2(g)} $$
Морфизмы:
$$ f_1 : (\mathsf{Zn}, \mathsf{HCl}) \to \mathsf{ZnCl_2} $$
$$ f_2 : (\mathsf{Zn}, \mathsf{HCl}) \to \mathsf{H_2} $$
Тип реакции: Замещение, окислительно-восстановительная.
5. Термическое разложение карбоната кальция:
Химическое уравнение:
$$ \mathsf{CaCO_3(s) \xrightarrow{Δ} CaO(s) + CO_2(g)} $$
Морфизмы:
$$ f_1 : \mathsf{CaCO_3} \to \mathsf{CaO} $$
$$ f_2 : \mathsf{CaCO_3} \to \mathsf{CO_2} $$
Тип реакции: Разложение.
Тождественные морфизмы
Каждый объект имеет свой тождественный морфизм:
$$ \forall o \in \mathrm{Ob}(\mathbf{Mol}) \ : \ \mathrm{id}_o \in \mathrm{Hom}_{\mathbf{Mol}}(o, o) $$
Например:
$$ id_{H_2O} : H_2O \to H_2O $$
$$ id_{O_2} : O_2 \to O_2 $$ Чаще всего, это означает, что элемент просто покоится и ничего не происходит. Но иногда это может означать изменение агрегатного состояния, например:
$$ \mathsf{Br_{2(g)}} \to \mathsf{Br_{2(l)}} \to \mathsf{Br_{2(s)}} $$
Но поскольку мы абстрагируемся от количества молекул а также от хода реакции и концентрируемся только на участниках и факте реакции, мы игнорируем это, так как в ходе этой реакции мы все равно получим одну и ту же молекулу:
$$ id_{Br_2} : Br_2 \to Br_2 $$
Композиция
Пусть у нас есть морфизм:
$$ f : (A_1, A_2, ..., A_n) \to B $$
и для каждого \(A_i\) есть морфизмы:
$$ g_i : (B_{i1}, B_{i2}, ..., B_{im_i}) \to A_i $$
Тогда мы можем составить композицию:
$$ f \circ (g_1, ..., g_n) : (B_{11}, ..., B_{1m_1}, ..., B_{n1}, ..., B_{nm_n}) \to B $$
Например:
\(f: (A, B) \to C\)
\(g: (D, E) \to A\)
Тогда можно составить:
$$ f \circ (g, id_B) : (D, E) \to C $$
Вот еще один пример:
Давайте попробуем доказать такую реакцю:
$$ (\mathsf{CH_3}, \mathsf{O_2}) \to \mathsf{NaOH} $$
В теории, мы бы могли бы уже ей пользоваться так, будто она возможна, но давайте представим, что нам сейчас важно понять, из каких других реакций может состоять эта? Во первых, давайте найдем реакцию, которая дает \(\mathsf{NaOH}\)):
$$ \mathsf{Na_2O} + \mathsf{H_2O} \rightarrow \mathsf{2NaOH} $$
Отсюда можно сразу вывести морфизм:
$$ f : (\mathsf{Na_2O}, \ \mathsf{H_2O}) \to \mathsf{NaOH} $$
Теперь нам нужна реакция дающая воду. Для получения воды мы можем использовать эту реакцию:
$$ \mathsf{CH_3(g) + 2O_2(g) \rightarrow CO_2(g) + 2H_2O(g)} $$
Для этого нам всего нужно два элемента, поэтому отсюда можно вывести морфизм:
$$ g : (\mathsf{CH_3}, \mathsf{O_2}) \to \mathsf{H_2O} $$
Скорее всего, если вывести огромную компьютерную модель всевозможных реакций и композиций, нам даже не придется думать об реакциях, но для ясности, мы их будем рассматривать. И вот мы уже можем вывести композицию:
$$ f \circ (id_{\mathbf{Na_2O}}, \ g) : (\mathsf{CH_3}, \mathsf{O_2}) \to \mathsf{NaOH} $$
Давайте снова возьмем морфизм \(f\):
$$ f : (\mathsf{Na_2O}, \ \mathsf{H_2O}) \to \mathsf{NaOH} $$
И подумаем, а какие еще композиции можно вывести? По сути, это количество способов вывести \(\mathsf{H_2O}\) \(\times\) количество способов вывести \(\mathsf{Na_2O}\). Мы уже знаем пару способов вывести \(\mathsf{H_2O}\) из упомянутых выше реакций:
$$ g_1 : \mathsf{H_2O_2} \to \mathsf{H_2O} $$
$$ g_2 : (\mathsf{NaOH}, \ \mathsf{HCl}) \to \mathsf{H_2O} $$ $$ g_3 : (\mathsf{CH_3}, \ \mathsf{O_2}) \to \mathsf{H_2O} $$
Используя это мы можем выводить новые композиции:
$$ f \circ (id_{\mathbf{Na_2O}}, \ g_1) : \mathsf{H_2O_2} \to \mathsf{NaOH} $$
$$ f \circ (id_{\mathbf{Na_2O}}, \ g_2) : (\mathsf{NaOH}, \ \mathsf{HCl}) \to \mathsf{NaOH} $$
$$ f \circ (id_{\mathbf{Na_2O}}, \ g_3) : (\mathsf{CH_3}, \ \mathsf{O_2}) \to \mathsf{NaOH} $$
Теперь, давайте выведем несколько способов получения \(\mathsf{Na_2O}\):
$$ 4\mathsf{Na} + \mathsf{O_2} \rightarrow \mathsf{2Na_2O} $$ $$ \mathsf{2Na_2O_2} \xrightarrow{t} \mathsf{2Na_2O} + \mathsf{O_2} $$
А также переведем эти реакции в нужные нам морфизмы:
$$ h_1 : (\mathsf{Na}, \ \mathsf{O_2}) \to \mathsf{Na_2O} $$
$$ h_2 : \mathsf{Na_2O_2} \to \mathsf{Na_2O} $$
И сделать из них новую композицию:
$$ f \circ (h_1, \ g_1) : (\mathsf{Na}, \ \mathsf{O_2}, \ \mathsf{H_2O_2}) \to \mathsf{NaOH} $$
$$ f \circ (h_1, \ g_2) : (\mathsf{Na}, \ \mathsf{O_2}, \ \mathsf{NaOH}, \ \mathsf{HCl}) \to \mathsf{NaOH} $$
$$ f \circ (h_1, \ g_3) : (\mathsf{Na}, \ \mathsf{CH_3}, \ \mathsf{O_2}) \to \mathsf{NaOH} $$
$$ f \circ (h_2, \ g_1) : (\mathsf{Na_2O_2}, \ \mathsf{H_2O_2}) \to \mathsf{NaOH} $$
$$ f \circ (h_2, \ g_2) : (\mathsf{Na_2O_2}, \ \mathsf{NaOH}, \ \mathsf{HCl}) \to \mathsf{NaOH} $$
$$ f \circ (h_2, \ g_3) : (\mathsf{Na_2O_2}, \ \mathsf{CH_3}, \ \mathsf{O_2}) \to \mathsf{NaOH} $$
Давайте еще раз рассмотрим морфизмы \(h_1\) и \(h_2\):
$$ h_1 : (\mathsf{Na}, \ \mathsf{O_2}) \to \mathsf{Na_2O} $$
$$ h_2 : \mathsf{Na_2O_2} \to \mathsf{Na_2O} $$
Тут примечательно то, что из \(\mathsf{Na}\) и \(\mathsf{O_2}\) мы можем получить \(\mathsf{Na_2O_2}\) в ходе реакции:
$$ \mathsf{2Na + O_2} \to \mathsf{Na_2O_2} $$
Это значит, что существует морфизм:
$$ k: (\mathsf{Na}, \ \mathsf{O_2}) \to \mathsf{Na_2O_2} $$
А это значит, что морфизм \(h_1\) может быть описан композицией:
$$ h_2 \circ k : (\mathsf{Na}, \ \mathsf{O_2}) \to \mathsf{Na_2O} $$