Có, và After ( β ) là các ngôn ngữ không ngữ cảnh. Đây là cách tôi sẽ chứng minh điều đó. Đầu tiên, một bổ đề (đó là mấu chốt). Nếu L là CF thì:Before(β)After(β)L
Before(L,β)={γ | ∃δ.γβδ∈L}
và
After(L,β)={γ | ∃δ.δβγ∈L}
là CF.
Bằng chứng? Ví xây dựng một hữu hạn nhà nước không xác định bộ chuyển đổi T β đó quét một chuỗi, xuất ra tất cả các biểu tượng đầu vào nó nhìn thấy và đồng thời tìm kiếm phi deterministically cho β . Bất cứ khi nào T β thấy biểu tượng đầu tiên của β nó Forks không tất định và chấm dứt những biểu tượng xuất ra cho đến khi một trong hai kết thúc nó nhìn thấy β hoặc nó thấy nhìn thấy một biểu tượng mà lệch khỏi β , dừng lại trong cả hai trường hợp. Nếu T β thấy βBefore(L,β)TββTββββTββđầy đủ, nó chấp nhận khi dừng lại, đó là cách duy nhất nó chấp nhận. Nếu nó thấy một sự sai lệch từ , nó từ chối.β
Bổ đề có thể được chết tiệt với các trường hợp xử lý nơi có thể trùng với bản thân (như một b một b - tiếp tục tìm kiếm cho β ngay cả khi ở giữa quét một trước β ) hoặc xuất hiện nhiều lần (trên thực tế, bản gốc không determinisic forking đã xử lý đó). βababββ
Đó là khá rõ ràng rằng , và kể từ khi CFLs được đóng theo truyền hữu hạn nhà nước, Trước ( L , β ) do đó là CF. Tβ(L)=Before(L,β)Before(L,β)
Một lập luận tương tự như vậy với , hoặc nó có thể được thực hiện với đảo chiều chuỗi từ Trước ( L , β ) , CFL cũng bị đóng cửa dưới sự đảo ngược:After(L,β)Before(L,β)
After(L,β)=rev(Before(rev(L),rev(β)))
Trên thực tế, bây giờ mà tôi nhìn thấy đối số đảo ngược, nó sẽ là bắt đầu với dễ dàng hơn , kể từ khi bộ chuyển đổi cho điều đó là đơn giản để mô tả và xác minh - nó ra chuỗi rỗng trong khi tìm kiếm một β . Khi tìm thấy β nó giả mạo không xác định, một ngã ba tiếp tục tìm kiếm các bản sao tiếp theo của β , ngã ba kia sao chép tất cả các ký tự tiếp theo nguyên văn từ đầu vào sang đầu ra, chấp nhận mọi lúc.After(L,β)βββ
Những gì còn lại là làm cho công việc này cho các hình thức cảm tính cũng như CFL. Nhưng điều đó khá đơn giản, vì ngôn ngữ của các hình thức cảm tính của CFG chính là CFL. Bạn có thể thấy rằng bằng cách thay thế mỗi phi terminal suốt G bằng cách nói X ' , tuyên bố X là một thiết bị đầu cuối, và thêm tất cả sản phẩm X ' → X đến ngữ pháp.XGX′XX′→X
Tôi sẽ phải suy nghĩ về câu hỏi của bạn về sự không rõ ràng.