Top Banner
Courtesy Costas Busch - R PI 1 NPDAs Accept Context-Free Languages
100

Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 1

NPDAs Accept Context-Free Languages

Page 2: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 2

Instantaneous Description

),,( suq

Currentstate Remaining

input

Currentstackcontents

Page 3: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

3

Properties of Instantaneous Description

• If an ID sequence is a legal computation for a PDA, then so is the sequence obtained by adding an additional string at the end of component number two.

),,(),,(

),,(),,(

*

*

ywpxwq

ypxq

P

P

Page 4: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

4

Properties of Instantaneous Description

• If an ID sequence is a legal computation for a PDA, then so is the sequence obtained by adding an additional string at the bottom of component number three.

),,(),,(

),,(),,(

*

*

ypxq

ypxq

P

P

Page 5: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

5

Properties of Instantaneous Description

• If an ID sequence is a legal computation for a PDA, and some tail of the input is not consumed, then removing this tail from all ID's result in a legal computation sequence.

),,(),,(

),,(),,(

*

*

ypxq

ywpxwq

P

P

Page 6: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

6

Languages of PDAAcceptance by Final State

Language of NPDA :M

Fq

qZwqwML

f

f

)},,(),,(:{)( 00

Initial state Final state

)(ML),,,,,,( 00 FZqQM

Page 7: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

7

Languages of PDAAcceptance by Empty Stack

Language of NPDA :M

)},,(),,(:{)( 00 qZwqwMN

Initial state Any state

)(ML),,,,,,( 00 FZqQM

Page 8: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

8

From Empty Stack to Final State

),,,,,( 00 ZqQPN

FP

If of some PDA)( NPNL

Then there is a PDA such that

)( FPLL

Page 9: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

9

From Empty Stack to Final StateProof: Let

Page 10: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

10

Property # 2

Page 11: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

11

Then there is a PDA such that

From Final State to Empty Stack

),,,,,,( 00 FZqQPF

NP

If for some PDA)( FPLL

)( NPNL

Page 12: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

12

From Final State to Empty StackProof: Let

Page 13: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

13

from Property # 2 of ID

Page 14: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 14

Context-Free

Languages(Grammars)

LanguagesAccepted

byNPDAs

Theorem:

Page 15: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 15

Context-Free

Languages(Grammars)

LanguagesAccepted

byNPDAs

Proof - Step 1:

Convert any context-free grammar to a NPDA with:

GM )()( MLGL

Page 16: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 16

Context-Free

Languages(Grammars)

LanguagesAccepted

byNPDAs

Proof - Step 2:

Convert any NPDA to a context-free grammar with: G

M)()( MLGL

Page 17: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 17

Converting Context-Free Grammars

to NPDAs

Proof - step 1

Page 18: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 18

to an NPDA automaton M

We will convert any context-free grammar G

Such that:

M Simulates leftmost derivations of G

Page 19: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 19

mk VVVS 2121

1 2 k 1k

$

1V2V

mV

Inputprocessed

Stackcontents

:G

:M

Input

Stack

leftmost variable

Leftmost derivation

Simulation of derivation

Page 20: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 20

nS 21

1 2 n $

:G

:M

Input

Stack

Leftmost derivation

Simulation of derivation

string of terminals

end of input is reached

Page 21: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 21

An example grammar:

T

TaT

bS

aSTbS

What is the equivalent NPDA?

Page 22: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 22

q0 q1 2qS, , $ $

Grammar:

NPDA:

T

TaT

bS

aSTbS

,

,

,

,

T

TaT

bS

aSTbS

bb

aa

,

,

Page 23: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 23

Grammar:

T

TaT

bS

aSTbS

A leftmost derivation:

abababTababTbaSTbS

Page 24: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 240q q1 2q

S, , $ $

T

TaT

bS

aSTbS

,

,

,

,

bb

aa

,

,

Input

Stack

$

a ab

Time 0

b

Derivation:

Page 25: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 25

q0 q1 2qS, , $ $

T

TaT

bS

aSTbS

,

,

,

,

bb

aa

,

,

Input

Stack

$

a ab b

S

Time 0

Derivation: S

Page 26: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 26

q0 2qS, , $ $

T

TaT

bS

aSTbS

,

,

,

,

bb

aa

,

,

Input

Stack

$

a ab b

a

b

ST

q1

Time 1

Derivation: aSTbS

Page 27: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 27

q0 2qS, , $ $

T

TaT

bS

aSTbS

,

,

,

,

bb

aa

,

,

Input

Stack

$

a ab b

a

b

ST

q1

Time 2

aSTbS Derivation:

Page 28: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 28

q0 2qS, , $ $

T

TaT

bS

aSTbS

,

,

,

,

bb

aa

,

,

Input

Stack

$

a ab b

bTb

q1

Time 3

Derivation: abTbaSTbS

Page 29: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 29

q0 2qS, , $ $

T

TaT

bS

aSTbS

,

,

,

,

bb

aa

,

,

Input

Stack

$

a ab b

bTb

q1

Time 4

Derivation: abTbaSTbS

Page 30: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 30

q0 2qS, , $ $

T

TaT

bS

aSTbS

,

,

,

,

bb

aa

,

,

Input

Stack

$

a ab b

b

Ta

q1

Time 5

Derivation: abTababTbaSTbS

Page 31: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 31

q0 2qS, , $ $

T

TaT

bS

aSTbS

,

,

,

,

bb

aa

,

,

Input

Stack

$

a ab b

b

Ta

q1

Time 6

Derivation: abababTababTbaSTbS

Page 32: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 32

q0 2qS, , $ $

T

TaT

bS

aSTbS

,

,

,

,

bb

aa

,

,

Input

Stack

$

a ab b

ba

q1

Time 7

Derivation: abababTababTbaSTbS

Page 33: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 33

q0 2qS, , $ $

T

TaT

bS

aSTbS

,

,

,

,

bb

aa

,

,

Input

Stack

$

a ab b

b

q1

Time 8

Derivation:

Page 34: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 34

q0 q1 2qS, , $ $

T

TaT

bS

aSTbS

,

,

,

,

bb

aa

,

,

Input

Stack

$

a ab b

accept

Time 9

Derivation:

Page 35: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 35

In general:

Given any grammar G

We can construct a NPDA M

With )()( MLGL

}){$,,,,,},,,({ 20210 qqTVTqqqM

),,,( PSTVG

Page 36: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 36

Constructing NPDA from grammar :

q0 q1 2qS, , $ $

wA, aa,

M

For any production

wAFor any terminal

a

G

Page 37: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 37

Grammar generates string G w

if and only if

NPDA acceptsM w

)()( MLGL

Page 38: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 38

Therefore:

For any context-free languagethere is a NPDAthat accepts the same language

Context-Free

Languages(Grammars)

LanguagesAccepted

byNPDAs

Page 39: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 39

Note: From CFG to PDA accepting by emptying stack

Given any grammar G

We can construct a NPDA M

With )()( MNGL

),,,( PSTVG

),,,,},({ SqTVTqM

Page 40: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 40

Constructing NPDA from grammar :

q

wA, aa,

M

For any production

wAFor any terminal

a

G

Page 41: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 41

Converting NPDAs

toContext-Free Grammars

Proof - step 2

Page 42: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 42

For any NPDA M

we will construct

a context-free grammar withG

)()( GLML

Page 43: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 43

Intuition:

G

The grammar simulates the machine

A derivation in Grammar :

Current configuration in NPDA M

abcABCabcS

Input processed Stack contents

terminals variables

Page 44: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 44

From NPDA to CFG

Lets look at how a PDA can consumeand empty the stack.

We shall define a grammar with variables of theform [pi-1 Yi pi] that would represent going from pi-1 to pi with the net effect of popping Yi.

kxxxx 21

Page 45: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

45

QsrrYspXraqZsZaqXYp

QrpYraqZrZaqYp

aqZpZaqp

,:]][[][),,(),(

:][][),,(),(

][),,(),(

),,(),,(*

0 pZwqo

To generate all those strings w that cause P to pop Z0 from its stack while going from q0 to p.

Page 46: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 46

Page 47: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

47

Page 48: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

48

}],[],[],[],[],[],[],[],{[ 0000 SqpZppZpXqpXppqZqqZqXpqXqV

Page 49: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

49

Page 50: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 50

Some Necessary Modifications

Modify (if necessary) the NPDA (accepting by reaching final state) so that:

1) The stack is never empty

2) It has a single final state and empties the stack when it accepts a string

