繁体   English   中英

Z3解算器Z3_parse_smtlib2_file-Z3 C API推送弹出

[英]Z3 Solver Z3_parse_smtlib2_file - Z3 C API push pop

使用Z3_parse_smtlib2_file API读取基准时如何使用(推送)和(pop)。 如何使用Z3_parse_smtlib2_file API获得(assert(not(= o2_s o2_i)))和(assert(not(= o1_s o1_i)))约束的结果。 我仅在使用C中的Z3_parse_smtlib2_file API读取基准时才得到(assert(not(= o1_s o1_i)))的结果。

(declare-fun i_s () Int)
(declare-fun t_s () Int)
(declare-fun o1_s () Int)
(declare-fun o2_s () Int)
(declare-fun i_i () Int)
(declare-fun t_i () Int)
(declare-fun o1_i () Int)
(declare-fun o2_i () Int)

(assert(= i_s 10) )
(assert(>= (+ (- 5) (* 1 i_s)) 0))
(assert(= t_s (+ 1 (* 1 i_s))) )
(assert(< (+ (- 20) (* 1 t_s)) 0))
(assert(= o1_s (+ 1 (* 1 t_s))) )
(assert(= o2_s (+ 0 (* 1 t_s))) )

(assert(= i_i 10) )
(assert(>= (+ (- 5) (* 1 i_i)) 0))
(assert(= t_i (+ 2 (* 1 i_i))) )
(assert(< (+ (- 21) (* 1 t_i)) 0))
(assert(= o1_i (+ 0 (* 1 t_i))) )
(assert(= o2_i (+ 0 (* 1 t_i))) )

(push)

(assert(not(= o2_s o2_i )))
(pop)
(assert(not(= o1_s o1_i )))

当前不支持此功能。 Z3_parse_smtlib2_file仅从文件中提取断言,而忽略大多数其他SMT2命令。 Z3当前不支持提取一组SMT2命令,以后可以对其进行修改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM