【发布时间】:2019-11-21 10:53:34
【问题描述】:
我正在尝试用 Z3 Theorem Prover 来证明以下命题:
|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 的部分。
我做错了什么?有没有可能做点什么?
感谢您的帮助!
【问题讨论】: