ฉันคิดถึงปัญหานี้อีกครั้งและฉันคิดว่าฉันมีหลักฐานครบถ้วน มันค่อนข้างยุ่งยากกว่าที่ฉันคาดไว้ ความเห็นยินดีต้อนรับมาก! อัปเดต:ฉันส่งหลักฐานนี้ใน arXiv ในกรณีที่มีประโยชน์กับใครบางคน: http://arxiv.org/abs/1207.2819
ให้LLเป็นภาษาบริบทฟรีผ่านตัวอักษร\ΣΣให้เป็นหุ่นยนต์ที่ขยายลงซึ่งตระหนักLกับสแต็คตัวอักษร\ แกมมา เราแสดงโดย| A | จำนวนของรัฐของ เราสามารถสันนิษฐานได้ว่าการเปลี่ยนแปลงของA pop เป็นสัญลักษณ์สูงสุดของสแต็กและไม่มีการกดสัญลักษณ์บนสแต็กหรือกดที่สแต็กสัญลักษณ์บนสุดก่อนหน้าและสัญลักษณ์อื่น ๆAALLΓΓ| A ||A|AAAA
เรากำหนดและระยะเวลาในการปั๊มและจะแสดงให้เห็นว่านั้นมีการสลายตัวของรูปแบบเช่นนั้น ,และLp ′ = | A | 2 | Γ | p = | A | ( | Γ | + 1 ) p ′ w ∈ L | w | > p w = u v x y z | v x y | ≤ p | v y | ≥ 1 ∀ n ≥ 0 , คุณv n xp′=|A|2|Γ|p=|A|(|Γ|+1)p′w∈L|w|>pw=uvxyz|vxy|≤p|vy|≥1y n z ∈ L∀n≥0,uvnxynz∈L
ให้เช่นนั้น . ให้เป็นเส้นทางที่ยอมรับความยาวน้อยที่สุดสำหรับ (แสดงเป็นลำดับของช่วงการเปลี่ยนภาพ ) เราแสดงความยาวโดย. เราสามารถกำหนดสำหรับ,ขนาดของสแต็กที่ตำแหน่งของพา ธ การยอมรับ สำหรับทั้งหมดเรากำหนด
levelเหนือเป็นชุดของสามดัชนีกับเช่นนั้น:w ∈ Lw∈L|w|>p|w|>pππwwAA|π||π|0≤i<|π|0≤i<|π|sisiiiN>0N>0NNππi,j,ki,j,k0≤i<j<k≤p0≤i<j<k≤p
- s i = s k , s j = s i + Nsi=sk,sj=si+N
- สำหรับทั้งหมดเช่น ,n ฉัน≤ n ≤ J s ฉัน ≤ s n ≤ s Jni≤n≤jsi≤sn≤sj
- สำหรับทุกดังกล่าวว่า ,s_kn j ≤ n ≤ k s k ≤ s n ≤ s knj≤n≤ksk≤sn≤sk
(สำหรับตัวอย่างนี้ดูรูปภาพสำหรับกรณีที่ 2 ด้านล่างซึ่งแสดงระดับ )ยังไม่มีข้อความN
เรากำหนดระดับของเป็นค่าสูงสุดซึ่งมี
ระดับคำจำกัดความนี้ได้รับแรงบันดาลใจจากคุณสมบัติต่อไปนี้: หากขนาดของสแต็คเหนือพา ธมีขนาดใหญ่กว่าระดับดังนั้นสัญลักษณ์สแต็กที่มีความลึกมากกว่าระดับจะไม่ปรากฏขึ้น ตอนนี้เราจะแยกความแตกต่างสองกรณี: อย่างใดอย่างหนึ่งซึ่งในกรณีนี้เรารู้ว่าการกำหนดค่าเดียวกันสำหรับสถานะออโตมาตาและสัญลักษณ์สูงสุดของสแต็กจะพบสองครั้งในขั้นตอนแรกของหรือl π N π N π l llπNπNπll l < p ′ l p + 1 π l ≥ p ′l<p′lp+1πl≥p′และจะต้องมีการวางซ้อนและตำแหน่ง unstacking ที่สามารถทำซ้ำจำนวนข้อของครั้งจากที่เราสร้างและYv yvy
Case 1 <p' เรากำหนดค่าของเป็นคู่ของสถานะและลำดับของสัญลักษณ์สแต็ก (ที่สแต็กที่มีขนาดน้อยกว่ามีการแสดงโดย padding ให้เป็นด้วยสัญลักษณ์ว่างพิเศษซึ่งเป็นเหตุผลที่เราใช้เมื่อกำหนด ) ตามคำนิยามมี
การกำหนดค่าดังกล่าวซึ่งมีค่าน้อยกว่าPดังนั้นในขั้นตอนแรกของ , การตั้งค่าเดียวกันจะพบสองครั้งที่สองตำแหน่งที่แตกต่างกันกล่าวว่า<J แสดงโดยl < p ′ A A l l l | Γ | + 1 p | A | ( |แกมมา| + 1 ) ลิตรพีพี+ 1 π ฉัน< J ฉันl<p′AAlll|Γ|+1p|A|(|Γ|+1)lpp+1πi<jiˆ (resp.
) ตำแหน่งของตัวอักษรตัวสุดท้ายของอ่านในขั้นตอนที่ (resp.
) ของ\เรามี{J} ดังนั้นเราสามารถแยกด้วย , , ,|} (โดยเราแสดงถึงตัวอักษรของจากรวมถึงเฉพาะตัวของ ) โดยการก่อสร้าง .ˆjjˆwwiijjππˆi≤ˆjiˆ≤jˆw=uvxyzw=uvxyzyz=ϵyz=ϵu=w0⋯ˆiu=w0⋯iˆv=wˆi⋯ˆjv=wiˆ⋯jˆx=wˆj⋯|w|x=wjˆ⋯|w|wx⋯ywx⋯ywwxxyy|vxy|≤p|vxy|≤p
เราต้องแสดงให้เห็นว่าแต่สิ่งนี้ตามมาจากการสังเกตของเราด้านบน: สัญลักษณ์สแต็กที่ลึกกว่าไม่เคยถูกแยกดังนั้นจึงไม่มีทางแยกแยะได้ การกำหนดค่าที่เท่ากันตามคำจำกัดความของเราและเส้นทางการยอมรับสำหรับถูกสร้างขึ้นจากที่ของโดยทำซ้ำขั้นตอนระหว่างและ ,ครั้ง∀n≥0,uvnxynz=uvnx∈L∀n≥0,uvnxynz=uvnx∈Llluvnxuvnxwwiijjnn
สุดท้ายเราก็มีเพราะถ้าเพราะเรามีการกำหนดค่าเดียวกันที่ขั้นตอนและใน ,จะเป็นเส้นทางการยอมรับสำหรับ , ขัดแย้ง minimality ของ\|v|>0|v|>0v=ϵv=ϵiijjπππ′=π0⋯iπj⋯|π|π′=π0⋯iπj⋯|π|wwππ
(โปรดทราบว่ากรณีนี้มีจำนวนเท่ากับการใช้คำสั่งปั๊มสำหรับภาษาปกติโดยการเข้ารหัสสัญลักษณ์ stack สูงสุดในสถานะออโตเมติกซึ่งเพียงพอเนื่องจากมีขนาดเล็กพอที่จะให้แน่ใจว่ามีขนาดใหญ่กว่าจำนวนสถานะของหุ่นยนต์นี้ . เคล็ดลับหลักคือเราต้องปรับสำหรับ
-transitions)llll|w||w|ϵϵ
กรณีที่ 2. พี' ให้เป็นระดับ สำหรับขนาดสแต็คใด ๆ ,เราจะเชื่อมโยงการกดครั้งสุดท้ายและป๊อปแรก\}) ตามคำนิยามและk นี่คือภาพประกอบของการก่อสร้างนี้ เพื่อให้การวาดง่ายขึ้นฉันจะไม่แยกความแตกต่างระหว่างตำแหน่งของเส้นทางและตำแหน่งของคำที่เราจะต้องทำในภายหลังl≥p′l≥p′i,j,ki,j,kp′p′hhsi≤h≤sjsi≤h≤sj
lp(h)=max({y≤j|sy=h})lp(h)=max({y≤j|sy=h})
fp(h)=min({y≥j|sy=h})i≤lp(h)≤jj≤fp(h)≤k
เราบอกว่าสถานะทั้งหมดของสแต็กขนาดคือสามเท่าที่เกิดขึ้นโดย:h
- สถานะของหุ่นยนต์ที่ตำแหน่งlp(h)
- สัญลักษณ์สแต็คสูงสุดที่ตำแหน่งlp(h)
- สถานะของหุ่นยนต์ที่ตำแหน่งfp(h)
นอกจากนี้เป็นไปได้รัฐเต็มรูปแบบและขนาดสแต็คระหว่างและ
ดังนั้นโดยหลักการ pidgeonhole มีอยู่สองสแต็คขนาดกับ
ดังกล่าวที่รัฐเต็มรูปแบบ ที่และเหมือนกัน เช่นเดียวกับในกรณีที่ 1 เรากำหนดโดย , ,และตำแหน่งของตัวอักษรสุดท้ายของอ่านได้ที่ตำแหน่งที่สอดคล้องกันใน\เราโดยที่p′p′+1sisjg,hsi≤g<h≤sjgh^lp(g)^lp(h)^fp(h)^fp(g)wπw=uvxyzu=w0⋯^lp(g),
,
,
และ|}v=w^lp(g)⋯^lp(h)x=w^lp(h)⋯^fp(h)y=w^fp(h)⋯^fp(g)z=w^fp(g)⋯|w|
การแยกตัวประกอบนี้ทำให้มั่นใจได้ว่า (เพราะตามคำจำกัดความของระดับของเรา)|vxy|≤pk≤p
นอกจากนี้เรายังจะต้องแสดงให้เห็นว่าL ในการทำเช่นนั้นให้สังเกตว่าในแต่ละครั้งที่เราทำซ้ำเราจะเริ่มจากสถานะเดียวกันและบนสุดของสแต็คเดียวกันและเราจะไม่ปรากฏใต้ตำแหน่งปัจจุบันของเราในสแต็ก (มิฉะนั้นเราจะต้องกดอีกครั้งที่ตำแหน่งปัจจุบัน maximality ของ ) เพื่อให้เราสามารถติดตามเส้นทางเดียวกันในและกดลำดับสัญลักษณ์เดียวกันบนสแต็ก โดย maximality ของและ minimality ของในขณะที่อ่านเราจะไม่ปรากฏใต้ตำแหน่งปัจจุบันของเราในสแต็คดังนั้นเส้นทางที่ตามมาในหุ่นยนต์จะเหมือนกันโดยไม่คำนึงถึงจำนวน ครั้งที่เราทำซ้ำ∀n≥0,uvnxynz∈Lvlp(g)Alp(h)fp(h)xv. ตอนนี้ถ้าเราทำซ้ำหลายครั้งตามที่เราทำซ้ำตั้งแต่เราเริ่มต้นจากสภาพเดียวกันเนื่องจากเรามีการผลักดันลำดับสัญลักษณ์เดียวกันในกองด้วยซ้ำของเราและเนื่องจากเราไม่ได้ปรากฏมากกว่าสิ่งที่มี stacked โดย minimality ของเราสามารถทำตามพา ธ เดียวกันในและ pop ลำดับสัญลักษณ์เดียวกันจาก stack ดังนั้นการยอมรับจากเส้นทางสามารถถูกสร้างขึ้นจากเส้นทางการยอมรับสำหรับWwvvvfp(g)Auvnxynzw
สุดท้ายเราก็มีเพราะเหมือนในกรณีที่ 1 ถ้าและเราสามารถสร้างเส้นทางที่ยอมรับได้สั้นกว่าสำหรับโดยการลบและ(g)}|vy|>1v=ϵy=ϵwπlp(g)⋯lp(h)πfp(h)⋯fp(g)
ดังนั้นเรามีการแยกตัวประกอบที่เพียงพอในทั้งสองกรณีและผลลัพธ์ได้รับการพิสูจน์แล้ว
(เครดิตไปที่ Marc Jeanmougin ที่ช่วยฉันในการพิสูจน์หลักฐานนี้)