一阶逻辑及其到Kripke Structure的转换
First order logic: logical connectives and quantifications
- Describe states of concurrent system with first order logic
- V={v1,…,vn}is the set of system variables.
- Variables in V range over a finite set D
- A valuation for V is a function s: V→D
- A state is described by giving values for all of the elements in V
- State: Write a formula that is true for that valuation
反应系统(Reactive System)
反应系统需要和环境频繁的发生作用且不会停止,具有以下特性:
- 状态(state):状态表示系统瞬时的快照或状态描述,主要可以用系统各个变量的变量值。
- 过渡(也有译作迁移的,transition):过渡表示从一个状态到另一个状态,一组状态决定系统的一个过渡。
- 计算(computation):计算表示一个状态的无限序列,每个状态由上一个状态通过过渡得到。
Kripke Structure
Kripke 结构即过渡(迁移)系统的变化,在模型检查中用来表示系统的行为,也可以用来描述上述的反应系统。Kripke 结构由状态集合(S)、过渡集合(R)以及标记函数(L)组成。该标记函数标记各状态下使得该状态为true的变量集合。Kripke 结构是一个状态过渡图,路径可以建模反应系统的计算。基于此,使用一阶逻辑公式形式化并发系统。 定义AP为一组原子命题,则Kripke结构M为在原子命题上的一个四元组M=(S,S0,R,L),其中A Kripke structure is a variation of the transition system, originally proposed by Saul Kripke,[1] used in model checking[2] to represent the behavior of a system. It is basically a graph whose nodes represent the reachable states of the system and whose edges represent state transitions. A labelling function maps each node to a set of properties that hold in the corresponding state. Temporal logics are traditionally interpreted in terms of Kripke structures.
-wikipedia Kripke structure (model checking)
- S是有限的状态集合。
- S0是S的子集,表示初始状态。
- R是S的笛卡儿积,表示过渡(迁移)关系,且必须包含所有的,也就是说每个s总会有s’使得(s,s’)在关系R中。
- L是标记函数,标记原子命题使某状态为真。
一阶逻辑转换到Kripke Structure
- D表示V的valuation集合。
- 状态S的集合D X D得到(X表示笛卡儿积)。
- 初始状态S0通过V中的valuation(0)获得。
- 若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。