Je me demandais récemment ce qui se passerait si nous permettions aux grammaires sans contexte d'avoir un nombre infini de règles. De toute évidence, si nous permettions arbitrairement de tels ensembles infinis de règles, chaque langue sur un alphabet pourrait être décrite par un CFG avec . Mais que se passe-t-il si nous limitons à de tels ensembles de règles qui peuvent être créés par des grammaires sans contexte?Σ G = ( { S } , Σ , R , S ) R = { S → w ∣ w ∈ L } R
À cet effet, étant donné un ensemble de terminaux et de terminaux , considérons les règles non pas comme des éléments de , mais comme des chaînes de l'alphabet R _ {(N, \ Sigma) } = N \ cup \ Sigma \ cup \ {\ rightarrow \} . Maintenant, ma question est, si nous définissons une règle infinie CFG pour être un tuple G = (N, \ Sigma, R, S) oùΣ N × ( N ∪ Σ ) ∗ R ( N , Σ ) = N ∪ Σ ∪ { → }
- est un ensemble fini de non terminaux
- est un alphabet fini
- est un ensemble de règles de la forme avec , telle sorte qu'il y a du CFG sur avec
- est le non terminal initial
et nous définissons pour de tels CFG à règles infinies comme pour les CFG, quelle est la relation entre la classe de langages générée par les CFG à règles infinies (appelons cette classe ), la classe des langages sans contexte et la classe ?
De toute évidence, nous avons , mais est- équivalent à l'une de ces classes (ou à une autre classe)?i r C F