一阶逻辑转换到Kripke结构

来源:互联网 发布:给mac安装win7 编辑:程序博客网 时间:2024/06/07 06:12

反应系统(reactive system)

  反应系统需要和环境频繁的发生作用且不会停止,具有以下特性:

  • 状态(state):状态表示系统瞬时的快照或状态描述,主要可以用系统各个变量的变量值。
  • 过渡(transition):过渡表示从一个状态到另一个状态,一组状态决定系统的一个过渡。
  • 计算(computation):计算表示一个状态的无限序列,每个状态由上一个状态通过过渡得到。

Kripke结构(Kripke structure)

格式有时间再改

  Kripke 结构可以用来描述上述的反应系统。Kripke 结构由状态集合、过渡集合以及标记函数组成。该标记函数标记各状态下使得该状态为true的变量集合。Kripke 结构是一个状态过渡图,路径可以建模反应系统的计算。基于此,使用一阶逻辑公式形式化并发系统。
定义AP为一组原子命题,则Kripke结构M为在原子命题上的一个四元组M=(S,S0,R,L),其中

  1. S是有限状态集合。
  2. S0属于S,是初始状态。
  3. R是S的笛卡儿积,表示过渡关系,且必须包含所有的,也就是说每个s总会有s’使得(s,s’)在关系R中。
  4. L是标记函数,标记原子命题使该状态为真。

  有的时候我们不关系初始状态S0,故我们可以舍去初始状态。

举例1

一阶逻辑(First Order)

  一阶逻辑也叫一阶谓词演算,(FOL)允许量化陈述的公式,比如”存在着 x,…” (x) 或 “对于任何 x,…” (砢),这里的 x 是论域(domain of discourse)的成员。
我们使用一阶逻辑公式来描述并发系统。其中,V={v1,…,vn}表示系统变量,V中变量的值在一个有限范围D内变化。V的valuation表示一个函数,使得V中的每个变量都能在D中有一个值和它对应。

  • 并发系统的状态由V中所有变量的值来描述,也就是说状态就是给V中所有值赋值,使得该状态下的形式化表示正确。如有V={v1,v2,v3}和valuation

一阶逻辑转Kripke结构

  • 状态S的集合由V的valuation集合得到。
  • 初始状态S0由通过V中valuation0获得。
  • 若s和s’是两个状态,则过渡R(s,s’)成立的条件是每一个v属于V使得s(v)和每一个v’属于V’使得s(v’)为真。
  • 标记函数L(s)是原子命题集合的子集,该集合使得状态s成立的。对于布尔变量的v,若v属于L(s),则s(v)=true,若v不属于L(s),则s(v)=false。
    考虑到Kripke结构的过渡关系是所有,故我们必须扩充R,如果状态s没有后继节点。

举例2

原创粉丝点击