Sau 2 lần thất bại, điều đó đã bị @Hendrik Jan (cảm ơn) từ chối, đây là một lần khác, điều đó không thành công hơn. @Vor đã tìm thấy một ví dụ về ngôn ngữ CF xác định trong đó việc xây dựng tương tự sẽ được áp dụng, nếu đúng. Điều này cho phép xác định một lỗi trong việc neo của chuỗi trong ứng dụng bổ đề. Bổ đề dường như không có lỗi. Đây rõ ràng là quá đơn giản một công trình. Xem thêm chi tiết trong các ý kiến.y
Ngôn ngữ không có ngữ cảnh.L={uxvy∣u,v,x,y∈{0,1}∗{ϵ} , ∣u∣=∣v∣ , u≠v , ∣x∣=∣y∣ , x≠y }
Sẽ rất hữu ích khi ghi nhớ đặc tính trong đó d là khoảng cách Hamming, được đề xuất bởi @sdcvvc. Điều người ta cần nghĩ đến là 2 vị trí được chọn trong mỗi nửa chuỗi sao cho các ký hiệu tương ứng khác nhau.L={uv:|u|=|v|,d(u,v)≥2}
Sau đó, bạn xem xét một chuỗi sao cho và là chẵn. Rõ ràng là trong ngôn ngữ L, bằng cách cắt và bất cứ đâu giữa hai 1. Chúng tôi muốn bơm chuỗi đó vào phần đầu tiên giữa 1, để nó sẽ trở thành mà không phải là ngôn ngữ.10i10ji<ji+jux10j10j
Trước tiên, chúng tôi thử sử dụng bổ đề của Ogden , giống như bổ đề bơm, nhưng áp dụng cho hoặc các ký hiệu phân biệt được đánh dấu trên chuỗi, là chiều dài bơm cho các ký hiệu được đánh dấu (nhưng bổ đề có thể bơm nhiều hơn vì nó cũng có thể bơm được ký hiệu không được đánh dấu). Việc bơm chiều dài được đánh dấu chỉ phụ thuộc vào ngôn ngữ. Nỗ lực này sẽ thất bại, nhưng thất bại sẽ là một gợi ý.ppp
Sau đó, chúng tôi có thể chọn và chúng tôi đánh dấu các ký hiệu trên chuỗi đầu tiên của 0. Chúng tôi biết rằng không ai trong số 2 người sẽ ở trong máy bơm, bởi vì nó có thể bơm ra một lần (số mũ 0) thay vì bơm vào. Và việc bơm ra 1 sẽ khiến chúng tôi không nói được ngôn ngữ.i=pi
Tuy nhiên, chúng ta có thể bơm ở cả hai phía của giây thứ hai nhanh hơn hoặc thậm chí nhanh hơn ở phía bên phải, để số 1 không bao giờ đi qua giữa chuỗi. Ngoài ra bổ đề của Ogden không khắc phục giới hạn trên đối với kích thước của những gì đang được bơm, do đó không thể tổ chức bơm để có được chính xác 1 chính xác ở giữa chuỗi.
Chúng tôi sử dụng một phiên bản sửa đổi của bổ đề, ở đây được gọi là Bổ đề của Nash, có thể xử lý những khó khăn này.
Trước tiên chúng ta cần một định nghĩa (nó có thể có một tên khác trong tài liệu, nhưng tôi không biết cái nào - sự giúp đỡ được chào đón). Một chuỗi được cho là xóa một chuỗi iff nó được lấy từ bằng cách xóa các ký hiệu trong . Chúng tôi sẽ lưu ý .uvvvu≺v
Bổ đề Nash:
Nếu là một ngôn ngữ bối cảnh tự do, sau đó có tồn tại hai số và như vậy mà cho bất kỳ chuỗi có độ dài ít nhất trong , và mỗi cách “đánh dấu” hoặc nhiều các vị trí trong , có thể được viết là với chuỗi , , , , , sao choLp>0q>0wpLpwww=uxyzvuxyzv
- xz có ít nhất một vị trí được đánh dấu,
- xyz có nhiều nhất các vị trí được đánh dấu vàp
- có 3 chuỗi , , sao cho
x^y^z^
- x^≺x , , ,y^≺yz^≺z
- 1≤∣x^z^∣≤q , và1≤∣y^∣≤q
- uxjx^iy^z^izjv nằm trong với mọi và với mọi .Li≥0j≥0
Bằng chứng : Tương tự như bằng chứng về bổ đề của Ogden, nhưng các cây con tương ứng với các chuỗi và được cắt tỉa sao cho chúng không chứa bất kỳ đường dẫn nào có hai lần không cùng đầu cuối (ngoại trừ gốc của hai cây con này). Điều này nhất thiết giới hạn kích thước của các chuỗi được tạo và theo hằng số . Các chuỗi và , cho , tương ứng với một phiên bản chưa được chỉnh sửa của cây, được sử dụng chủ yếu với để đơn giản hóa kế toán khi áp dụng bổ đề.yxzx^z^y^qxjzjj≥0j=1
Chúng tôi sửa đổi nỗ lực bằng chứng ở trên bằng cách đánh dấu các ký hiệu cùng 0, nhưng chúng được theo sau bởi các ký hiệu 0 để đảm bảo rằng chúng tôi bơm vào phần bên trái của chuỗi, giữa hai 1 giây. Điều đó làm cho tổng số 0 nằm giữa 1 (thực tế là đủ, vì 1 bên phải nhất không thể nằm trong , điều này sẽ cho phép loại bỏ nó một cách đơn giản).p2qi=p+2qi=p+qz^
Những gì còn lại là đã chọn để chúng ta có thể bơm chính xác số 0 bên phải để hai chuỗi bằng nhau. Nhưng cho đến nay, hạn chế duy nhất đối với là lớn hơn . Và chúng ta cũng biết rằng số 0 được bơm trong mỗi lần bơm là từ 1 đến q. Vậy hãy để là tích của các số nguyên đầu tiên . Chúng tôi chọn .jjihqj=i+h
Do đó, vì mức tăng bơm - bất kể là gì - nằm trong , nên nó chia . Gọi là thương. Nếu chúng ta bơm chính xác lần, chúng ta sẽ nhận được chuỗi không có trong ngôn ngữ. Do đó L không có ngữ cảnh.d[1,q]hkk10j10j
.
Tôi nghĩ rằng tôi sẽ không bao giờ thấy
Một chuỗi đáng yêu như một cái cây.
Vì nếu nó không có phân tích cú pháp,
Chuỗi không bị hư hỏng nhưng là một trò hề