PL/오토마타, 컴파일러
[Automata] CFG와 Pumping Lemma
SweetDev
2021. 12. 17. 16:26
Chapter 8의 내용이다!
CFG의 특성에 대해서는 이미 정의할 때 한번 다뤘는데 왜 또 얘기하지? 싶었는데
Pumping Lemma를 다루기 위한 것이였던 것 같다!
Theorem 8.3, 8.4
CFL은 union, concatenation, star-closure에 닫혀 있다.
intersection과 complementation에는 닫혀 있지가 않다.
Theorem 8.5
L1이 context free language이고 L2이 regular language라면
L1 교집합 L2는 context free이다.
Theorem 8.6
Context-free grammar G=(V, T, S, P)에 대하여, L(G)가 비어있는지 아닌지를 결정하는 알고리즘이 있다.
Theorem 8.7
Context-free grammar G=(V, T, S, P)에 대하여, L(G)가 무한한지 아닌지를 결정하는 알고리즘이 있다.
CFG를 위한 pumping lemma 정리를 사용해서, language가 context-free가 아님을 보일 수 있다. ㅇ
Theorem 8.1
L이 infinite한 CFL이라고 가정하자. 그렇다면 어떤 양의 정수 m이 존재하는데, L에 속하는 길이가 m보다 큰 임의의 문자열 w에 대해서,
w = uvxyz 라고 하면
|vxy| <= m 이고,
|vy| >= 1이고,
uv^i x y^i z가 L에 속할 때 i=0,1,2...에 대해서 성립한다.