Самое сложное - аккуратно пометить

,

и

, чтобы не спутать их с остальными.
Да, как раз читая на полпути решил спросить, будут ли они защищены. Интересная конструкция, такого типа мне искать в голову не приходило.
Я предполагал найти несколько графов

, не являющихся подграфами друг друга, и потом соединять

с произвольным количеством

для помеченной вершины,

с

как начало и конец ребра, и соединять их между собой каким-то аккуратным способом и надеяться, что можно подобрать

и способы соединения, чтобы всё прошло.
Ещё мне наверно стоило задать условия более однородным и близким к тому, откуда родилась задача, образом: пусть есть правила переписывания графов

, задаваемые двумя графами, в которых каждая вершина дополнительно помечена именем, и применение правила заменяет произвольный изоморфный

подграф на

так, что вершины

с именами, которые не встречаются в

, удаляются, вершины с именами, имеющимися и там, и там, остаются связанными с остальной частью графа так как были, а рёбра, соединяющие их между собой меняются на те, которые между ними есть в

, и вершины с именами, уникальными для

, добавляются. Тогда условие на кодирование простое: надо чтобы любое правило

для помеченных орграфов можно было транслировать в правило

для их кодов, чтобы выполнялось

, где

— множество всех возможных результатов применения

к

.