3) Has transitions in a special form

Page 51: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 51

1)Modify the NPDA so that the stack is never empty

$

Stack

a

OK

$

OK NOT OK

Page 52: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 52

$

a$

Introduce the new symbol to denote the bottom of the stack

#

$

a#

$#

#

Page 53: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 53

Original NPDA

#,

At the beginning push into the stack#

original initial state

new initial state

Page 54: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 54

iq jqba $,

iq jqba #,

In transitions: replace every instance of with $ #

Example:

Page 55: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 55

if the automaton attempts to popor replace it will halt $

Convert all transitions so that:

Page 56: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 56

iq jqs ,

iq jqxx , s ,

$$ ,

{$}x

Convert transitions as follows:

halting state

Page 57: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 57

NPDA

fq

x,

,

Empty the stack{$}x

2) Modify the NPDA so that it empties the stack and has a unique final state

,

,

Old final states

$,

Page 58: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 58

3) modify the NPDA so that transitions have the following forms:

iq jq B,

OR

iq jqCDB ,

symbolsstack :,, DCB

Page 59: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 59

iq jqy ,

Convert:

iq jq y,

{$}

Page 60: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 60

iq jqBA,

Convert:

iq jqXBA, X,

{$}X

symbols

Page 61: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 61

iq jqByA,

