• Non ci sono risultati.

Appendice 1: Un'esecuzione di Politically Correct

N/A
N/A
Protected

Academic year: 2021

Condividi "Appendice 1: Un'esecuzione di Politically Correct"

Copied!
17
0
0

Testo completo

(1)

Appendice 1: Un'esecuzione di Politically Correct

Per brevita' non viene riportata la conversione da PDA a CFG, in quanto troppo estesa.

Si riferisce allo stesso esempio utilizzato nel capitolo 10.

(2)

Initial History:

{Fail[0].Empty |> mu h.((alpha() + ((beta() ^ h) ^ h)) + rho[h]),

Work[1].Empty |> phi[(mu h.((alpha() + ((beta() ^ h) ^ h)) + h) ^ gamma())]} Initial Policies:

phi:

Q: [1; 2; 3]

Sigma: [alpha; beta; gamma] Delta (NFA): d(1, alpha) -> (1) d(1, beta) -> (2) d(1, gamma) -> (1) d(2, beta) -> (2) d(2, alpha) -> (1) d(2, gamma) -> (3) d(3, alpha) -> (3) d(3, beta) -> (3) d(3, gamma) -> (3) Q0: 1

Final set status: [1; 2] rho:

Q: [1; 2; 3]

Sigma: [alpha; beta] Delta (NFA): d(1, alpha) -> (1) d(3, alpha) -> (3) d(3, beta) -> (3) d(2, beta) -> (2) d(2, alpha) -> (3) d(1, beta) -> (2) Q0: 1

Final set status: [1; 2]

Check Started!

Creating framed Buchi for Policy phi... Result:

Q: [1; 2; 3; 4; 5]

Sigma: [alpha; beta; c-phi; gamma; o-phi] Delta (NFA): d(1, o-phi) -> (4) d(4, c-phi) -> (1) d(2, o-phi) -> (5) d(5, c-phi) -> (2) d(4, alpha) -> (4) d(4, beta) -> (5) d(4, gamma) -> (4) d(5, beta) -> (5) d(5, alpha) -> (4) d(1, alpha) -> (1) d(1, beta) -> (2) d(1, gamma) -> (1) d(2, beta) -> (2) d(2, alpha) -> (1) d(2, gamma) -> (3) d(3, alpha) -> (3) d(3, beta) -> (3) d(3, gamma) -> (3) Q0: 1

Final set status: [1; 2; 3; 4; 5] done!

Converting NFA in DFA... Resulting DFA:

Q: [1; 2; 3; 4; 5]

Sigma: [alpha; beta; c-phi; gamma; o-phi] Delta (DFA): d(1, alpha) -> (1) d(1, beta) -> (3) d(1, gamma) -> (1) d(1, o-phi) -> (2) d(3, alpha) -> (1) d(3, beta) -> (3) d(3, gamma) -> (5) d(3, o-phi) -> (4) d(5, alpha) -> (5) d(5, beta) -> (5) d(5, gamma) -> (5) d(2, alpha) -> (2) d(2, beta) -> (4) d(2, c-phi) -> (1) d(2, gamma) -> (2) d(4, alpha) -> (2) d(4, beta) -> (4) d(4, c-phi) -> (3) Q0: 1

Final set status: [1; 2; 3; 4; 5] done!

Applying negation to DFA... Result:

Q: [1; 2; 3; 4; 5; 6]

Sigma: [alpha; beta; c-phi; gamma; o-phi] Delta (DFA): d(6, alpha) -> (6) d(6, beta) -> (6) d(6, c-phi) -> (6) d(6, gamma) -> (6) d(6, o-phi) -> (6) d(1, alpha) -> (1) d(2, alpha) -> (2) d(3, alpha) -> (1) d(4, alpha) -> (2) d(5, alpha) -> (5) d(1, beta) -> (3) d(2, beta) -> (4) d(3, beta) -> (3) d(4, beta) -> (4) d(5, beta) -> (5) d(1, c-phi) -> (6) d(2, c-phi) -> (1) d(3, c-phi) -> (6) d(4, c-phi) -> (3) d(5, c-phi) -> (6) d(1, gamma) -> (1) d(2, gamma) -> (2) d(3, gamma) -> (5) d(4, gamma) -> (6) d(5, gamma) -> (5) d(1, o-phi) -> (2) d(2, o-phi) -> (6)

(3)

d(3, o-phi) -> (4) d(4, o-phi) -> (6) d(5, o-phi) -> (6) Q0: 1

Final set status: [6] done!

Creating framed Buchi for Policy rho... Result:

Q: [1; 2; 3; 4; 5]

Sigma: [alpha; beta; c-rho; o-rho] Delta (NFA): d(1, o-rho) -> (4) d(4, c-rho) -> (1) d(2, o-rho) -> (5) d(5, c-rho) -> (2) d(4, alpha) -> (4) d(5, beta) -> (5) d(4, beta) -> (5) d(1, alpha) -> (1) d(3, alpha) -> (3) d(3, beta) -> (3) d(2, beta) -> (2) d(2, alpha) -> (3) d(1, beta) -> (2) Q0: 1

Final set status: [1; 2; 3; 4; 5] done!

Converting NFA in DFA... Resulting DFA:

Q: [1; 2; 3; 4; 5]

Sigma: [alpha; beta; c-rho; o-rho] Delta (DFA): d(1, alpha) -> (1) d(1, beta) -> (3) d(1, o-rho) -> (2) d(3, alpha) -> (5) d(3, beta) -> (3) d(3, o-rho) -> (4) d(5, alpha) -> (5) d(5, beta) -> (5) d(2, alpha) -> (2) d(2, beta) -> (4) d(2, c-rho) -> (1) d(4, beta) -> (4) d(4, c-rho) -> (3) Q0: 1

Final set status: [1; 2; 3; 4; 5] done!

Applying negation to DFA... Result:

Q: [1; 2; 3; 4; 5; 6]

