// 2025-2026 Богданович Давид Когут Прихожденко (кдб.дійсність.укр)

взяти означення мавка/машина;

простір мавка {
  дія створити_дійсність(
    М: адреса<Машина>,
    зовні: адреса<Дійсність>
  ) -> адреса<Дійсність> {
    змінна дійсність = виділити_дійсність(М);

    якщо зовні != пусто {
      дійсність.зовні = зовні;
      зовні.кількість_запозичень += 1;
    }

    вернути дійсність;
  }

  дія записати_в_дійсність(
    М: адреса<Машина>,
    дійсність: адреса<Дійсність>,
    назва: адреса<ПредметТексту>,
    значення: Значення
  ) {
    призначити(
      М,
      дійсність.призначення::адреса,
      назва,
      значення
    );
  }

  дія знайти_в_дійсності(
    М: адреса<Машина>,
    дійсність: адреса<Дійсність>,
    назва: адреса<ПредметТексту>,
    вихід_значення: адреса<Значення>
  ) -> логічне {
    якщо знайти_призначене(
      М,
      дійсність.призначення,
      назва,
      вихід_значення
    ) {
      вернути так;
    }

    якщо дійсність.зовні != пусто {
      вернути знайти_в_дійсності(
        М,
        дійсність.зовні,
        назва,
        вихід_значення
      );
    }

    вернути ні;
  }
}