固定小数点phiの要素の制約を取得したいのですが、次の例では、制約はc2 <= c1 + 5.0、c1> = 5.0である必要があります。これは、Z3でどのように実現するかです。または、Z3で固定小数点を使用せずにそれを行う方法はありますか
(set-option :produce-models true)
(set-option :dl_engine 1)
(set-option :dl_pdr_use_farkas true)
(declare-var c1 Real)
(declare-var c2 Real)
(declare-var lambda Real)
(declare-rel phi(Real Real))
(rule
(=>
(and
(>= lambda 0.0)
(phi c1 c2)
)
(phi (+ c1 lambda) (+ c2 lambda))
)
)
(rule
(=>
(>= c1 5.0)
(<= c2 10.0)
(phi c1 c2)
)
)
(query (phi c1 c2))