Reverse operation for LTS #
This file defines Cslib.LTS.reverse, which reverses every transition of an LTS.
reverse_canReach, reverse_unlabelledTr, reverse_image, reverse_imageMultistep,
reverse_hasOutLabel and reverse_boundedUpTo each state a property about lts.reverse in
terms of lts.
reverse_mTr states that the multistep transitions of lts.reverse are the reversed
multistep transitions of lts. reverse_execution is the same statement for
executions, and is derived from Execution.reverse.
Reversal of an LTS is an involution.
@[simp]
theorem Cslib.LTS.reverse_unlabelledTr {State : Type u_1} {Label : Type u_2} {s s' : State} {lts : LTS State Label} :
The unlabelled transitions of lts.reverse are those of lts with the endpoints swapped.
theorem Cslib.LTS.mem_reverse_imageMultistep {State : Type u_1} {Label : Type u_2} {s : State} {μs : List Label} {s' : State} {lts : LTS State Label} :
Membership version of reverse_imageMultistep.
@[simp]
theorem Cslib.LTS.reverse_hasOutLabel {State : Type u_1} {Label : Type u_2} {s : State} {μ : Label} {lts : LTS State Label} :
A state has μ as an outgoing label in lts.reverse iff it has μ as an incoming
label in lts.