یک گرامر مستقل از متن، یک چهارتایی (V,Σ,R,S) است که:
V(a) یک مجموعهی متناهی از متغیرها است.
Σ(b) یک مجموعهی متناهی و مجزای از V از پایانهها است.
R(c) یک مجموعه از قواعد است که هر قاعده شامل یک متغیر و یک رشته از متغیرها و پایانهها است.
S \in V\quad (d)$ یک متغیر شروع است.
مثال: G=({S},{a,b},R,S) که مجموعهی R عبارت است از:
S→aSbS→SSS→e
اگر u، v و w رشتههایی از متغیرها و پایانهها باشند و A→w، یک قاعده از گرامر باشد، میگوییم که uAv به uwv میرسد و مینویسیم uAv⇒uwv. اگر u=v و یا اگر دنبالهی u1,u2,…uk وجود داشته باشد که k≥0 و
u=u1⇒u2⇒…⇒uk=v
آنگاه مینویسیم u⇒v.
زبان گرامر عبارت است از تمام رشتههای w از عناصر Σ به قسمی که S⇒w.
به عنوان نمونه در مثال فوق داریم: S⇒abab و S⇒aaabbb و … و به این ترتیب زبان گرامر فوق عبارتاستاز: {abab,aaabbb,aababb,…}
اگر A زبان یک گرامر مستقل از متن باشد، نشان دهید عدد p وجود دارد که اگر s یک رشته متعلق به A با طول بیشتر از pباشد، آنگاه میتوان s را به ۵ قسمت افراز کرد یعنی s=uvxyz بع قسمی که سه شرط زیر برقرار شوند (منظور از |w| طول رشتهی w و منظور از xy رشتهی حاصل از پشت سر هم قرار دادن رشتههای x و yاست):
(a) برای هر i≥0، uvixyiz∈A
|vy|>0(b)
|vxy|≤p(c)