Sigma: [alpha; beta; c-rho; o-rho] Delta (DFA): d(6, alpha) -> (6) d(6, beta) -> (6) d(6, c-rho) -> (6) d(6, o-rho) -> (6) d(1, alpha) -> (1) d(2, alpha) -> (2) d(3, alpha) -> (5) d(4, alpha) -> (6) d(5, alpha) -> (5) d(1, beta) -> (3) d(2, beta) -> (4) d(3, beta) -> (3) d(4, beta) -> (4) d(5, beta) -> (5) d(1, c-rho) -> (6) d(2, c-rho) -> (1) d(3, c-rho) -> (6) d(4, c-rho) -> (3) d(5, c-rho) -> (6) d(1, o-rho) -> (2) d(2, o-rho) -> (6) d(3, o-rho) -> (4) d(4, o-rho) -> (6) d(5, o-rho) -> (6) Q0: 1

Final set status: [6] done!

History Linearization... Added Empty Plans:

{Fail[0].Empty |> mu h.(({Empty |> alpha()} + (({Empty |> beta()} ^ {Empty |> h}) ^ {Empty |> h})) + rho[{Empty |> h}]), Work[1].Empty |> phi[(mu

h.(({Empty |> alpha()} + (({Empty |> beta()} ^ {Empty |> h}) ^ {Empty |> h})) + {Empty |> h}) ^ {Empty |> gamma()})]} Before clear:

{Fail[0].((Empty | ((Empty | Empty) | Empty)) | Empty) |> mu h.((alpha() + ((beta() ^ h) ^ h)) + rho[h]),

Work[1].(((Empty | ((Empty | Empty) | Empty)) | Empty) | Empty) |> phi[(mu h.((alpha() + ((beta() ^ h) ^ h)) + h) ^ gamma())]}

Linearized History:

{Fail[0].Empty |> mu h.((alpha() + ((beta() ^ h) ^ h)) + rho[h]),

Work[1].Empty |> phi[(mu h.((alpha() + ((beta() ^ h) ^ h)) + h) ^ gamma())]} done! Dividing Locations... Resulting Histories: Location -1: mu h.((alpha() + ((beta() ^ h) ^ h)) + rho[h]) done! Regolarizing history... Signed History: mu h.((alpha + ((beta ^ h1) ^ h2)) + rho[h3]) Regolarized history: mu h.((alpha() + ((beta() ^ h) ^ h)) + rho[mu h.((alpha() + ((beta() ^ h) ^ h)) + h)])

done!

Renaming Variables... Resulting history:

(4)

rho[mu B.((alpha() + ((beta() ^ B) ^ B)) + B)])

done!

Converting History Expression into BPA process...

Resulting BPA: A

A:

((alpha + ((beta ^ A) ^ A)) + ((o-rho ^ B) ^ c-rho))

B:

((alpha + ((beta ^ B) ^ B)) + B) done!

Converting BPA process into CFG grammar (CNF)...

T set: [alpha; beta; c-rho; o-rho] NT set: [A; B] Resulting Grammar: NT: [A; B; C; D; E; F; G; H; I; J; K; L; M; N; O; P; Q; R; S; T; U; V; W] T:

[alpha; beta; c-rho; o-rho] PROD: A-> L A-> M B-> D B-> E C-> A D-> F D-> G E-> B F-> alpha G-> H^I H-> J^K I-> B J-> beta K-> B L-> R L-> S M-> N^O N-> P^Q O-> c-rho P-> o-rho Q-> B R-> alpha S-> T^U T-> V^W U-> A V-> beta W-> A S :C done!

Clearing Grammar...Useful prods: A-> L A-> M B-> D B-> E C-> A D-> F D-> G E-> B F-> alpha G-> H^I H-> J^K I-> B J-> beta K-> B L-> R L-> S M-> N^O N-> P^Q O-> c-rho P-> o-rho Q-> B R-> alpha S-> T^U T-> V^W U-> A V-> beta W-> A Nullable symbols:

[]Removed Epsilon productions: A-> L A-> M B-> D B-> E C-> A D-> F D-> G E-> B F-> alpha G-> H^I H-> J^K I-> B J-> beta K-> B L-> R L-> S M-> N^O N-> P^Q O-> c-rho P-> o-rho Q-> B R-> alpha S-> T^U T-> V^W U-> A V-> beta W-> A

Non unit productions: F-> alpha G-> H^I H-> J^K J-> beta M-> N^O N-> P^Q O-> c-rho P-> o-rho R-> alpha S-> T^U

(5)

T-> V^W V-> beta

Removed unit prod: NT:

[A; B; C; D; E; F; G; H; I; J; K; L; M; N; O; P; Q; R; S; T; U; V; W]

T:

[alpha; beta; c-rho; o-rho] PROD: A-> N^O A-> T^U A-> alpha B-> H^I B-> alpha C-> N^O C-> T^U C-> alpha D-> H^I D-> alpha E-> H^I E-> alpha F-> alpha G-> H^I H-> J^K I-> H^I I-> alpha J-> beta K-> H^I K-> alpha L-> T^U L-> alpha M-> N^O N-> P^Q O-> c-rho P-> o-rho Q-> H^I Q-> alpha R-> alpha S-> T^U T-> V^W U-> N^O U-> T^U U-> alpha V-> beta W-> N^O W-> T^U W-> alpha S :C Pruned Unused: NT: [C; H; I; J; K; N; O; P; Q; T; U; V; W] T:

[alpha; beta; c-rho; o-rho] PROD: C-> N^O C-> T^U C-> alpha H-> J^K I-> H^I I-> alpha J-> beta K-> H^I K-> alpha N-> P^Q O-> c-rho P-> o-rho Q-> H^I Q-> alpha T-> V^W U-> N^O U-> T^U U-> alpha V-> beta W-> N^O W-> T^U W-> alpha S :C

Merged Equal productions: NT:

[H; N; O; P; Q; T; V; W] T:

[alpha; beta; c-rho; o-rho] PROD: H-> V^Q N-> P^Q O-> c-rho P-> o-rho Q-> H^Q Q-> alpha T-> V^W V-> beta W-> N^O W-> T^W W-> alpha S :W done!

