Safety and Liveness properties of ω-sequences #
This file formalizes the main results of [AlpernSchneider1985]. Namely, given an appropriate topology on ω-sequences:
- Safety properties can be identified with closed sets.
- Liveness properties can be identified with dense sets.
- Every property is the intersection of a safety property and a liveness property.
References #
- [Alpern, Bowen; Schneider, Fred B. (1985). "Defining liveness". Information Processing Letters. 21 (4): 181–185.][AlpernSchneider1985]
An alternative characterization of IsSafety that justifies its definition:
if an ω-sequence violates a safety property, then it has a finite prefix all of whose
infinite extensions also violate the property.
@[reducible, inline]
Liveness properties are identified with dense sets.
Equations
- p.IsLiveness = Dense p.toSet
Instances For
An alternative characterization of IsLiveness that justifies its definition:
any finite sequence can be extended to an infinite sequence satisfying a liveness property.
theorem
Cslib.ωLanguage.isLiveness_sup_compl_closure
{α : Type u_1}
(p : ωLanguage α)
:
(p ⊔ p.closureᶜ).IsLiveness
p ⊔ p.closureᶜ is always a liveness property for any ω-language p.
Every property p is the intersection of a safety property (namely, p.closure) and
a liveness property (namely, p ⊔ p.closureᶜ).