Skip to content

Instantly share code, notes, and snippets.

@Konard
Last active January 20, 2025 18:51
Show Gist options
  • Save Konard/ce606e20a0e50b715504915c02bc659c to your computer and use it in GitHub Desktop.
Save Konard/ce606e20a0e50b715504915c02bc659c to your computer and use it in GitHub Desktop.
Ассоциативные определения.

Дополнительные определения

Ниже приводятся определения Материализованной ссылки и Множества, опирающиеся на три уже известные сущности: Ссылка, Связь и Последовательность.


Материализованная ссылка

Материализованная ссылка — это отражение «ссылки» между «связями», воплощённое в виде новой «связи».

  • У такой «материализованной ссылки» есть:
    • Исходная ссылка (откуда мы ссылались),
    • Конечная ссылка (собственно та ссылка, которую «материализуем»).

Поскольку любая «связь» есть последовательность из двух «ссылок», «материализованная ссылка» в этом смысле реализуется как новая «связь» (две «ссылки» внутри неё указывают на исходную и конечную «связи», соответственно).


Материализованная связь

Материализованная связь — это такая «связь», в которой её собственная «ссылка» и составные «ссылки» (то есть её внутренняя пара ссылок) выражены явно как единое целое.

Если раньше мы могли кратко записать «связь» в виде:

(1: 2 3)

где:

  • «1» — собственная ссылка рассматриваемой связи,
  • «2» и «3» — две ссылки, которые образуют основное содержимое связи,

то материализованная форма этой же связи может быть представлена как:

(1 (2 3))

При этом:

  1. «1» — это уникальное имя (собственная «ссылка») самой связи,
  2. (2 3) — это последовательность из двух «ссылок» внутри неё.

Заметка

Таким образом, если мы «материализуем» собственную ссылку, указывающую на связь, мы фактически делаем материализацию самой связь — ведь в результате у нас получается связь, в которой и ссылка (имя связи), и пара ссылок, её образующих, объединены воедино.

Ведь

(1 1)

Это тоже самое что:

(1 (2 3))

Множество

Множество в данном контексте — это такой вид «последовательности» «связей», в котором:

  1. Каждая «связь» встречается не более одного раза (нет повторений).
  2. Все «связи» расположены в некотором возрастающем порядке (то есть существует критерий сравнения, позволяющий сказать, какая «связь» следует раньше другой).

Таким образом, множество — это всё та же «последовательность» (состоящая из «связей»), но на неё накладываются ограничения уникальности (без повторов) и сортировки (упорядочивание).

Определения базовых понятий

Ниже приведены уточнённые описания трёх основных понятий: Ссылка, Связь и Последовательность. При этом подчёркивается, что у каждой связи есть собственная ссылка.


1. Ссылка

Ссылка — это уникальное имя (число, слово, адрес и т. п.), указывающее на какую-то связь.

  • Допускается, что ссылка может встречаться внутри разных связей.
  • Ссылка также может указывать на ту же связь, частью которой она является.

2. Связь

  1. Связь — это последовательность из ровно двух ссылок.
    • Можно называть их, например, «начальной» и «конечной» (или «исходной» и «целевой»).
  2. У каждой связи есть своя собственная ссылка (уникальное имя), по которому можно сослаться на неё (в том числе изнутри самой этой связи).

3. Последовательность

Последовательность строится из связей (и уже готовых подпоследовательностей) путём рекурсивного объединения. Формально это можно описать так:

  1. Любая одна связь сама по себе является последовательностью.
  2. Если $P_1$ и $P_2$ — две уже построенные последовательности, то соединение $P_1$ и $P_2$ друг за другом даёт новую последовательность.

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


Таким образом:

  1. Ссылка даёт имя, указывающее на связь.
  2. Связь состоит из двух ссылок и имеет собственную ссылку для указания на себя.
  3. Последовательность — это результат многократного объединения связей (а также подпоследовательностей), придающий структуре форму упорядоченного набора.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment