27、SMT求解器与精化计划在形式化设计中的应用

SMT求解器与精化计划应用

SMT求解器与精化计划在形式化设计中的应用

1 SMT求解器基础

1.1 SMT-LIB输入示例

SMT(Satisfiability Modulo Theories)求解器在形式化验证中发挥着重要作用,下面是使用λ - 基于方法和ppTrans方法生成的SMT - LIB输入示例。

λ - 基于方法:

1 (set-logic AUFLIA)
2 (declare-sort STATUS 0)
3 (declare-sort JOBS 0)
4 (declare-fun RUN () STATUS)
5 (declare-fun IDLE () STATUS)
6 (declare-fun proc () STATUS)
7 (declare-fun active () JOBS)
8 (declare-fun j () JOBS)
9 (declare-fun queue (JOBS) Bool)
10 (define-fun (par (X) (in ((x X) (s (X Bool))) Bool (s x))))
11 (define-fun (par (X)
12
(setminus ((s1 (X Bool)) (s2 (X Bool))) (X Bool)
13
(lambda ((x X)) (and (s1 x) (not (s2 x)))))))
14 (define-fun set1 ((x JOBS)) Bool (= x j))
15 (assert (and (forall ((x STATUS)) (or (= x RUN) (= x IDLE)))
16
(not (= RUN IDLE))
17
(=&g
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值