d>=0.0 のような固定小数点 phi の要素の制約を取得したいのですが、Z3 でそれを実現するにはどうすればよいですか?
(set-option :produce-models true)
(set-option :dl_engine 1)
(set-option :dl_pdr_use_farkas true)
(declare-var c Real)
(declare-var d Real)
(declare-var lambda Real)
(declare-rel phi(Real))
(rule
(=>
(and
(>= lambda 0.0)
(phi c)
)
(phi (+ c lambda))
)
)
(rule
(=>
(= c 0.0)
(phi c)
)
)
(rule
(=>
(phi c)
(phi d)
)
)
(query (phi d))