Я читал и прорабатывал несколько частей документации, но до сих пор не понимаю, как представить мои правила вывода в z3.
Допустим, у меня есть следующие 2 правила вывода:
Так ли просто, что мои правила z3 будут такими:
a. (a ^ b) => c
b. (a ^ b) => c
Или, что я считаю более правильным, мне придется объявлять типы данных (записи, скаляры и т.д.).
Оттуда реализация Java кажется довольно простой из чтения документации.
Это просто первоначальный перевод от правил вывода системы типов к пропозициональной логике, который меня подвешивает.
Я думаю, что мне не хватает какой-то связи между моими правилами вывода (a
и b
) и их представлением в z3; и поскольку я продолжаю читать документацию, все еще остается неясным, как реализовать эти правила.