71、函数式大步语义:原理、应用与优势

函数式大步语义:原理、应用与优势

1. 终止性证明与语义表示

在语义分析中,终止性证明是一个重要的问题。对于 sem_t 函数,我们通过提供一个良基度量来证明其终止性,即时钟值和被评估语句大小的字典序排序。这一方法可行的原因在于时钟值不会增加,并且在每次递归调用中,若时钟未递减,被评估语句的大小会减小。

与关系型大步语义不同,函数式大步语义需要进行终止性证明,这是其一个缺点。但函数式表示也带来了一些直接的好处,例如语义是全函数(根据定义)且具有确定性。而这些属性对于关系型定义来说,可能需要繁琐的证明。

1.1 终止和非终止评估的语义

sem_t 函数对所有输入都会终止,但同时它能为终止和非终止(发散)评估提供语义。具体来说:
- 若存在某个时钟初始值,使得 sem_t 返回 Rval ,则评估终止。
- 若对于所有时钟初始值, sem_t 都返回 Rtimeout ,则评估非终止。
- 在其他情况下,语义失败。

顶层语义正式定义如下,有三种可观察的结果: Terminate Diverge Crash

semantics t =
if ∃c v s. sem_t (s_with_clock c) t = (Rval v,s) then Term
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值