Converting Grammar in Chomsky Normal Form...

Result: NT:

[H; N; O; P; Q; T; V; W] T:

[alpha; beta; c-rho; o-rho] PROD: H-> V^Q N-> P^Q O-> c-rho P-> o-rho Q-> H^Q Q-> alpha T-> V^W V-> beta W-> N^O W-> T^W W-> alpha S :W done!

Converting Grammar in Greibach Normal Form...H-> V^Q

(6)

N-> P^Q O-> c-rho P-> o-rho Q-> V^Q^Q Q-> alpha T-> V^W V-> beta W-> alpha W-> beta^W^W W-> o-rho^Q^O Step 2: H-> beta^Q N-> o-rho^Q O-> c-rho P-> o-rho Q-> alpha Q-> beta^Q^Q T-> beta^W V-> beta W-> alpha W-> beta^W^W W-> o-rho^Q^O Step 3: H-> beta^Q N-> o-rho^Q O-> c-rho P-> o-rho Q-> alpha Q-> beta^Q^Q T-> beta^W V-> beta W-> alpha W-> beta^W^W W-> o-rho^Q^O done!

Clearing Grammar...Useful prods: H-> beta^Q N-> o-rho^Q O-> c-rho P-> o-rho Q-> alpha Q-> beta^Q^Q T-> beta^W V-> beta W-> alpha W-> beta^W^W W-> o-rho^Q^O Nullable symbols:

[]Removed Epsilon productions: H-> beta^Q N-> o-rho^Q O-> c-rho P-> o-rho Q-> alpha Q-> beta^Q^Q T-> beta^W V-> beta W-> alpha W-> beta^W^W W-> o-rho^Q^O

Non unit productions: H-> beta^Q N-> o-rho^Q O-> c-rho P-> o-rho Q-> alpha Q-> beta^Q^Q T-> beta^W V-> beta W-> alpha W-> beta^W^W W-> o-rho^Q^O Removed unit prod: NT:

[H; N; O; P; Q; T; V; W] T:

[alpha; beta; c-rho; o-rho] PROD: H-> beta^Q N-> o-rho^Q O-> c-rho P-> o-rho Q-> alpha Q-> beta^Q^Q T-> beta^W V-> beta W-> alpha W-> beta^W^W W-> o-rho^Q^O S :W Pruned Unused: NT: [O; Q; W] T:

[alpha; beta; c-rho; o-rho] PROD: O-> c-rho Q-> alpha Q-> beta^Q^Q W-> alpha W-> beta^W^W W-> o-rho^Q^O S :W

Merged Equal productions: NT:

[O; Q; W] T:

[alpha; beta; c-rho; o-rho] PROD: O-> c-rho Q-> alpha Q-> beta^Q^Q W-> alpha W-> beta^W^W W-> o-rho^Q^O S :W done!

(7)

Converting CFG into PDA... Generated PDA:

Q: [0]

Sigma: [alpha; beta; c-rho; o-rho] Stack: [O; Q; W] Delta: d(0, c-rho, O) -> (0, []) d(0, alpha, Q) -> (0, []) d(0, beta, Q) -> (0, [Q; Q]) d(0, alpha, W) -> (0, []) d(0, beta, W) -> (0, [W; W]) d(0, o-rho, W) -> (0, [Q; O]) Q0: 0 Z0: W

Final set status: [] done!

Converting PDA (acceptance by Empty Stack) in PDA (acceptance by Final Status)...

Initial PDA: Q: [0]

Sigma: [alpha; beta; c-rho; o-rho] Stack: [O; Q; W] Delta: d(0, c-rho, O) -> (0, []) d(0, alpha, Q) -> (0, []) d(0, beta, Q) -> (0, [Q; Q]) d(0, alpha, W) -> (0, []) d(0, beta, W) -> (0, [W; W]) d(0, o-rho, W) -> (0, [Q; O]) Q0: 0 Z0: W

Final set status: []

Resulting PDA: Q: [0; 1; 2]

Sigma: [; alpha; beta; c-rho; o-rho] Stack: [!inital!; O; Q; W] Delta: d(1, , !inital!) -> (0, [W; !inital!]) d(0, c-rho, O) -> (0, []) d(0, alpha, Q) -> (0, []) d(0, beta, Q) -> (0, [Q; Q]) d(0, alpha, W) -> (0, []) d(0, beta, W) -> (0, [W; W]) d(0, o-rho, W) -> (0, [Q; O]) d(0, , !inital!) -> (2, []) Q0: 1 Z0: !inital!

Final set status: [2] done!

Applying conjunction between DFA and PDA...

Extended DFA:

Q: [1; 2; 3; 4; 5; 6]

Sigma: [; alpha; beta; c-rho; o-rho] Delta (DFA): d(6, alpha) -> (6) d(6, beta) -> (6) d(6, c-rho) -> (6) d(6, o-rho) -> (6) d(1, alpha) -> (1) d(2, alpha) -> (2) d(3, alpha) -> (5) d(4, alpha) -> (6) d(5, alpha) -> (5) d(1, beta) -> (3) d(2, beta) -> (4) d(3, beta) -> (3) d(4, beta) -> (4) d(5, beta) -> (5) d(1, c-rho) -> (6) d(2, c-rho) -> (1) d(3, c-rho) -> (6) d(4, c-rho) -> (3) d(5, c-rho) -> (6) d(1, o-rho) -> (2) d(2, o-rho) -> (6) d(3, o-rho) -> (4) d(4, o-rho) -> (6) d(5, o-rho) -> (6) d(1, ) -> (1) d(2, ) -> (2) d(3, ) -> (3) d(4, ) -> (4) d(5, ) -> (5) d(6, ) -> (6) Q0: 1

Final set status: [6]

Status Table (DFA,PDA)->Conj : (1,0)->1 (1,1)->2 (1,2)->3 (2,0)->4 (2,1)->5 (2,2)->6 (3,0)->7 (3,1)->8 (3,2)->9 (4,0)->10 (4,1)->11 (4,2)->12 (5,0)->13 (5,1)->14 (5,2)->15 (6,0)->16 (6,1)->17 (6,2)->18 Result: Q: [1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18]

