Images of sets of states #
The image of a set of states of an LTS along a label and along a list of labels, with lemmas on
membership, singletons, the empty set and the empty list, unions, monotonicity and concatenation.
Main definitions #
LTS.setImage: theμ-image of a set of states.LTS.setImageMultistep: theμs-image of a set of states, for a list of labelsμs.
Main statements #
LTS.mem_setImage,LTS.mem_setImageMultistep: membership throughTrandMTr.LTS.setImageMultistep_foldl_setImage: the multistep image is a left fold ofsetImage.LTS.setImage_union,LTS.setImageMultistep_union: images distribute over unions.LTS.setImageMultistep_append: the image alongμs₁ ++ μs₂is the image alongμs₂of the image alongμs₁.
def Cslib.LTS.setImageMultistep {State : Type u} {Label : Type v} (lts : LTS State Label) (S : Set State) (μs : List Label) :
Set State
The μs-image of a set of states S, where μs is a list of labels, is the union of all
μs-images of the states in S.
Equations
- lts.setImageMultistep S μs = ⋃ s ∈ S, lts.imageMultistep s μs
Instances For
theorem Cslib.LTS.mem_setImageMultistep {State : Type u} {Label : Type v} {S : Set State} {μs : List Label} {s' : State} {lts : LTS State Label} :
Characterisation of setImageMultistep with MTr.
theorem Cslib.LTS.setImageMultistep_foldl_setImage {State : Type u} {Label : Type v} (lts : LTS State Label) :
Characterisation of setImageMultistep as List.foldl on setImage.
theorem Cslib.LTS.mem_foldl_setImage {State : Type u} {Label : Type v} {S : Set State} {μs : List Label} {s' : State} (lts : LTS State Label) :
Characterisation of membership in List.foldl lts.setImage with MTr.
@[simp]
theorem Cslib.LTS.setImageMultistep_nil {State : Type u} {Label : Type v} (lts : LTS State Label) (S : Set State) :
The multistep image of a set along the empty list is the set itself.
@[simp]
theorem Cslib.LTS.setImageMultistep_empty {State : Type u} {Label : Type v} (lts : LTS State Label) (μs : List Label) :
The multistep image of the empty set is empty.
@[simp]
theorem Cslib.LTS.setImageMultistep_singleton {State : Type u} {Label : Type v} (lts : LTS State Label) (s : State) (μs : List Label) :
The multistep image of a singleton is the multistep image of its element.
theorem Cslib.LTS.setImageMultistep_mono {State : Type u} {Label : Type v} (lts : LTS State Label) {S T : Set State} (h : S ⊆ T) (μs : List Label) :
lts.setImageMultistep S μs ⊆ lts.setImageMultistep T μs
Taking the multistep image of a set is monotone.