Есть ли способ определить наследование между сортировками в z3? (Я использую Python API)Сортировка наследования в z3
Я пытаюсь моделировать два разных типа событий, записывать события и читать события; для каждого из них я использую Сорт (WriteSort и ReadSort). Однако я хотел бы иметь «сумму» Сортировка (EventSort), которая представляет собой событие записи или чтения.
Я определения функций с помощью следующей области:
f1 = Function('f1', WriteSort, WriteSort, BoolSort())
f2 = Function('f2', ReadSort, ReadSort, BoolSort())
f3 = Function('f3', EventSort, EventSort, BoolSort())
Одним из возможных вариантов было бы определить EventSort, как и абстрактный тип данных, но область все мои функции должны быть (EventSort х EventSort), и единственный способ ограничить такой домен - это сделать это вручную.
Есть в любом случае, чтобы определить как WriteSort и ReadSort как "subsort" из EventSort?