Est le complément de {ww | …} Sans contexte?

14

Définissez la langue LL comme L = { a , b } - { w w w { a , b } }L={a,b}{www{a,b}} . En d'autres termes, LL contient les mots qui ne peuvent pas être exprimés comme un mot répété deux fois. L est L-il sans contexte ou non?

J'ai essayé de croiser L avec un b a b , mais je ne peux toujours rien prouver. J'ai également regardé le théorème de Parikh, mais cela n'aide pas.Labab

Evgeny Eltishev
la source

Réponses:

28

C'est sans contexte. Voici la grammaire:

S A | B | A B | B A A a | a A a | a A b | b A b | b A a B b | a B a | a B b | b B b | b B aSA|B|AB|BA
Aa|aAa|aAb|bAb|bAa
Bb|aBa|aBb|bBb|bBa

A génère des mots de longueur impaire avec un au centre. Idem pour B et b .AaBb

Je vais présenter une preuve que cette grammaire est correcte. Soit L = { a , b } { w w w { a , b } } (la langue de la question).L={a,b}{www{a,b}}

Théorème. L = L ( S ) . En d'autres termes, cette grammaire génère la langue de la question.L=L(S)

Preuve. Cela vaut certainement pour tous les mots impairs, car cette grammaire génère tous les mots bizarres longueurs, tout comme L . Concentrons-nous donc sur les mots de longueur égale.L

Supposons que x L ait une longueur paire. Je vais montrer que x L ( G ) . En particulier, je prétends que x peut être écrit sous la forme x = u v , où u et v ont une longueur impaire et des lettres centrales différentes. Ainsi, x peut être dérivé de A B ou B A (selon que la lettre centrale de u est a ou b ). Justification de la réclamation: Soit la i ème lettre de xxLxL(G)xx=uvuvxABBAuabixsoit notée x i , de sorte que x = x 1 x 2x n . Alors comme x n'est pas dans { w w w { a , b } n / 2 } , il doit exister un indice i tel que x ix i + n / 2 . Par conséquent , nous pouvons prendre u = x 1x 2 i -xix=x1x2xnx{www{a,b}n/2}ixixi+n/21 etv= x 2 i x n ; la lettre centrale deusera x i , et la lettre centrale devsera x i + n / 2 , donc par constructionu,vaura différentes lettres centrales.u=x1x2i1v=x2ixnuxivxi+n/2u,v

Supposons ensuite que x L ( G ) ait une longueur paire. Je vais montrer que nous devons avoir x L . Si x a une longueur paire, elle doit être dérivée de A B ou B A ; sans perte de généralité, on suppose qu'il peut être dérivé d' un B , et x = u vu est dérivable à partir de A et v est dérivable à partir de B . Si u , v ont les mêmes longueurs, alors nous devons avoir u xL(G)xLxABBAABx=uvuAvBu,vv (car ils ont des lettres centrales différentes), donc x { w w w { a , b } } . Supposons donc que u , v aient des longueurs différentes, disons respectivement longueur et n - . Alors leurs lettres centrales sont u ( + 1 ) / 2 et v ( n - + 1 ) / 2 . Le fait que uuvx{www{a,b}}u,vnu(+1)/2v(n+1)/2,vu,v have different central letters means that u(+1)/2v(n+1)/2u(+1)/2v(n+1)/2. Since x=uvx=uv, this means that x(+1)/2x(n++1)/2x(+1)/2x(n++1)/2. If we attempt to decompose xx as x=wwx=ww where w,ww,w have the same length, then we'll discover that w(+1)/2=x(+1)/2x(n++1)/2=w(+1)/2w(+1)/2=x(+1)/2x(n++1)/2=w(+1)/2, i.e., wwww, so x{www{a,b}}x{www{a,b}}. In particular, it follows that xLxL.

Evgeny Eltishev
la source
2
I've edited the answer to provide a proof of correctness for this grammar, based upon the hint/sketch given by Evgeny Eltishev. Hopefully it should be clearer now why this works.
D.W.
Can it generate "aabb" ?
manasij7479
1
@manasij7479 Yes: SABaBa(aBb)aabb.
J.-E. Pin
3

This language is context free it was proved in the following paper:

Tomaszewski, Zach. "A Context-Free Grammar for a Repeated String." Journal of Information and Computer Science, 2012 (PDF).

The grammar is as follows: SEUϵEABBAAZAZaBZBZbUZUZZZab

A. Mashreghi
la source
8
Welcome! The following is not a criticism of this answer. The Journal of Information and Computer Science is published by "World Academic Union", which is on Beall's list of predatory open access publishers. It's sad that there are companies in the world who will take relatively large amounts of people's money to publish papers that do nothing more than solve undergraduate-level exercises.
David Richerby
I don't have enough reputation to comment on the above answer. But that grammar seems wrong to me. It cannot generate "aaab" which is in the language.
A. Mashreghi
1
After performing CFGCNFCYK (you should try it), SABaAaBaaaBaaab, so it seems it can generate aaab.
Evil
You right it does
A. Mashreghi