Chomsky Hierarchy II (정규포함 관계) 12. 1 언어 class들 사이의 포함관계 12. 2 Regular 언어에 대한 pumping lemma Lemma 증명 12. 3 Pumping lemma 응용 응용 예 12. 4 CFL에 대한 pumping lemma Lemma 응용 예 12. 5 Ogden’s lemma Lemma 응용 12. 6 CFL에 대한 pumping lemma 증명 연습문제 301
Pumping Lemma 형식언어 및 오토마타 체계 II 증명: M을 언어 L을 인식하는 DFA의 state transition graph 이라 하자. Graph M 상에서 edge의 방향을 따라 두 state를 연결하는 길을 state transition path 라 하고, 이 path의 각 edge 상에 있는 기호를 차례로 모 아 만 든 string 을 그 state transition path 의 path label 이 라 하 자. 아래의 state transition graph 상에서 state 1 2 4 3 2 4 를 차례로 잇는 edge로 구성된 transition path의 path label은 aabba 이다. 물론 이 DFA에 aabba를 input로 주면 path 1 2 4 3 2 4 를 따라 transition이 발생한다. 2 a start 1 a a b 3 4 b b 312
형식언어 및 오토마타 체계 II Pumping Lemma: 증명 String z 가 DFA M이 인식하는 언어 L에 포함되어 있으므로 input z 에 의한 transition은 그림과 같이 accepting state (예의 4) 에서 끝나야 한다. |z| = m n 2 a start 1 a a b 3 4 start a 1 a 2 . . . ai aj+1. q ai+1 aj . . am b b (a) Label aabba을 갖는 path M (b) Label a 1 a 2 …am을 갖는 path 315
형식언어 및 오토마타 체계 II Pumping Lemma: 증명 아래 그림과 같이 z를 label로 갖는 transition path 상에서 cycle 이전의 부 분 의 path label을 u, cycle 부 분 의 path label을 v, cycle 이 후 부 터 accepting state 까지 path label을 w 라 하자. State q 가 start state 이면 u = , transition path의 최 종 state 이 면 w = 이 다. Cycle 부 분 v 는 최 소 한 하나의 symbol 이 있어야 하므로 |v| 1 이다. z = a 1 a 2 …ai ai+1. . aj aj+1. . am u = a, v = abb, w = a 2 a start 1 a b w |z| = m n a b 3 v u 4 b start a 1 M a 2 . . . u ai aj+1. q ai+1 |v| 1 . aj . am w v 316
형식언어 및 오토마타 체계 II Pumping Lemma: 증명 DFA M는 string uvw 를 accept 하므로, 분명 uw = uv 0 w, uvvw = uv 2 w, uvvvw = uv 3 w, . . 등 모든 i 0 에 대하여, uviw 도 accept 한다. 즉, uviw L 이다. z = a 1 a 2 …ai ai+1. . aj aj+1. . am u = a, v = abb, w = a For all i 0, a(abb)ia L 2 a start 1 a b |z| = m n 4 b w |uv| n |v| 1 For all i 0, uviw L a b 3 v u start a 1 M a 2 . . . u ai aj+1. q ai+1 . . am aj w v 318