Sigma: [; alpha; beta; c-rho; o-rho] Stack: [!inital!; O; Q; W] Delta: d(1, , !inital!) -> (3, []) d(1, alpha, Q) -> (1, []) d(1, alpha, W) -> (1, []) d(1, beta, Q) -> (7, [Q; Q]) d(1, beta, W) -> (7, [W; W]) d(1, c-rho, O) -> (16, []) d(1, o-rho, W) -> (4, [Q; O]) d(2, , !inital!) -> (1, [W; !inital!]) d(4, , !inital!) -> (6, []) d(4, alpha, Q) -> (4, []) d(4, alpha, W) -> (4, [])

(8)

d(4, beta, Q) -> (10, [Q; Q]) d(4, beta, W) -> (10, [W; W]) d(4, c-rho, O) -> (1, []) d(4, o-rho, W) -> (16, [Q; O]) d(5, , !inital!) -> (4, [W; !inital!]) d(7, , !inital!) -> (9, []) d(7, alpha, Q) -> (13, []) d(7, alpha, W) -> (13, []) d(7, beta, Q) -> (7, [Q; Q]) d(7, beta, W) -> (7, [W; W]) d(7, c-rho, O) -> (16, []) d(7, o-rho, W) -> (10, [Q; O]) d(8, , !inital!) -> (7, [W; !inital!]) d(10, , !inital!) -> (12, []) d(10, alpha, Q) -> (16, []) d(10, alpha, W) -> (16, []) d(10, beta, Q) -> (10, [Q; Q]) d(10, beta, W) -> (10, [W; W]) d(10, c-rho, O) -> (7, []) d(10, o-rho, W) -> (16, [Q; O]) d(11, , !inital!) -> (10, [W; !inital!]) d(13, , !inital!) -> (15, []) d(13, alpha, Q) -> (13, []) d(13, alpha, W) -> (13, []) d(13, beta, Q) -> (13, [Q; Q]) d(13, beta, W) -> (13, [W; W]) d(13, c-rho, O) -> (16, []) d(13, o-rho, W) -> (16, [Q; O]) d(14, , !inital!) -> (13, [W; !inital!]) d(16, , !inital!) -> (18, []) d(16, alpha, Q) -> (16, []) d(16, alpha, W) -> (16, []) d(16, beta, Q) -> (16, [Q; Q]) d(16, beta, W) -> (16, [W; W]) d(16, c-rho, O) -> (16, []) d(16, o-rho, W) -> (16, [Q; O]) d(17, , !inital!) -> (16, [W; !inital!]) Q0: 2 Z0: !inital!

Final set status: [18] done!

Converting PDA into CFG...done! Clearing Grammar...Useful prods: A-> WO^V AMB-> D^B AOF-> H^F AUG-> UQ^R AUM-> L^R AUR-> T^R AWJ-> WR^V AWM-> NH^V AWP-> P^V AWS-> WY^V AWU-> X^V B-> EPSILON C-> alpha D-> alpha D-> o-rho^G^I E-> c-rho F-> EPSILON G-> alpha H-> alpha I-> c-rho IK-> beta^K^T J-> EPSILON K-> alpha K-> beta^K^T KL-> beta^O^W L-> alpha L-> beta^L^T M-> c-rho N-> EPSILON NH-> beta^L^WY NH-> beta^NH^X NH-> o-rho^O^Y O-> alpha O-> beta^O^W P-> alpha P-> beta^P^X P-> o-rho^W^Y Q-> c-rho R-> EPSILON S-> A T-> alpha T-> beta^T^T U-> c-rho UQ-> beta^L^T V-> EPSILON W-> alpha W-> beta^W^W WO-> beta^L^WY WO-> beta^NH^X WO-> o-rho^KL^Y WR-> beta^P^X WR-> o-rho^W^Y WY-> beta^T^WY WY-> beta^WY^X WY-> o-rho^W^Y X-> alpha X-> beta^X^X X-> o-rho^W^Y Y-> c-rho Nullable symbols: [B; F; J; N; R; V]Removed Epsilon productions: A-> WO A-> WO^V AMB-> D AMB-> D^B AOF-> H AOF-> H^F AUG-> UQ AUG-> UQ^R AUM-> L AUM-> L^R AUR-> T AUR-> T^R AWJ-> WR AWJ-> WR^V AWM-> NH AWM-> NH^V AWP-> P AWP-> P^V AWS-> WY AWS-> WY^V AWU-> X

(9)

AWU-> X^V C-> alpha D-> alpha D-> o-rho^G^I E-> c-rho G-> alpha H-> alpha I-> c-rho IK-> beta^K^T K-> alpha K-> beta^K^T KL-> beta^O^W L-> alpha L-> beta^L^T M-> c-rho NH-> beta^L^WY NH-> beta^NH^X NH-> o-rho^O^Y O-> alpha O-> beta^O^W P-> alpha P-> beta^P^X P-> o-rho^W^Y Q-> c-rho S-> A T-> alpha T-> beta^T^T U-> c-rho UQ-> beta^L^T W-> alpha W-> beta^W^W WO-> beta^L^WY WO-> beta^NH^X WO-> o-rho^KL^Y WR-> beta^P^X WR-> o-rho^W^Y WY-> beta^T^WY WY-> beta^WY^X WY-> o-rho^W^Y X-> alpha X-> beta^X^X X-> o-rho^W^Y Y-> c-rho