Convert:

iq jqyA, BXX ,

{$}X

symbols2|| y

Convert recursively

Page 62: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 62

$,0q fq

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

}:{)( ba nnwML

Example of a NPDA in correct form:

symbolstack initial :$

Page 63: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 63

The Grammar Construction

)( jiBqq

In grammar :G

Terminals:Input symbols of NPDA

states

Stack symbol

Variables:

Page 64: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 64

iq jqBa,For each transition

We add production aBqq ji )(

Page 65: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 65

For each transition

We add productions

))(()( klljki DqqCqqaBqq

iq jqCDBa ,

For all possible statesin the automaton

lk qq ,

Page 66: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 66

Start Variable: )$( fo qq

Stack bottom symbol

Start state final state

Page 67: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 67

Example:

$,0q fq

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

aqq )1( 00Grammar production:

Page 68: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 68

Example:

$,0q fq

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

)$)(1(|)$)(1()$(

)$)(1(|)$)(1()$(

00000

00000000

fffff

ff

qqqqbqqqqbqq

qqqqbqqqqbqq

Grammar productions:

Page 69: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 69

Example:

$,0q fq

a, $ 0$a, 0 00a,1

b, $ 1$b, 1 11b, 0

Grammar production: )$( 0 fqq

Page 70: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 70

)$)(1(|)$)(1()$(

)$)(1(|)$)(1()$(

00000

00000000

fffff

ff

qqqqbqqqqbqq

qqqqbqqqqbqq

)1)(1(|)1)(1()1(

)1)(1(|)1)(1()1(

00000

00000000

fffff

ff

qqqqbqqqqbqq

qqqqbqqqqbqq

)$)(0(|)$)(0()$(

)$)(0(|)$)(0()$(

00000

00000000

fffff

ff

qqqqaqqqqaqq

qqqqaqqqqaqq

Resulting Grammar: ablestart vari:)$( 0 fqq

Page 71: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 71

)0)(0(|)0)(0()0(

)0)(0(|)0)(0()0(

00000

00000000

fffff

ff

qqqqaqqqqaqq

qqqqaqqqqaqq

bqq

aqq

)0(

)1(

00

00

)$( 0 fqq

Page 72: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 72

Derivation of string abba

)$( 0 fqq )$)(0( 000 fqqqqa

)$( 0 fqqab

)$)(1( 000 fqqqqabb

)$( 0 fqqabba abba

Page 73: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 73

In general:

wAqq ji

)(

if and only if

the NPDA goes from toby reading string andthe stack doesn’t change belowand then is removed from stack

iq jq

AA

w

Page 74: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 74

Therefore:

wqq f

)$( 0

if and only if

w is accepted by the NPDA

Page 75: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 75

Therefore:

For any NPDAthere is a context-free grammarthat accepts the same language

Context-Free

Languages(Grammars)

LanguagesAccepted

byNPDAs

Page 76: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 76

Deterministic PDA

DPDA

Page 77: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 77

Deterministic PDA: DPDA

q1 q2wba ,

1q 2qwb,

Allowed transitions:

(deterministic choices)

Page 78: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 78

Allowed transitions:

q1

q21, wb

q32, wc

q1

q21, wba

q32, wca

(deterministic choices)

Page 79: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 79

q1

q21, wba

q32, wba

Not allowed:

(non deterministic choices)

q1

q21, wb

q32, wba

Page 80: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 80

DPDA example

a, a

b, a q0 q1 q2 q3

b, a

, $ $

}0:{)( nbaML nn

a, a

Page 81: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 81

}0:{)( nbaML nnThe language

is deterministic context-free

Page 82: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 82

Definition:

A language is deterministic context-freeif there exists some DPDA that accepts it

L

Page 83: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 83

Example of Non-DPDA (NPDA)

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

}{)( RwwML

Page 84: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 84

, $ $q1 q2

bb

aa

,

,

, q0

bb

aa

,

,

Not allowed in DPDAs

Page 85: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 85

NPDAs

Have More Power than

DPDAs

Page 86: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 86

Deterministic

Context-FreeLanguages

(DPDA)

Context-Free

LanguagesNPDAs

Since every DPDA is also a NPDA

It holds that:

Page 87: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 87

We will actually show:

We will show that there existsa context-free language which is notaccepted by any DPDA

L

LL

Deterministic

Context-FreeLanguages

(DPDA)

Context-Free

Languages(NPDA)

Page 88: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 88

The language is:

}{}{ 2nnnn babaL 0n

We will show:

L• is context-free

L• is not deterministic context-free

Page 89: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 89

}{}{ 2nnnn babaL

Language is context-freeL

Context-free grammar for : L

21 | SSS

|11 baSS

|22 bbaSS

}{ nnba

}{ 2nnba

}{}{ 2nnnn baba

Page 90: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 90

}{}{ 2nnnn babaL

is not deterministic context-free

Theorem:

The language

(there is no DPDA that accepts ) L

Page 91: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 91

Proof: Assume for contradiction that

}{}{ 2nnnn babaL

is deterministic context free

Therefore:

there is a DPDA that accepts M L

Page 92: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 92

DPDA with M

nnba nb

acceptsnnba 2

acceptsnnba

}{}{)( 2nnnn babaML

Page 93: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 93

DPDA with M

nnba nb

}{}{)( 2nnnn babaML

Such a path exists because of the determinism

M

Page 94: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 94

The language is not context-free

}{ nnn cba

(we will prove this at a later class usingpumping lemma for context-free languages)

Fact 1:

Regular languages**ba

Context-free languagesnnba

Page 95: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 95

The language is not context-free

}{ nnn cbaL

}){}{( 2nnnn babaL

Fact 2:

(we can prove this using pumping lemma for context-free languages)

Page 96: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 96

We will construct a NPDA that accepts:

}{ nnn cbaL

}){}{( 2nnnn babaL

which is a contradiction!

Page 97: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 97

Modify M

M ncnnca

}{}{)( 2nnnn babaML

}{}{)( 2nnnn cacaML

Replacewith

bc

nnba nb

M

Page 98: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 98

The NPDA that accepts }{ nnn cbaL

nnba nb

nc

M

M

nnca

Connect final states of with final states of

M

M

Page 99: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 99

Since is accepted by a NPDA }{ nnn cbaL

it is context-free

Contradiction!

(since is not context-free)}{ nnn cbaL

Page 100: Courtesy Costas Busch - RPI1 NPDAs Accept Context-Free Languages.

Courtesy Costas Busch - RPI 100

Therefore:

}{}{ 2nnnn babaL

There is no DPDA that accepts

End of Proof

Not deterministic context free