Configurations #
A configuration of an event structure is a conflict-free, downward-closed set of events. This module defines configurations (and their finite variant), the enabling relation between a configuration and an event, and proves that enabling an event extends a configuration.
A set of events is a configuration if it is conflict-free and downward closed.
Equations
Instances For
Type of all configurations of an event structure.
Equations
- EventStructures.Conf es = { X : Set es.Event // EventStructures.isConf es X }
Instances For
Type of all finite configurations of an event structure.
Equations
- EventStructures.FinConf es = { X : Finset es.Event // EventStructures.isConf es ↑X }
Instances For
A configuration c enables an event e if e is fresh (not already in c), e is consistent with all events in c, and the past of e is contained in c. Freshness rules out self-loop edges in the configuration graph.
Equations
- EventStructures.Configuration.enables es c e = (EventStructures.isConf es c ∧ e ∉ c ∧ (∀ e' ∈ c, es.consistent e e') ∧ es.past e ⊆ c)
Instances For
theorem
EventStructures.Configuration.enables_not_mem
(es : EventStructure)
{c : Set es.Event}
{e : es.Event}
(h : enables es c e)
:
e ∉ c
An enabled event is not already in the configuration.