Non unit productions: A-> WO^V AMB-> D^B AOF-> H^F AUG-> UQ^R AUM-> L^R AUR-> T^R AWJ-> WR^V AWM-> NH^V AWP-> P^V AWS-> WY^V AWU-> X^V C-> alpha D-> alpha D-> o-rho^G^I E-> c-rho G-> alpha H-> alpha I-> c-rho IK-> beta^K^T K-> alpha K-> beta^K^T KL-> beta^O^W L-> alpha L-> beta^L^T M-> c-rho NH-> beta^L^WY NH-> beta^NH^X NH-> o-rho^O^Y O-> alpha O-> beta^O^W P-> alpha P-> beta^P^X P-> o-rho^W^Y Q-> c-rho T-> alpha T-> beta^T^T U-> c-rho UQ-> beta^L^T W-> alpha W-> beta^W^W WO-> beta^L^WY WO-> beta^NH^X WO-> o-rho^KL^Y WR-> beta^P^X WR-> o-rho^W^Y WY-> beta^T^WY WY-> beta^WY^X WY-> o-rho^W^Y X-> alpha X-> beta^X^X X-> o-rho^W^Y Y-> c-rho

Removed unit prod: NT:

[A; AMB; AOF; AUG; AUM; AUR; AWJ; AWM; AWP; AWS; AWU; C; D; E; G; H; I; IK; K; KL; L; M; NH; O; P; Q; S; T; U; UQ; W; WO; WR; WY; X; Y]

T:

[; alpha; beta; c-rho; o-rho] PROD: A-> WO^V A-> beta^L^WY A-> beta^NH^X A-> o-rho^KL^Y AMB-> D^B AMB-> alpha AMB-> o-rho^G^I AOF-> H^F AOF-> alpha AUG-> UQ^R AUG-> beta^L^T AUM-> L^R AUM-> alpha AUM-> beta^L^T AUR-> T^R AUR-> alpha AUR-> beta^T^T AWJ-> WR^V AWJ-> beta^P^X AWJ-> o-rho^W^Y AWM-> NH^V AWM-> beta^L^WY

(10)

AWM-> beta^NH^X AWM-> o-rho^O^Y AWP-> P^V AWP-> alpha AWP-> beta^P^X AWP-> o-rho^W^Y AWS-> WY^V AWS-> beta^T^WY AWS-> beta^WY^X AWS-> o-rho^W^Y AWU-> X^V AWU-> alpha AWU-> beta^X^X AWU-> o-rho^W^Y C-> alpha D-> alpha D-> o-rho^G^I E-> c-rho G-> alpha H-> alpha I-> c-rho IK-> beta^K^T K-> alpha K-> beta^K^T KL-> beta^O^W L-> alpha L-> beta^L^T M-> c-rho NH-> beta^L^WY NH-> beta^NH^X NH-> o-rho^O^Y O-> alpha O-> beta^O^W P-> alpha P-> beta^P^X P-> o-rho^W^Y Q-> c-rho S-> WO^V S-> beta^L^WY S-> beta^NH^X S-> o-rho^KL^Y T-> alpha T-> beta^T^T U-> c-rho UQ-> beta^L^T W-> alpha W-> beta^W^W WO-> beta^L^WY WO-> beta^NH^X WO-> o-rho^KL^Y WR-> beta^P^X WR-> o-rho^W^Y WY-> beta^T^WY WY-> beta^WY^X WY-> o-rho^W^Y X-> alpha X-> beta^X^X X-> o-rho^W^Y Y-> c-rho S :S Pruned Unused: NT: [KL; L; NH; O; S; T; V; W; WO; WY; X; Y] T:

[; alpha; beta; c-rho; o-rho] PROD: KL-> beta^O^W L-> alpha L-> beta^L^T NH-> beta^L^WY NH-> beta^NH^X NH-> o-rho^O^Y O-> alpha O-> beta^O^W S-> WO^V S-> beta^L^WY S-> beta^NH^X S-> o-rho^KL^Y T-> alpha T-> beta^T^T W-> alpha W-> beta^W^W WO-> beta^L^WY WO-> beta^NH^X WO-> o-rho^KL^Y WY-> beta^T^WY WY-> beta^WY^X WY-> o-rho^W^Y X-> alpha X-> beta^X^X X-> o-rho^W^Y Y-> c-rho S :S

Merged Equal productions: NT:

[KL; L; NH; O; S; T; V; W; WO; WY; X; Y] T:

[; alpha; beta; c-rho; o-rho] PROD: KL-> beta^O^W L-> alpha L-> beta^L^T NH-> beta^L^WY NH-> beta^NH^X NH-> o-rho^O^Y O-> alpha O-> beta^O^W S-> WO^V S-> beta^L^WY S-> beta^NH^X S-> o-rho^KL^Y T-> alpha T-> beta^T^T W-> alpha W-> beta^W^W WO-> beta^L^WY WO-> beta^NH^X WO-> o-rho^KL^Y WY-> beta^T^WY WY-> beta^WY^X WY-> o-rho^W^Y X-> alpha X-> beta^X^X X-> o-rho^W^Y

(11)

Y-> c-rho S :S done!

Checking for useful symbols... Initial New V: [L; O; T; W; X; Y] Initial Old V: [] New V: [KL; L; NH; O; T; W; WY; X; Y] Old V: [L; O; T; W; X; Y] New V: [KL; L; NH; O; S; T; W; WO; WY; X; Y] Old V: [KL; L; NH; O; T; W; WY; X; Y] New V: [KL; L; NH; O; S; T; W; WO; WY; X; Y] Old V: [KL; L; NH; O; S; T; W; WO; WY; X; Y] Final set: [KL; L; NH; O; S; T; W; WO; WY; X; Y]

The Grammar is Empty: false

Plan (Fail[0].Empty) doesn't respect rho at location -1.A possible violation is: beta^alpha^o-rho^alpha^c-rho

Dividing Locations... Resulting Histories: Location -1:

phi[(mu h.((alpha() + ((beta() ^ h) ^ h)) + h) ^ gamma())]

done!

Regolarizing history... Signed History:

phi[(mu h.((alpha + ((beta ^ h1) ^ h2)) + h3) ^ gamma)]

Regolarized history:

phi[(mu h.((alpha() + ((beta() ^ h) ^ h)) + h) ^ gamma())]

done!

Renaming Variables... Resulting history:

phi[(mu A.((alpha() + ((beta() ^ A) ^ A)) + A) ^ gamma())]

done!

Converting History Expression into BPA process...

Resulting BPA:

((o-phi ^ (A ^ gamma)) ^ c-phi) A:

