Vấn đề này được đề cập trong bài viết của wikipedia về ngữ pháp không gây khó chịu . Các ngữ pháp như vậy không cho phép tạo ra chuỗi trống, điều này không có vấn đề gì khi người ta xem xét các ngôn ngữ . Khi một người muốn cho phép chuỗi trống, một trường hợp đặc biệt được thực hiện và quy tắc được cho phép với các điều kiện bên xấu ( không thể xuất hiện ở phía bên tay phải).L⊆A+S→λS
Vì vậy, tình hình là có một số định nghĩa có sẵn, chủ yếu là tương đương, cung cấp sự đánh đổi khác nhau giữa sự thanh lịch, tính tổng quát, dễ sử dụng, v.v ... Đây là một tình huống điển hình trong toán học. Khi bạn vạch ra bề mặt, các định nghĩa khác nhau ở đó và chúng đi kèm với thuật ngữ bổ sung, như "về cơ bản là không hấp dẫn".
Điều này có thể gây nhầm lẫn cho người mới nhưng mặt tốt là nó tách biệt quan trọng với các chi tiết không quan trọng.
BTW lý luận của bạn có một lỗ hổng. Bạn nói rằng ngôn ngữ là CSL (chính xác) và là một ngữ pháp cho nó (chính xác), do đó ngữ pháp là CS. Hàm ý đó là không chính xác. Bạn chỉ có thể suy luận rằng có tồn tại một ngữ pháp CS cho nó. Nhưng bạn đã đúng khi nghĩ rằng bất kỳ ngữ pháp như vậy phải có một quy tắc hợp đồng.S→λ