Я пытаюсь доказать следующее утверждение с помощью Z3 Теорема Доказатель :
|CA|^2 = |AB|^2 + |BC|^2,
|AB| = cos(alpha),
|BC| = sin(alpha)
=>
|CA| = 1
Что именно я делаю:
(declare-const AB Real)
(declare-const BC Real)
(declare-const CA Real)
(declare-const alpha Real)
(assert (and (>= AB 0) (>= BC 0) (>= CA 0)) )
(assert (= (^ CA 2) (+ (^ AB 2) (^ BC 2))) )
(assert (= AB (cos alpha)) )
(assert (= BC (sin alpha)) )
(assert (not (= CA 1) ))
(check-sat)
Я ожидаю unsat , но получил unknown .Также я знаю, что проблема сконцентрирована в части с функциями sin и cos .
Что я делаю неправильно?Можно ли вообще что-то сделать?
Спасибо за помощь!