((alpha + ((beta ^ A) ^ A)) + A) done!

Converting BPA process into CFG grammar

(CNF)...

T set: [alpha; beta; c-phi; gamma; o-phi] NT set: [A] Resulting Grammar: NT: [A; B; C; D; E; F; G; H; I; J; K; L; M; N; O; P] T:

[alpha; beta; c-phi; gamma; o-phi] PROD: A-> C A-> D B-> K^L C-> E C-> F D-> A E-> alpha F-> G^H G-> I^J H-> A I-> beta J-> A K-> M^N L-> c-phi M-> o-phi N-> O^P O-> A P-> gamma S :B done!

Clearing Grammar...Useful prods: A-> C A-> D B-> K^L C-> E C-> F D-> A E-> alpha F-> G^H G-> I^J H-> A I-> beta J-> A K-> M^N L-> c-phi M-> o-phi N-> O^P O-> A P-> gamma Nullable symbols:

[]Removed Epsilon productions: A-> C A-> D B-> K^L C-> E C-> F D-> A E-> alpha F-> G^H G-> I^J

(12)

H-> A I-> beta J-> A K-> M^N L-> c-phi M-> o-phi N-> O^P O-> A P-> gamma

Non unit productions: B-> K^L E-> alpha F-> G^H G-> I^J I-> beta K-> M^N L-> c-phi M-> o-phi N-> O^P P-> gamma

Removed unit prod: NT:

[A; B; C; D; E; F; G; H; I; J; K; L; M; N; O; P]

T:

[alpha; beta; c-phi; gamma; o-phi] PROD: A-> G^H A-> alpha B-> K^L C-> G^H C-> alpha D-> G^H D-> alpha E-> alpha F-> G^H G-> I^J H-> G^H H-> alpha I-> beta J-> G^H J-> alpha K-> M^N L-> c-phi M-> o-phi N-> O^P O-> G^H O-> alpha P-> gamma S :B Pruned Unused: NT: [B; G; H; I; J; K; L; M; N; O; P] T:

[alpha; beta; c-phi; gamma; o-phi] PROD: B-> K^L G-> I^J H-> G^H H-> alpha I-> beta J-> G^H J-> alpha K-> M^N L-> c-phi M-> o-phi N-> O^P O-> G^H O-> alpha P-> gamma S :B

Merged Equal productions: NT:

[B; G; I; K; L; M; N; O; P] T:

[alpha; beta; c-phi; gamma; o-phi] PROD: B-> K^L G-> I^O I-> beta K-> M^N L-> c-phi M-> o-phi N-> O^P O-> G^O O-> alpha P-> gamma S :B done!

Converting Grammar in Chomsky Normal Form...

Result: NT:

[B; G; I; K; L; M; N; O; P] T:

[alpha; beta; c-phi; gamma; o-phi] PROD: B-> K^L G-> I^O I-> beta K-> M^N L-> c-phi M-> o-phi N-> O^P O-> G^O O-> alpha P-> gamma S :B done!

Converting Grammar in Greibach Normal Form...B-> K^L G-> I^O I-> beta K-> M^N L-> c-phi M-> o-phi N-> O^P O-> alpha O-> beta^O^O

(13)

P-> gamma Step 2: B-> o-phi^N^L G-> beta^O I-> beta K-> o-phi^N L-> c-phi M-> o-phi N-> alpha^P N-> beta^O^O^P O-> alpha O-> beta^O^O P-> gamma Step 3: B-> o-phi^N^L G-> beta^O I-> beta K-> o-phi^N L-> c-phi M-> o-phi N-> alpha^P N-> beta^O^O^P O-> alpha O-> beta^O^O P-> gamma done!

Clearing Grammar...Useful prods: B-> o-phi^N^L G-> beta^O I-> beta K-> o-phi^N L-> c-phi M-> o-phi N-> alpha^P N-> beta^O^O^P O-> alpha O-> beta^O^O P-> gamma Nullable symbols:

[]Removed Epsilon productions: B-> o-phi^N^L G-> beta^O I-> beta K-> o-phi^N L-> c-phi M-> o-phi N-> alpha^P N-> beta^O^O^P O-> alpha O-> beta^O^O P-> gamma

Non unit productions: B-> o-phi^N^L G-> beta^O I-> beta K-> o-phi^N L-> c-phi M-> o-phi N-> alpha^P N-> beta^O^O^P O-> alpha O-> beta^O^O P-> gamma

Removed unit prod: NT:

[B; G; I; K; L; M; N; O; P] T:

[alpha; beta; c-phi; gamma; o-phi] PROD: B-> o-phi^N^L G-> beta^O I-> beta K-> o-phi^N L-> c-phi M-> o-phi N-> alpha^P N-> beta^O^O^P O-> alpha O-> beta^O^O P-> gamma S :B Pruned Unused: NT: [B; L; N; O; P] T:

[alpha; beta; c-phi; gamma; o-phi] PROD: B-> o-phi^N^L L-> c-phi N-> alpha^P N-> beta^O^O^P O-> alpha O-> beta^O^O P-> gamma S :B

Merged Equal productions: NT:

[B; L; N; O; P] T:

[alpha; beta; c-phi; gamma; o-phi] PROD: B-> o-phi^N^L L-> c-phi N-> alpha^P N-> beta^O^O^P O-> alpha O-> beta^O^O P-> gamma S :B done!

Converting CFG into PDA... Generated PDA:

Q: [0]

Sigma: [alpha; beta; c-phi; gamma; o-phi]

(14)

Delta: d(0, o-phi, B) -> (0, [N; L]) d(0, c-phi, L) -> (0, []) d(0, alpha, N) -> (0, [P]) d(0, beta, N) -> (0, [O; O; P]) d(0, alpha, O) -> (0, [])

d(0, beta, O) -> (0, [O; O]) d(0, gamma, P) -> (0, []) Q0: 0

Z0: B

Final set status: [] done!

Converting PDA (acceptance by Empty Stack) in PDA (acceptance by Final Status)...

Initial PDA: Q: [0]

