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.