Converting CTL* into a Hesitant Word Automaton
(Failed Attempt)
step 1.
Normalize general CTL* to the form
ϕ=true|false|p|¬p|p1∧p2|p1∨p2|Aψ|Eψψ=ϕ|ψ1∧ψ2|ψ1∨ψ2|Xψ|ψ1Uψ2|ψ1Rψ2
where pi∈I∪O.
The first line (ϕ) describes state formulas,
the second — path formulas.
Note that the path formulas cannot be negated —
negations can appear only on propositions I∪O.
Can an arbitrary CTL* formula be expressed in the normalized form?
Yes, and this can be done without the exponential blowup.
(Since the R operator is dual to the U operator.)
Below we assume that CTL*s are in the normalized form.
step 2. Divide a CTL* Φ into maximal subformulas. A state formula ϕ is a maximal subformula of Φ if there is no state subformula of Φ that includes it (subformulas are strict here). Examples: AGFp∧EGFr∧AFs has three maximal subformulas, AGFp, EGFr, and AFs; A(Xp U EFp) has two maximal subformulas, EFp and p.
step 3. Translation of a CTL* Φ into an AHW is done bottom-up (inductively):
-
Φ=p for p∈O∪I:
if p∈σ, then δ(q,σ)=q⊤, otherwise δ(q,σ)=q⊥. -
Φ=¬p for p∈O∪I:
if p∉σ, then δ(q,σ)=q⊤, otherwise δ(q,σ)=q⊥. -
If Φ=ϕ1∧ϕ2, then δ(q,σ)=δ1(q,σ)∧δ2(q,σ) for any q and σ, where δ1 and δ2 are transition functions of automata for ϕ1 and ϕ2.
-
If ϕ1∨ϕ2, then similarly to the previous.
- If Φ=Eξ, then:
- Convert ξ into NBW.
-
The previous step gives NBW with alphabet Σ=2max(ξ) and may include state formulas, but we need alphabet 2O∪I. Thus first convert all maxxi into AHWs, and then adapt δ to the new alphabet:
δ(q,σ)=⋁F∈2max(ξ)δ(q,F)∧⋀ϕi∈Fδi(q0,σ)∧⋀ϕi∉F˜δi(˜q0,σ)where σ∈2O∪I.
- If Φ=Aξ, then apply the previous step to E¬ξ and then dualize the result. Note that E¬ξ should first be normalized.
Example Consider CTL* Φ=A(G(r→Fg) U EGFc), where signals r and c are controlled by the environment (I={r,c}, O={g}).
-
step 1: Φ is already normalized.
-
step 2: The maximal subformulas are EGFc, r,and g.
-
step 3: build an AHW. First, build the NBT for ¬Φ with AP={EGFc,r,g}, i.e., for
¬(A(G(r→Fg) U e))≡E(¬(G(r→Fg) U e))≡E((¬G(r→Fg) R ¬e))≡E((F(r∧G¬g) R ¬e))
where e=EGFc. We do this by creating NBW for F((r∧G¬g) R ¬e):Notation:
- green edges mean nondeterministic choice, green states — visit these states infinitely often (Buechi acceptance), the bold state is initial.
- in NB automata edges leading to q⊥ are not shown, and in UC automata edges leading to q⊤ are not shown.
The alphabet of the NBW contains EFGc, so we first convert it into an AHW:
Now we merge the previous automaton with these ones and thus adapt the alphabet to {g,r,c}:
(Note that in the connection points (red points) two edges are connected with “&”.)
Finally, we dualize the above automaton and get the result:
Notes:
- Dualization turned green states/edges into red ones.
- Operator “&” turned into “||”.
NO!NO!NO!NO!NO!NO!NO!NO!NO!NO!NO!NO!NO!
This does not work, because the resulting transitions should be equivalent to the original, but they differ. Consider:
((ˉcr,q1)∧(ˉcˉr,q1))∨((ˉcr,¯e0)∨(ˉcˉr,¯e0))versus
((ˉcr,q1)∨(ˉcr,¯e0))∧((ˉcˉr,¯q1)∨(ˉcˉr,¯e0))They differ! (e.g., (ˉcr,¯e0) satisfies the first but not the second.