## Section: Scientific Foundations

### Specification logics

Participants : Catuscia Palamidessi, Frank Valencia.

- identification
Logics for expressing and formalizing properties of concurrent systems

In Comète we are interested in verifying whether a given process satisfies certain properties. These properties are often expressed in some logical formalism.

#### Hennesy-Milner's modal logic.

A way of expressing process specifications is by using a process logic. One such a logic is the Hennesy-Milner's modal logic. The discriminating power of this logic with respect to a finite processes (i.e., recursion-free processes) coincides with strong bisimilarity (see [88] ). That is, two finite processes are strongly bisimilar if and only if they satisfy the same formulas in the Hennessy-Milner's logic.

#### Temporal logics.

Hennesy-Milner's logic can express
local properties such as ``an action must happen next'' but it
cannot express long-term properties such as
``an action eventually happens''. This kind of property, which
falls into the category of *liveness properties* (expressing that
``something good eventually happens''), and also *safety
properties*
(expressing that ``something bad never happens'') have been found to
be useful for reasoning about concurrent systems.
The modal logics attempting to capture
properties of the kind above are often referred to as *temporal-logics* .

Temporal logics were introduced into computer science by
Pnueli [82]
and thereafter proven to be a good basis for specification as
well as for (automatic and machine-assisted) reasoning about
concurrent systems. Temporal logics can be classified into linear
and branching time logics.
In the *linear* case at each
moment there is only one possible future whilst in the *branching* case at
each moment time may split into alternative futures.