Эти примеры из учебника по Z3 приведены для иллюстрации ограничений технологии, лежащей в основе Z3.
Z3 не работает в этих примерах по двум причинам:
Модели, выпускаемые Z3, назначают интерпретацию для каждого не интерпретируемого функционального символа. Модели можно рассматривать как функциональные программы. Текущая версия не дает рекурсивных определений. Первый пример выполним, но Z3 не может дать интерпретацию для fib, потому что он не поддерживает рекурсивные определения.
У нас есть планы по расширению Z3 в этом направлении.
Z3 не поддерживает доказательства по индукции. Примеры 2 и 3 неудовлетворительны, но Z3 терпит неудачу, потому что не поддерживает доказательство по индукции.
У нас также есть планы добавить базовую поддержку для этого.
Хотя эти предметы находятся в моем списке TODO, я не буду над ними работать в этом году.