z3-fixedpoint

how to get constraint of variables in Fixedpoint using z3?

喜欢而已 提交于 2019-12-14 02:32:31
问题 I wish to get the constraint of the element in the fixedpoint phi, in the following example, the constraint should be c2<=c1+5.0, c1>=5.0 it should be how to realize it in Z3? Or is there any way to do it not using fixedpoint in 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

An error appears when running exist quantifier and fixedpoint Z3 in C#

时光总嘲笑我的痴心妄想 提交于 2019-12-08 06:05:43
问题 I tried to use ctx.mkExist in the fixedpoint, howwever, it occurs error said " contains recursive predicate ", I don't know why? and How to use ctx.MkExists in fixedpoint?For example: exist (lamda real) that lamb>=0 AND inv(c,i) AND phi(c+lamb,i) => phi(c,i) using (Context ctx = new Context()) { var s = ctx.MkFixedpoint(); IntSort B = ctx.IntSort; BoolSort T = ctx.BoolSort; RealSort R = ctx.RealSort; FuncDecl phi = ctx.MkFuncDecl("phi", new Sort[] { R,B }, T); s.RegisterRelation(phi);