Processing math: 100%

Converting CTL* into a Hesitant Word Automaton


(Failed Attempt)

step 1. Normalize general CTL* to the form
ϕ=true|false|p|¬p|p1p2|p1p2|Aψ|Eψψ=ϕ|ψ1ψ2|ψ1ψ2|Xψ|ψ1Uψ2|ψ1Rψ2

where piIO.
The first line (ϕ) describes state formulas, the second — path formulas. Note that the path formulas cannot be negated — negations can appear only on propositions IO.

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: AGFpEGFrAFs 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):

  1. Φ=p for pOI:
    if pσ, then δ(q,σ)=q, otherwise δ(q,σ)=q.

  2. Φ=¬p for pOI:
    if pσ, then δ(q,σ)=q, otherwise δ(q,σ)=q.

  3. 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.

  4. If ϕ1ϕ2, then similarly to the previous.

  5. If Φ=Eξ, then:
    • Convert ξ into NBW.
    • The previous step gives NBW with alphabet Σ=2max(ξ) and may include state formulas, but we need alphabet 2OI. Thus first convert all maxxi into AHWs, and then adapt δ to the new alphabet:

      δ(q,σ)=F2max(ξ)δ(q,F)ϕiFδi(q0,σ)ϕiF˜δi(˜q0,σ)

      where σ2OI.

  6. 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(rFg) 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(rFg) U e))E(¬(G(rFg) U e))E((¬G(rFg) R ¬e))E((F(rG¬g) R ¬e))
    where e=EGFc. We do this by creating NBW for F((rG¬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.