Sigma: [alpha; beta; c-phi; gamma; o-phi] Stack: [B; L; N; O; P] Delta: d(0, o-phi, B) -> (0, [N; L]) d(0, c-phi, L) -> (0, []) d(0, alpha, N) -> (0, [P]) d(0, beta, N) -> (0, [O; O; P]) d(0, alpha, O) -> (0, [])

d(0, beta, O) -> (0, [O; O]) d(0, gamma, P) -> (0, []) Q0: 0

Z0: B

Final set status: []

Resulting PDA: Q: [0; 1; 2]

Sigma: [; alpha; beta; c-phi; gamma; o-phi] Stack: [!inital!; B; L; N; O; P] Delta: d(1, , !inital!) -> (0, [B; !inital!]) d(0, o-phi, B) -> (0, [N; L]) d(0, c-phi, L) -> (0, []) d(0, alpha, N) -> (0, [P]) d(0, beta, N) -> (0, [O; O; P]) d(0, alpha, O) -> (0, [])

d(0, beta, O) -> (0, [O; O]) d(0, gamma, P) -> (0, []) d(0, , !inital!) -> (2, []) Q0: 1

Z0: !inital!

Final set status: [2] done!

Applying conjunction between DFA and PDA...

Extended DFA:

Q: [1; 2; 3; 4; 5; 6]

Sigma: [; alpha; beta; c-phi; gamma; o-phi] Delta (DFA): d(6, alpha) -> (6) d(6, beta) -> (6) d(6, c-phi) -> (6) d(6, gamma) -> (6) d(6, o-phi) -> (6) d(1, alpha) -> (1) d(2, alpha) -> (2) d(3, alpha) -> (1) d(4, alpha) -> (2) d(5, alpha) -> (5) d(1, beta) -> (3) d(2, beta) -> (4) d(3, beta) -> (3) d(4, beta) -> (4) d(5, beta) -> (5) d(1, c-phi) -> (6) d(2, c-phi) -> (1) d(3, c-phi) -> (6) d(4, c-phi) -> (3) d(5, c-phi) -> (6) d(1, gamma) -> (1) d(2, gamma) -> (2) d(3, gamma) -> (5) d(4, gamma) -> (6) d(5, gamma) -> (5) d(1, o-phi) -> (2) d(2, o-phi) -> (6) d(3, o-phi) -> (4) d(4, o-phi) -> (6) d(5, o-phi) -> (6) d(1, ) -> (1) d(2, ) -> (2) d(3, ) -> (3) d(4, ) -> (4) d(5, ) -> (5) d(6, ) -> (6) Q0: 1

Final set status: [6]

Status Table (DFA,PDA)->Conj : (1,0)->1 (1,1)->2 (1,2)->3 (2,0)->4 (2,1)->5 (2,2)->6 (3,0)->7 (3,1)->8 (3,2)->9 (4,0)->10 (4,1)->11 (4,2)->12 (5,0)->13 (5,1)->14 (5,2)->15 (6,0)->16 (6,1)->17 (6,2)->18 Result: Q: [1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18]

Sigma: [; alpha; beta; c-phi; gamma; o-phi] Stack: [!inital!; B; L; N; O; P] Delta: d(1, , !inital!) -> (3, []) d(1, alpha, N) -> (1, [P]) d(1, alpha, O) -> (1, []) d(1, beta, N) -> (7, [O; O; P])

(15)

d(1, beta, O) -> (7, [O; O]) d(1, c-phi, L) -> (16, []) d(1, gamma, P) -> (1, []) d(1, o-phi, B) -> (4, [N; L]) d(2, , !inital!) -> (1, [B; !inital!]) d(4, , !inital!) -> (6, []) d(4, alpha, N) -> (4, [P]) d(4, alpha, O) -> (4, []) d(4, beta, N) -> (10, [O; O; P]) d(4, beta, O) -> (10, [O; O]) d(4, c-phi, L) -> (1, []) d(4, gamma, P) -> (4, []) d(4, o-phi, B) -> (16, [N; L]) d(5, , !inital!) -> (4, [B; !inital!]) d(7, , !inital!) -> (9, []) d(7, alpha, N) -> (1, [P]) d(7, alpha, O) -> (1, []) d(7, beta, N) -> (7, [O; O; P]) d(7, beta, O) -> (7, [O; O]) d(7, c-phi, L) -> (16, []) d(7, gamma, P) -> (13, []) d(7, o-phi, B) -> (10, [N; L]) d(8, , !inital!) -> (7, [B; !inital!]) d(10, , !inital!) -> (12, []) d(10, alpha, N) -> (4, [P]) d(10, alpha, O) -> (4, []) d(10, beta, N) -> (10, [O; O; P]) d(10, beta, O) -> (10, [O; O]) d(10, c-phi, L) -> (7, []) d(10, gamma, P) -> (16, []) d(10, o-phi, B) -> (16, [N; L]) d(11, , !inital!) -> (10, [B; !inital!]) d(13, , !inital!) -> (15, []) d(13, alpha, N) -> (13, [P]) d(13, alpha, O) -> (13, []) d(13, beta, N) -> (13, [O; O; P]) d(13, beta, O) -> (13, [O; O]) d(13, c-phi, L) -> (16, []) d(13, gamma, P) -> (13, []) d(13, o-phi, B) -> (16, [N; L]) d(14, , !inital!) -> (13, [B; !inital!]) d(16, , !inital!) -> (18, []) d(16, alpha, N) -> (16, [P]) d(16, alpha, O) -> (16, []) d(16, beta, N) -> (16, [O; O; P]) d(16, beta, O) -> (16, [O; O]) d(16, c-phi, L) -> (16, []) d(16, gamma, P) -> (16, []) d(16, o-phi, B) -> (16, [N; L]) d(17, , !inital!) -> (16, [B; !inital!]) Q0: 2 Z0: !inital!

Final set status: [18] done!

