「‍」 Lingenic

Event-B

(⤓.md ≡ ◇.md); γ ≜ [2026-10-22T123940.291, 2026-10-22T141515.691] ∧ |γ| = 3

Event-B

Origin. Jean-Raymond Abrial, developed through the EU RODIN (2004–2007) and DEPLOY (2008–2012) projects and set out in Modeling in Event-B: System and Software Engineering (Cambridge, 2010). Retains the B Method's typed set theory and drops its Generalised Substitution Language along with the operation-call model. Foundation of the Rodin platform.

Models. A machine is a labelled transition system presented syntactically. State is a set of variables constrained by an invariant; behaviour is a set of events, each a guarded nondeterministic assignment. The change from B is that an event is not called: when its guard is false it simply does not occur, so nothing ever executes outside its domain and B's abort semantics disappears. The static part — carrier sets, constants, axioms — is separated into contexts, which machines see. Development proceeds by refinement chains starting from a model small enough to state the requirement in a line, each layer introducing detail and its own small obligations.

Formalism.

Machine structure: MACHINE M SEES Context VARIABLES v INVARIANTS I EVENTS e = ... END

Context: CONTEXT C SETS S CONSTANTS c AXIOMS A END

Event structure: EVENT e ANY x WHERE G(x, v) THEN v := E(x, v) END

Components: WHERE: guard — a false guard blocks the event, it does not abort. THEN: action, deterministic (v := E) or nondeterministic (v :∈ S, v :| BA(v, v')). ANY: local parameters, existentially quantified over the guard and action. WITNESS: supplies the abstract parameter a refinement has dropped.

Proof obligations: INV: A ∧ I ∧ G ∧ BA ⇒ I(v') — each event preserves the invariant. FIS: A ∧ I ∧ G ⇒ ∃v'· BA(v, v') — the action is feasible where the guard holds. GRD: concrete guard ⇒ abstract guard — refinement may only block more. SIM: the concrete action simulates the abstract one across the gluing invariant. WD: well-definedness — a partial function is applied only inside its domain. VAR / NAT: the variant is a natural number and strictly decreases. THM: stated theorems follow from the axioms and invariants.

Refinement patterns: Superposition: add variables, keep the abstract ones. Data refinement: replace abstract variables, relate by a gluing invariant. Event splitting and merging. New events, which refine skip and must not take over forever.

Convergence: VARIANT V — a natural number expression or a finite set. Convergent new events must strictly decrease V. Anticipated events must not increase it, deferring the obligation to a later refinement. No infinite sequence of new events; the abstract machine keeps making progress.

Deadlock freedom (optional, stated not implied): I ⇒ (G₁ ∨ … ∨ Gₙ) — some event is always enabled.

Rodin platform: Eclipse-based; generates the obligations above and discharges them by automatic and interactive provers. ProB plugin for animation and model checking.

Symbols.

SymbolUnicodeNameMeaning
:=—Becomes equal toDeterministic assignment in an action
:∈—Becomes an element ofNondeterministic choice from a set
:|—Becomes such thatAction given by a before-after predicate
∈U+2208Element ofSet membership, primitive of the data language
v'—Primed variableValue of v after the event (apostrophe U+0027)
⇒U+21D2Rightwards double arrow / ImplicationShape of every proof obligation
∧U+2227Logical andConjoins axioms, invariant, and guard
∨U+2228Logical orDisjunction of guards in deadlock freedom
∃U+2203There existsFeasibility: some after-state exists
∀U+2200For allQuantifier in invariants and axioms
ℕU+2115Natural numbersCodomain of the convergence variant
A—AxiomsStatic properties, declared in a context
I—InvariantState predicate every event must preserve
G—GuardEnabling condition of an event
BA—Before-after predicateRelation between v and v' effected by the action
V—VariantConvergence measure for new events
INV, FIS, GRD, SIM, WD—Obligation namesThe generated proof obligations

Metatheory. The semantics is a labelled transition system, and refinement is proved by forward simulation against a gluing invariant: the GRD obligation forces the concrete guard to imply the abstract one and SIM forces the concrete action to be matched by an abstract step, so every concrete behaviour projects to an abstract behaviour and safety properties transfer downward through the chain. Refinement is transitive, which is what licenses developing a system in many small layers instead of one large step. The obligations are generated syntactically and are individually first-order, which is why Rodin can discharge most of them automatically despite the underlying logic being undecidable. Two features distinguish the system from B. Guards replace preconditions, so an event is never taken outside its domain and the abort case never arises. And the variant obligation makes non-divergence of newly introduced events a proof obligation rather than an assumption, so a refinement cannot smuggle in an event that runs forever. Liveness is not implied by refinement and needs its own obligations, supplied by Hoang and Abrial (2011).

Applies to. Distributed systems. Protocols. Reactive systems. Industrial verification.

Limitations. What refinement preserves is safety. A discharged refinement chain says invariants hold and new events converge; it does not entail liveness, fairness, or deadlock freedom, each of which must be stated and proved separately, and deadlock freedom in particular is a disjunction of guards that can fail silently in a refinement that strengthens them. Events are atomic by construction, so the model has no notion of an event in progress and genuinely overlapping behaviour must be encoded as an interleaving; real time is not in the language at all. There is no parallel composition operator with an algebraic theory — machines relate only by refinement and by decomposition patterns — so the compositional reasoning a process algebra supplies is unavailable. The mathematical language is first-order set theory without recursive definitions or a fixpoint operator, so inductive structures are axiomatized in a context and their properties proved rather than obtained, and validity there is undecidable. Convergence variants are natural numbers or finite sets, so termination arguments needing transfinite ordinals cannot be expressed.

© 2026 Lingenic LLC