При добавлении ограничений в мой код, я обнаружил, что мне нужно добавить одинаковые ограничения в вектор выражения несколько раз. Есть ли какой-либо API для определения того, являются ли два выражения одинаковыми, чтобы я мог удалить избыточные выражения?Z3 проверить, являются ли два выражения одинаковыми
0
A
ответ
0
Выражения всегда интернализируются до уникальных указателей. Поэтому, если вы создаете два выражения, используя одни и те же подвыражения, указатели на них будут одинаковыми. Вы можете просто использовать равенство указателя.
Выражения также имеют так называемые «идентификаторы». Вызов C для получения идентификаторов называется Z3_ast_get_id, есть соответствующие вызовы в других API для других языков программирования (из C++ вам все равно придется использовать Z3_ast_get_id, с C# и Java, он называется «Id»/«id»).
Смежные вопросы
- 1. Являются ли эти два сравнительных выражения одинаковыми?
- 2. Как определить, являются ли два булевых выражения одинаковыми
- 3. Как проверить, являются ли значения классов одинаковыми
- 4. Каков самый быстрый способ проверить, являются ли два Tbitmaps одинаковыми?
- 5. Проверить, являются ли два файла изображений одинаковыми..Чегсум или Хэш?
- 6. Являются ли следующие два утверждения семантически одинаковыми?
- 7. Являются ли два указателя функций одинаковыми?
- 8. Являются ли эти два метода одинаковыми?
- 9. Являются ли эти два обычных языка одинаковыми?
- 10. Как проверить, являются ли два выражения <Func <T, bool>> одинаковыми
- 11. Как проверить, являются ли элементы массива одинаковыми
- 12. VB.net Как проверить, являются ли две кисти одинаковыми или одинаковыми?
- 13. Есть ли способ проверить, являются ли две строки примерно одинаковыми?
- 14. Являются ли ** и * [] одинаковыми?
- 15. Являются ли эти два выражения эквивалентными?
- 16. Как узнать, являются ли два exe одинаковыми по коду?
- 17. Есть ли простой способ выяснить, являются ли два преобразования одинаковыми?
- 18. Как увидеть, являются ли два целых числа в массиве одинаковыми
- 19. ruby: проверьте, являются ли две переменные одинаковыми.
- 20. Являются ли следующие структуры одинаковыми?
- 21. Являются ли эти запросы одинаковыми?
- 22. Являются ли эти JQuery одинаковыми?
- 23. Являются ли эти уравнения одинаковыми?
- 24. Являются ли эти два контекстных правила свободной грамматики одинаковыми?
- 25. Определить, являются ли два экземпляра одинаковыми, за исключением двух свойств.
- 26. Являются ли два URL одинаковыми? Игнорировать параметр param
- 27. Являются ли эти два метода vb одинаковыми в функции?
- 28. Являются ли эти два подхода к созданию функций одинаковыми?
- 29. Являются ли эти два способа создания файлов одинаковыми?
- 30. Как аккуратно проверить, являются ли 4 переменных одинаковыми?
Еще один вопрос: я заметил, что возвращаемый тип ** Z3_get_ast_id ** не имеет знака, поэтому есть 2^32 идентификатора. Возможно ли, что два выражения будут иметь один и тот же идентификатор, так как может быть более 2^32 выражений? –