Simulation and Similarity #
A simulation is a binary relation on the states of an LTS: if two states s1 and s2 are
related by a simulation, then s2 can mimic all transitions of s1. Furthermore, the derivatives
reaches through these transitions remain related by the simulation.
Similarity is the largest simulation: given an LTS, it relates any two states that are related
by a simulation for that LTS.
For an introduction to theory of simulation, we refer to [San].
Main definitions #
Simulation lts r: the relationron the states of the LTSltsis a simulation.Similarity ltsis the binary relation on the states ofltsthat relates any two states related by some simulation onlts.SimulationEquiv ltsis the binary relation on the states ofltsthat relates any two states similar to each other.
Notations #
s1 ≤[lts] s2: the statess1ands2are similar in the LTSlts.s1 ≤≥[lts] s2: the statess1ands2are simulation equivalent in the LTSlts.
Main statements #
SimulationEquiv.eqv: simulation equivalence is an equivalence relation.
A relation is a simulation if, whenever it relates two states in an lts, any transition originating from the first state is mimicked by a transition from the second state and the reached derivatives are themselves related.
Equations
- Cslib.Simulation lts r = ∀ (s1 s2 : State), r s1 s2 → ∀ (μ : Label) (s1' : State), lts.Tr s1 μ s1' → ∃ (s2' : State), lts.Tr s2 μ s2' ∧ r s1' s2'
Instances For
Notation for similarity.
Differently from standard pen-and-paper presentations, we require the lts to be mentioned explicitly.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The composition of two simulations is a simulation.
Notation for simulation equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Simulation equivalence is an equivalence relation.
calc support for simulation equivalence.
Equations
- Cslib.instTransSimulationEquiv lts = { trans := ⋯ }