Rewriting rules for event model decomposition

From Event-B
Revision as of 16:00, 2 July 2009 by imported>Pascal (→‎Rewriting rules for the Event-B assignments)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Rewriting rules for the Event-B assignments

As detailed in the modelling language, the Event-B assignments are formed of two parts:

  • a left-hand side, which is a list of free identifiers.
  • a right-hand side.

There are various kinds of assignments:

  • The "becomes such that" assignment, \bcmsuch, is the most general (non-deterministic) assignment, where a predicate is given on the before and after values of assigned identifiers. The after values of the assigned identifiers are denoted by a primed identifier whose prefix is the assigned identifier.
  • The "becomes equal to" assignment, \bcmeq is the deterministic assignment, where an expression is given for each assigned identifier.
  • The "becomes member of" assignment, \bcmin is the set-based (non-deterministic) assignment, where a set expression is given for the assigned identifier.

Let v and w be variables, and E and F be expressions. In the following table, the left-hand assignments are equivalent (\defi) to the right-hand ones:

v \bcmeq E v \bcmsuch v' = E
v,w \bcmeq E,F v \bcmeq E \pprod w \bcmeq F
v(E) \bcmeq F v \bcmeq v \ovl \{E \mapsto F\}
v \bcmin E v \bcmsuch v' \in E

Thus, each Event-B assignment can be expressed in a "becomes such that" form.