A type of transition labels that includes a special 'internal' transition τ.
- τ : Label
The internal transition label, also known as τ.
Instances
@[reducible, inline]
Checking whether an element is τ is decidable.
Equations
- Cslib.DecidableEqTau α = ((a : α) → Decidable (a = Cslib.HasTau.τ))
Instances For
inductive Cslib.LTS.STr {Label : Type u_1} {State : Type u_2} [HasTau Label] (lts : LTS State Label) :
State → Label → State → Prop
Saturated transition relation.
- refl {Label : Type u_1} {State : Type u_2} [HasTau Label] {lts : LTS State Label} {s : State} : lts.STr s HasTau.τ s
- tr {Label : Type u_1} {State : Type u_2} [HasTau Label] {lts : LTS State Label} {s1 s2 : State} {μ : Label} {s3 s4 : State} : lts.τSTr s1 s2 → lts.Tr s2 μ s3 → lts.τSTr s3 s4 → lts.STr s1 μ s4
Instances For
def Cslib.LTS.τClosure {Label : Type u_1} {State : Type u_2} [HasTau Label] (lts : LTS State Label) (S : Set State) :
Set State
The τ-closure of a set of states S is the set of states reachable by any state in S
by performing only τ-transitions.
Equations
- lts.τClosure S = lts.saturate.setImage S Cslib.HasTau.τ
Instances For
inductive Cslib.LTS.SMTr {Label : Type u_1} {State : Type u_2} [HasTau Label] (lts : LTS State Label) :
Saturated multistep transition relation.
- τ {Label : Type u_1} {State : Type u_2} [HasTau Label] {lts : LTS State Label} {s s' : State} : lts.STr s HasTau.τ s' → lts.SMTr s [] s'
- stepL {Label : Type u_1} {State : Type u_2} [HasTau Label] {lts : LTS State Label} {s1 : State} {μ : Label} {s2 : State} {μs : List Label} {s3 : State} : lts.STr s1 μ s2 → lts.SMTr s2 μs s3 → lts.SMTr s1 (μ :: μs) s3
Instances For
theorem Cslib.LTS.sMTr_iff_exists_mTr_filter {Label : Type u_1} {State : Type u_2} [HasTau Label] [DecidableEqTau Label] {lts : LTS State Label} {s t : State} {μs : List Label} (hμs : ∀ μ ∈ μs, μ ≠ HasTau.τ) :
A saturated run along a list of visible labels is a run whose labels, once the τs are
dropped, are that list.