TD 14 : Logique temporelle linéaire, Automates d’arbres

EX 3

Logique temporelle :

pAP¬𝜑𝜑𝜑X𝜑𝜑U𝜑
  • X : next
  • U : until
(2AP)+𝜈,i<|𝜈|𝜑
  • F : finally

    • F𝜑U𝜑
    • 𝜑 est vraie ultimement
  • G : globally

    • G𝜑¬F¬𝜑
    • 𝜑 est vraie à tout moment

Ex : dans un programme

  • r : requête arrivée
  • s : requête satisfaite

{r}{s} et {r}{r}{r,s} sont des modèles de G(rFs), mais pas {r}{r}n


Pour w𝛴+𝛴2AP

𝜑w{0,1}|w|

Ex :

𝜑=Fp, AP={p}, 𝛴={,{p}}

w={p}𝜑w=11100

1.

L(𝜑)={w𝛴+w,0𝜑} 𝜑=G(¬pXp)G(p(X¬p)¬X)¬p

2.

Logique FO :

x<yx.𝜑¬𝜑𝜑𝜑Pa(x)
w,iLTL𝜑w,{xi}FOSTx(𝜑) STx()=¬STx(pAp)=a{aVar(𝜑)qa}Pa(x)STx(¬𝜑)=¬STx(𝜑)STx(𝜑𝜓)=STx(𝜑)STx(𝜓)STx(X𝜑)=y.(x<y(¬z.(x<zz<y))STy(𝜑))STx(𝜑1U𝜑2)=y.(xySTy(𝜑2)z.(xzz<y)STz(𝜑1))

3.

f est co-séquentielle ssi f~ est séquentielle, où f~(w)f(w~)~ (mots miroirs)

Automate pour p :

%3 cluster_0 ⟦p⟧ q_0 q_0 q_0->q_0 a / 1  si p∈a |  b / 0 si p ∉ b q_0->b2 𝜀 b1->q_0 𝜀

Automate pour Fp :

%11 cluster_0 ⟦Fp⟧ q_0 q_0 q_0->q_0 b / 0 si p ∉ b q_1 q_1 q_0->q_1 a / 1  si p∈a q_0->b2 𝜀 q_1->q_1 x / 1 q_1->b3 𝜀 b1->q_0 𝜀

Automate pour FpFq :

%25 cluster_0 ⟦Fp ∧ Fq⟧ q_0 q_0 q_0->q_0 b / 0 si p, q ∉ b q_1 q_1 q_0->q_1 a / 1  si p∈a q_2 q_2 q_0->q_2 a / 1  si q∈a q_3 q_3 q_0->q_3 a / 1 si p, q ∈a q_0->b2 𝜀 q_1->q_1 x / 1 si q∉x q_1->q_3 a / 1 si q ∈a q_1->b3 𝜀 q_2->q_2 x / 1 si p∉x q_2->q_3 a / 1 si p ∈a q_2->b4 𝜀 q_3->q_3 x / 1 q_3->b5 𝜀 b1->q_0 𝜀

On note E𝜑 l’ensemble des sous-formules de 𝜑.

On peut, de manière algorithmique, construire l’automate :

  • ayant un état initial

  • tel que chaque état q est indexé par le sous-ensemble de E𝜑 des sous-formules vérifiées dans q

4.

Etant donnée 𝜑 une formule LTL.

SF(𝜑)=l’ensemble des sous-formules de 𝜑
qSF(𝜑) est cohérent si :
  1. Si 𝜑1𝜑2SF(𝜑) , alors :

    𝜑1𝜑2q ssi 𝜑1q et 𝜑2q
  2. si ¬𝜑SF(𝜑), alors

    ¬𝜑q ssi 𝜑q

Soit C l’ensemble des états cohérents.

𝒜𝜑C{q0},2AP,{0,1},𝜀,𝜌,q0,𝛿

𝛿 (transitions avec sortie) satisfait les propriétés suivantes :

qa/bq

ssi

  1. pour pAP, pq ssi pa

  2. q

  3. si X𝜑1SF(𝜑), alors

𝜑1qq0 ssi X𝜑1q

NB : 𝜑1U𝜑2=𝜑2(𝜑1X(𝜑1U𝜑2))


  1. si 𝜑1U𝜑2SF(𝜑) alors
𝜑1U𝜑2q ssi (𝜑2q ou (𝜑1q𝜑1U𝜑2q))qq0
  1. b=1 ssi 𝜑q

Taille de l’automate : 2|SF(𝜑)|=2|𝜑|


Automates d’arbres

𝛴={a,b}

Construire un automate d’arbres qui accepte les arbres binaires sur 𝛴 avec un nombre pair de a.

𝒜Q,𝛴,𝛿,F Q={q0 nombre pair ,q1 nombre impair }F={qc} 𝛿{(a,q1),(b,q0),(q0,q1,a,q0),(q0,q1,b,q1),(q1,q1,a,q1),}

Leave a comment