Converting PDA into CFG...done! Clearing Grammar...Useful prods: AOD-> ZF^B AOJ-> BBB^B AYL-> BAF^V AYR-> BCZ^V AYU-> BEJ^V AYW-> BFB^V AZO-> alpha^Y AZO-> beta^W^W^Y B-> EPSILON BAF-> o-phi^AZO^X BAI-> alpha^E BAI-> beta^K^C^E BBB-> o-phi^BBE^H BBE-> alpha^I BBE-> beta^O^G^I BCZ-> o-phi^AZO^X BDO-> alpha^U BDO-> beta^T^T^U BEJ-> o-phi^AZO^X BFB-> o-phi^AZO^X C-> alpha C-> beta^K^C D-> c-phi E-> gamma F-> EPSILON G-> alpha G-> beta^O^G H-> c-phi I-> gamma J-> EPSILON K-> alpha K-> beta^K^C L-> c-phi M-> gamma N-> EPSILON O-> alpha O-> beta^O^G P-> c-phi Q-> gamma R-> EPSILON T-> alpha T-> beta^T^T T-> c-phi U-> gamma V-> EPSILON W-> alpha W-> beta^W^W X-> c-phi Y-> gamma Z-> alpha^E Z-> beta^K^C^E ZF-> o-phi^ZK^H ZK-> alpha^I ZK-> beta^O^G^I Nullable symbols: [B; F; J; N; R; V]Removed Epsilon productions: AOD-> ZF AOD-> ZF^B AOJ-> BBB AOJ-> BBB^B AYL-> BAF AYL-> BAF^V AYR-> BCZ AYR-> BCZ^V AYU-> BEJ AYU-> BEJ^V AYW-> BFB AYW-> BFB^V AZO-> alpha^Y

(16)

AZO-> beta^W^W^Y BAF-> o-phi^AZO^X BAI-> alpha^E BAI-> beta^K^C^E BBB-> o-phi^BBE^H BBE-> alpha^I BBE-> beta^O^G^I BCZ-> o-phi^AZO^X BDO-> alpha^U BDO-> beta^T^T^U BEJ-> o-phi^AZO^X BFB-> o-phi^AZO^X C-> alpha C-> beta^K^C D-> c-phi E-> gamma G-> alpha G-> beta^O^G H-> c-phi I-> gamma K-> alpha K-> beta^K^C L-> c-phi M-> gamma O-> alpha O-> beta^O^G P-> c-phi Q-> gamma T-> alpha T-> beta^T^T T-> c-phi U-> gamma W-> alpha W-> beta^W^W X-> c-phi Y-> gamma Z-> alpha^E Z-> beta^K^C^E ZF-> o-phi^ZK^H ZK-> alpha^I ZK-> beta^O^G^I

Non unit productions: AOD-> ZF^B AOJ-> BBB^B AYL-> BAF^V AYR-> BCZ^V AYU-> BEJ^V AYW-> BFB^V AZO-> alpha^Y AZO-> beta^W^W^Y BAF-> o-phi^AZO^X BAI-> alpha^E BAI-> beta^K^C^E BBB-> o-phi^BBE^H BBE-> alpha^I BBE-> beta^O^G^I BCZ-> o-phi^AZO^X BDO-> alpha^U BDO-> beta^T^T^U BEJ-> o-phi^AZO^X BFB-> o-phi^AZO^X C-> alpha C-> beta^K^C D-> c-phi E-> gamma G-> alpha G-> beta^O^G H-> c-phi I-> gamma K-> alpha K-> beta^K^C L-> c-phi M-> gamma O-> alpha O-> beta^O^G P-> c-phi Q-> gamma T-> alpha T-> beta^T^T T-> c-phi U-> gamma W-> alpha W-> beta^W^W X-> c-phi Y-> gamma Z-> alpha^E Z-> beta^K^C^E ZF-> o-phi^ZK^H ZK-> alpha^I ZK-> beta^O^G^I Removed unit prod: NT:

[AOD; AOJ; AYL; AYR; AYU; AYW; AZO; BAF; BAI; BBB; BBE; BCZ; BDO; BEJ; BFB; C; D; E; G; H; I; K; L; M; O; P; Q; T; U; W; X; Y; Z; ZF; ZK]

T:

[; alpha; beta; c-phi; gamma; o-phi] PROD: AOD-> ZF^B AOD-> o-phi^ZK^H AOJ-> BBB^B AOJ-> o-phi^BBE^H AYL-> BAF^V AYL-> o-phi^AZO^X AYR-> BCZ^V AYR-> o-phi^AZO^X AYU-> BEJ^V AYU-> o-phi^AZO^X AYW-> BFB^V AYW-> o-phi^AZO^X AZO-> alpha^Y AZO-> beta^W^W^Y BAF-> o-phi^AZO^X BAI-> alpha^E BAI-> beta^K^C^E BBB-> o-phi^BBE^H BBE-> alpha^I BBE-> beta^O^G^I BCZ-> o-phi^AZO^X BDO-> alpha^U BDO-> beta^T^T^U BEJ-> o-phi^AZO^X BFB-> o-phi^AZO^X C-> alpha C-> beta^K^C D-> c-phi

(17)

E-> gamma G-> alpha G-> beta^O^G H-> c-phi I-> gamma K-> alpha K-> beta^K^C L-> c-phi M-> gamma O-> alpha O-> beta^O^G P-> c-phi Q-> gamma T-> alpha T-> beta^T^T T-> c-phi U-> gamma W-> alpha W-> beta^W^W X-> c-phi Y-> gamma Z-> alpha^E Z-> beta^K^C^E ZF-> o-phi^ZK^H ZK-> alpha^I ZK-> beta^O^G^I S :S Pruned Unused: NT: [S] T:

[; alpha; beta; c-phi; gamma; o-phi] PROD:

S :S

Merged Equal productions: NT:

[S] T:

[; alpha; beta; c-phi; gamma; o-phi] PROD:

S :S done!

Checking for useful symbols... Initial New V:

[]

Initial Old V: []

Final set: []

The Grammar is Empty: true

All Policies Respected in Location -1 All Policies Respected in All Location By Plan Work[1].Empty

<===========>

Riferimenti

Documenti correlati