<?xml version="1.0"?><!DOCTYPE article SYSTEM "/project/take/software/searchbench_offline_processing/paperxml_generator/aclextractor/src/python/../resource/dtd/paperxml.dtd"><article><header><firstpageheader><page local="1"/><title>LANGAGES "CONTEXT-SENSITIVES" QUELQUES ASPECTS DE LEUR EXTENSION</title><author surname="FRIANT" givenname="J."></author></firstpageheader><frontmatter></frontmatter><abstract><b>LANGAGES "CONTEXT-SENSITIVES" QUELQUES ASPECTS DE LEUR EXTENSION.</b> </abstract></header><body><section title="par J. PRIANT"><p><b>SOMMAIRE.</b></p><p><b>Ce rapport rappelle les principales définitions concernant les granulaires de constituants, notamment les grammaires CS.   Puis il introduit la notion de grammaires CS de reconnaissance, ce qui permet en particulier de démontrer sloplement la stabilité de l'intersection relativement à la classe des langages CS.   Plusieurs langages CS, de nature arithmétique, sont ensuite décrits; ainsi il est montré que l'ensemble des nombres premiers constitue un tel langage.   En conclusion, l'énoncé de deux résultats permet d'inclure la classe des langages </b><b>CF</b><b> matricielles et celle des langages CPP dans la classe des langages CS.</b></p><doubt alpha="57.1" length="28" tooSmall="False" monospace="0.0">§0.RAPPELS. NOTATIONS. [ 4 ]</doubt></section><section title="0.1.  Grammaires de constituants immédiats »"><p><b>Ce sont des sytèmes formels dont le but est de décrire la construction des phrases de langages artificiels par modifications succes­sives portant sur des suites de symboles.   Formellement, une grammaire de constituants est la donnée d'un quadruplet:;</b><page local="2"/></p><doubt alpha="26.1" length="23" tooSmall="False" monospace="0.0">&lt;fy      &lt;(T,ÛÇ, s , $&gt;</doubt></section><section title="- appelé vocabulaire, est un ensemble fini de symboles;"><p><b>- , vocabulaire terminal, est un sous-ensemble de </b><b><i>if\ </i></b><b>dont le complé­mentaire,  (J^ , est appelé vocabulaire non-terminal;</b> <b>- S est un symbole distingue de 1/^ , désigné symbole initial.</b></p><p><b>Les symboles — éléments de vT— seront représentés par des ca­pitales latines habituelleiaent indicées, et les suites finies de tels symboles, ou mots — éléments du monotde libre  </b><b><i>[jf </i></b><b>construit sur </b><b><i>\f</i></b><b>— par des capitales latines surmontées d'u accent circonflexe.</b></p></section><section title="L  un couple ordonné de momts (À,B) on associera le mot C"><doubt alpha="66.7" length="3" tooSmall="False" monospace="0.0">A A</doubt><p><b>obtenu en écrivant le mot B à droite du mot A, Formellement:</b></p><doubt alpha="24.0" length="25" tooSmall="False" monospace="0.0">si    A = A4... A.  ... A</doubt><doubt alpha="100.0" length="3" tooSmall="False" monospace="0.0">lin</doubt></section><section title="B  =  B 1 B j B m"><doubt alpha="60.0" length="5" tooSmall="False" monospace="0.0">A A A</doubt><p><b>alors   C = A B = A, ... A   B.  ... B .</b></p><doubt alpha="75.0" length="4" tooSmall="False" monospace="0.0">1nin</doubt><p><b>On dira que A, </b><b>b </b><b>et C sont des mots de longueur respectivement égale à n, m et n + m, et on écrira: </b><b><i>j</i></b> <b>r € 3L:</b><b>   r   =   (A,B)   avec la restriction   A   jÉ UC .</b></p><doubt alpha="61.1" length="167" tooSmall="False" monospace="0.0">I A I = n   ,     | B | = ra   ,     | C | = n + m .-fy,est un ensemble fini dont les éléments, appelés rogles de production, sont des couples ordonnés de mots. Ainsi:</doubt><p><b>i.</b></p><doubt alpha="66.7" length="15" tooSmall="False" monospace="0.0">0.2.Dérivation;</doubt><doubt alpha="59.1" length="164" tooSmall="False" monospace="0.0">. On dira que Y dérivedirectement de X, selon''(Lpar la règle de production   r = (A,B), s'il existe deux mots G et D   tels que:, X   = G A D     ,     Y   =   GbD</doubt><doubt alpha="41.9" length="31" tooSmall="False" monospace="0.0">On écrira :      X -g.?r&gt;d. ■»y</doubt><doubt alpha="100.0" length="1" tooSmall="False" monospace="0.0">T</doubt><doubt alpha="0.0" length="5" tooSmall="False" monospace="0.0">- 2 -</doubt><page local="3"/><doubt alpha="51.9" length="27" tooSmall="False" monospace="0.0">ou simplement:    X » ■1■&gt;Y</doubt><p><b>On dira que Y dérive'de X, selon        s'il existe une suite</b> <b>r.</b><b></b></p><doubt alpha="57.1" length="49" tooSmall="False" monospace="0.0">finie de mots XQ, X^ »..., Xntels que : X0=X,Xn=Y</doubt><p><b>o X.</b></p><doubt alpha="29.0" length="31" tooSmall="False" monospace="0.0">etVi,3  *t   € 5ti      Xt_1-^-</doubt><doubt alpha="37.5" length="8" tooSmall="False" monospace="0.0">Ar * O *</doubt><doubt alpha="37.0" length="54" tooSmall="False" monospace="0.0">On écrira:     X■=&gt;   Y    avecr=r....r....r     6 tr^</doubt><doubt alpha="66.7" length="6" tooSmall="False" monospace="0.0">(A.lin</doubt><p><b>0.3. <u>Langage</u>.</b></p><p><b>Le langage engendré par la grammaire ^ est le sous-ensemblc de  l/T formé des mots dérivant de S, selon        on le notera</b> <b>Deux grammaires seront dites équivalentes si elles engendrent le même langage,</b> <b>O.</b><b>A.   <u>Grammaires et langages context-sensitive</u>.</b></p><doubt alpha="0.0" length="1" tooSmall="False" monospace="0.0">}</doubt><p><b>Un sous-ensemble de        sera appelé langage context-sensitive s'il peut être engendré par une grammaire </b><b>^|</b><b> dont toutes les règles sont telles que la longueur du premier meiibre est au p lus égale à celle du second, i.e. :</b></p><p><b>v  </b><b>r   € 51,     r   =    (Â</b><b>,ê) </b><b>:   | Â [ </b><b>£   | b | </b><b>On remarquera que tous les langages context-free (C&lt;F) sont context-sensi­tive (CS).</b></p><doubt alpha="65.2" length="46" tooSmall="False" monospace="0.0">On démontre    £?J&gt;£^Jqu'un tel langage ^ peut</doubt></section><section title="toujours être engendré par une grammaire"><doubt alpha="35.3" length="17" tooSmall="False" monospace="0.0">I =   (M,VT, S,t)</doubt></section><section title="satisfaisant aux conditions suivantes:"><doubt alpha="0.0" length="5" tooSmall="False" monospace="0.0">- 3 -</doubt><page local="4"/><doubt alpha="100.0" length="1" tooSmall="False" monospace="0.0">T</doubt><doubt alpha="63.6" length="99" tooSmall="False" monospace="0.0">. Outre le symbole ini::ial S,        contient deux symboles particuliers 3' et W; on note: " {s} •</doubt></section><section title=". Les règles se répartissent en trois groupes:"><doubt alpha="62.5" length="40" tooSmall="False" monospace="0.0">- les règles initiales: (S,SW) et (S,S')</doubt><doubt alpha="66.0" length="106" tooSmall="False" monospace="0.0">- l'ensemble &amp; des règles binaires, de la forme:        A^ , A^ A^ aucun de ces symboles n'étant terminal,</doubt></section><section title="- et l'ensemble % des règles terminales, de la forme:"><doubt alpha="28.0" length="25" tooSmall="False" monospace="0.0">(A,T)    :L€\j' ,T   € vT</doubt><doubt alpha="54.5" length="88" tooSmall="False" monospace="0.0">y-       i  " i * Soit X €Kf]    f1  X I = n ; il résulte des conditions ci-dessus que X</doubt><p><b>est une phrase de </b><b><i>$s</i></b><b><i> </i></b><b>si et seulement si on peut dériver X de S' Wn <footnote anchor="1"/></b> <b>X dérive de A par %.</b><b></b></p><doubt alpha="66.2" length="68" tooSmall="False" monospace="0.0">à l'aide des règles de Ä- et de ^ ; plus précisément: ÏZ   €aß-si et</doubt><doubt alpha="63.8" length="69" tooSmall="False" monospace="0.0">seulement si il existe A   € V,ntel que A dérive de S1l/1* * par &amp; et</doubt><p><b>§ 1,   GKAl-iL'JAïIUâ DE RECONNAISSANCE ASSOCIEE À UN LANGAGE CS.</b></p><p><b>1.1.   Soit </b><b><i>JL </i></b><b>un langage CS engendré par une grammaire ^ du type rappelé ci-dessus.   Nous allons définir une grammaire        équivalente à ^: </b><b><i>• ( \TT ,   </i></b><b>U£ , S , </b><b>Xr</b><b> </b><b>)</b><b> </b><b>.</b></p><doubt alpha="100.0" length="2" tooSmall="False" monospace="0.0">Ir</doubt><p><b>- Le symbole initial et les symboles terminaux sont ceux de tj. On trouve de plus les éléments de</b></p></section><section title="représentés par: Lïl  A€w',T€"><doubt alpha="53.7" length="108" tooSmall="False" monospace="0.0">• Les règles de        sont déduites de celles de . râgles initiales:VT6  y;   :    (S,S[f])et   (S, [ f ] )</doubt><doubt alpha="0.0" length="3" tooSmall="False" monospace="0.0">4 -</doubt><page local="5"/><doubt alpha="100.0" length="3" tooSmall="False" monospace="0.0">lin</doubt></section><section title=". regies binaires, JV :"><footnote label="6"> r T'  ([^] r [^].[^][^]j* K</footnote><doubt alpha="46.2" length="39" tooSmall="False" monospace="0.0">si et seulement si (Ai,      A^)   € 5^</doubt><p><b>. règles terminales, ^ : </b><b>VT</b><b> </b><b>€</b><b> </b><b>t£</b><b> </b><b>î</b><b> </b><b>([fJ</b><b>.T^)</b><b> </b><b>£</b><b> </b><b>%.</b><b>   si et seulement si (A,T)   6 </b><b>%.</b></p><doubt alpha="37.0" length="54" tooSmall="False" monospace="0.0">Par extension si        A  =  A. ... A. ... A    €U',n</doubt><doubt alpha="31.4" length="35" tooSmall="False" monospace="0.0">et       X  =  Tt... T. ... Tn6 tfj</doubt></section><section title="on écrira:"><doubt alpha="17.1" length="35" tooSmall="False" monospace="0.0">Lt]      Lt; ] ••* [ t~ ]  ••• [T"]</doubt><doubt alpha="50.0" length="6" tooSmall="False" monospace="0.0">A1 i n</doubt><p><b>Comme pour la grammaire        il résulte du choix des règles de</b> <b>par </b><b>iX</b><b>/j.</b><b></b><b> et X dérive de [ </b><b>^</b><b> </b><b>J</b><b> </b><b>par £r . Ainsi à toute S-dérivation de X, selon  </b><b>^,</b><b> décomposable en (cf. ci-dessus) :</b></p><doubt alpha="60.0" length="65" tooSmall="False" monospace="0.0">que X   €   i£(^r) si et seulement si on peut dériver X de ^S*W^-</doubt><doubt alpha="58.3" length="72" tooSmall="False" monospace="0.0">à l'aide des règles de (&amp;ret de  ^ , plus précisément X   €;£(&lt;# ) si et</doubt><doubt alpha="18.8" length="16" tooSmall="False" monospace="0.0">/na__      ' n 1</doubt><doubt alpha="55.6" length="72" tooSmall="False" monospace="0.0">seulement si il existe A   €   i*'ntel que      #      dérive de I -S'WI</doubt></section><section title="correspond la S-dérivation de X selon"><p><b>et réciproquement.</b></p></section><section title="On a donc bien le résultat annoncé:"><p><b><i>d</i></b><b><i> </i></b><b>(&lt;jr&gt; - </b><b><i>ii^&gt;</i></b><b><i> </i></b><b><i>-</i></b><b><i> </i></b><b><i>^.</i></b></p></section><section title="La grammaire        est dite de reconnaissance car si X est"><p><b>mot terminal </b><b>(X</b><b>   € </b><b><i>\y </i></b><b>? , et   | X J = n ) nous pouvons toujours envisager</b><page local="6" global="8"/></p><p><b>une S-dérivation, selon </b><b><i>'Qy   </i></b><b>, telle que l'application des rèsles initiales r S' Wn ~ <footnote anchor="1"/> T</b> <b>aboutisse au mot ■ -s- I ; mais cette dérivation ne sera fructueuse</b> <b>que si X est une phrase du langage </b><b><i>S,.</i></b><b><i> </i></b><b>c'est-à-dire si la Srammaire £ , par ses règles </b><b>^r</b><b> et % , le "reconnaît" telle. On dira indifféremment que ^ engendre ou accepte X.</b></p><doubt alpha="25.0" length="4" tooSmall="False" monospace="0.0">*- X</doubt><p><b>N. B. :   Comme dans le cas des grammaires CS ordinaires </b><b> </b><b>J</b><b> </b><b>"L</b><b> </b><b>^</b><b> </b><b>1</b><b> </b><b>^</b> <b>on peut aussi envisager des grammaires CS de reconnaissance avec marquant d'extrémités de phrases, noté f.</b><b>   L'introduction d'un tel marquant ne modifie pas la capacité gênérative dè nos grammaires,</b></p></section><section title="1«2, Application:   Intersection de langages CS t"></section><section title="En utilisant la. notion de grammaire de reconnaissance nous"><doubt alpha="64.7" length="51" tooSmall="False" monospace="0.0">allons prouver le résultat suivant(^L8J » L * 1 ^ *</doubt><p><b>. L'intersection de deux langages CS est CS.</b></p></section><section title="Soient decr: langages CS sur le même vocabulaire"><doubt alpha="61.5" length="65" tooSmall="False" monospace="0.0">terminalO^,.   On suppose donné pour =^(i= 1, 2 ) une grammaire ^</doubt><doubt alpha="66.7" length="66" tooSmall="False" monospace="0.0">du type indiqué en 0.4. ; on note S. le symbole initial,SF, W. les</doubt><doubt alpha="60.0" length="5" tooSmall="False" monospace="0.0">i i l</doubt><p><b>symboles spéciaux à ^ .   D'après le paragraphe 1,1, on peut définir une</b> <b>grammaire de reconnaissance l^   équivalente à </b><i>(J^^ </i><b>dont l'ensemble des</b> <b>symboles non-terminaux, mis à part S.</b><b>  , est noté   IT    et l'ensemble des</b> <b>On va construire une grammaire CS de reconnaissance, avec marquant</b></p><footnote label="1"> r i règles binaires (resp. terminales) %     (resp. %, ).</footnote><doubt alpha="100.0" length="4" tooSmall="False" monospace="0.0">riri</doubt><p><b>^ =  (o- , ■ vT , S , # , </b><b>1)</b><b> qui engendre =   j X |  X ê ^   et   X   € </b><b><i>J?2 </i></b><b>j-</b><b> </b><b>.</b></p><p><b>- Vocabulaire:   Le vocabulaire terminal de ^ est  U^, ; le vocabulaire non-terminal 0^ comporte en plus des symboles distingués S et #, les</b><page local="7" global="9"/></p><doubt alpha="37.1" length="35" tooSmall="False" monospace="0.0">symboles de 1^   (i = 1, 2 ), i.e.:</doubt><doubt alpha="100.0" length="1" tooSmall="False" monospace="0.0">i</doubt></section><section title="- Principe du choix des règles de ^"><p><b>Nous voulons définir une grammaire de reconnaissance qui n'accepte que les phrases appartenant simultanément à ^ ^ et £   .   Etant donné un mot terminal X, nous vérifierons donc d'abord, à l'aide des règles de &amp;r , que X est une phrase de </b><b>JJ^</b><b> </b><b>; si c'est le cas, et alors seulement, par des règles intermédiaires nous passerons à l'étude de la reconnaissance de X par la grammaire , à l'aide des règles de %    </b><b>.Et</b><b> les règles de</b></p><p><b>(yr   nous permettront de passer au niveau terminal X, si et seulement si X appartient </b><b>à</b><b> </b><b>l'intersection ^ fl </b><b>J?,</b><b> </b><b>.</b></p></section><section title="- Règles de"></section><section title=". règles initiales W"><doubt alpha="50.0" length="6" tooSmall="False" monospace="0.0">" de Ä</doubt><doubt alpha="100.0" length="2" tooSmall="False" monospace="0.0">rl</doubt></section><section title="règles intermédiaires"><doubt alpha="31.2" length="16" tooSmall="False" monospace="0.0">V   T, T'   €l/T</doubt></section><section title="si et seulement si"><doubt alpha="57.1" length="7" tooSmall="False" monospace="0.0">•cm*.mo</doubt><doubt alpha="18.5" length="27" tooSmall="False" monospace="0.0">•([f][^].[^][^])i(Cf],I&gt;?'1</doubt><doubt alpha="60.0" length="35" tooSmall="False" monospace="0.0">.règles et ^      de la grammaire$1</doubt><doubt alpha="16.7" length="6" tooSmall="False" monospace="0.0">2r28*2</doubt><p><b>Le lecteur vérifiera facilement que le principe signalé plus haut se trouve respecté par le choix de ces règles, % accepte les phrases X</b></p><doubt alpha="0.0" length="5" tooSmall="False" monospace="0.0">- 7 -</doubt><doubt alpha="13.3" length="45" tooSmall="False" monospace="0.0">T   6 ^   :   ( S, S [-1]   et   ( S, [-1 ] )</doubt></section><section title=', règles de "reconnaissance'><doubt alpha="0.0" length="3" tooSmall="False" monospace="0.0">: ^</doubt><page local="8" global="10"/><p><b>appartenant simultanément à ^     et £^ &gt; et elles seules, ce qui démontre le résultat énoncé.</b></p><p><b>Nous allons présenter maintenant quelques exemples de langages GS.</b></p><p><b>§ 2.   LANGAGES CS ARTIFICIELS.</b></p><p><b>Les langages étudiés dans ce paragraphe, sont définis sur le vocabulaire terminal  l/^   =   </b><b>"[</b><b> I } » réduit à un seul symbole.   Une phrase, Ik , d'un tel langage, est entièrement caractérisée par sa longueur k^cussi, par abus de langage, dirons-nous parfois "le nombre k", pour le"mot I   " . On sait qu'un tel langage infini p'.est CF que s'il contient un sous-ensemble "formant»<footnote anchor="1"/> une progression Géométrique,   J. P. Bensêcri     [_ 1 </b><b>J » £ <footnote anchor="2"/> ] ^ </b><b>a généralisé la notion de langage CF en faisant intervenir des symboles et des mots    à plusieurs insertions, et diverses opérations sur ces mots, en plus du produit de juxtaposition on parle de langage CFP.   R, Guedj a montré £ 6 </b><b>J </b><b>que tout langage CFP infini, sur le Mscabulaire terminal     [ j-, contient une progression arithmétique ou une progression de la forme: </b><b>j</b><b> </b><b>I"</b><b> + U V   I  le   € {Kl </b><b>J-</b><b> </b><b>.   Ainsi le lecteur pourra vérifier facilement qu'aucun des langages étudiés dans ce paragraphe n'est CFP, a fortiori CF.</b></p><doubt alpha="42.1" length="19" tooSmall="False" monospace="0.0">2.1.   l0*-exemple:</doubt><doubt alpha="18.2" length="33" tooSmall="False" monospace="0.0">I&lt;&lt;-,J&gt;   =  {+j°   I  ,n   6 W }</doubt><p><b>i et j étant deux entiers distincts supérieurs à 1..</b></p></section><section title="Soit lj(i,j) la grammaire CS avec marquant"><doubt alpha="66.7" length="3" tooSmall="False" monospace="0.0">ou:</doubt><doubt alpha="28.0" length="107" tooSmall="False" monospace="0.0">(i,j)   =   ( ltfi,j) ,  1&gt;-T, S , # , Äi.j) ) bU»j&gt;   =   { S, #,       , A2, Bt, B2,   I } ,j) comporte :</doubt><page local="9" global="6"/><doubt alpha="58.5" length="82" tooSmall="False" monospace="0.0">. la règle initiale   (S, AjB^) . les règles de production &lt; ( # At, # A2) (début)</doubt><doubt alpha="28.3" length="53" tooSmall="False" monospace="0.0">( A2At, Aj A2)  ;    ( A2Bt,aJB2)    ;    ( , B* Bj )</doubt><p><b>( B2 # , B^ # )    (fin) .</b></p><doubt alpha="51.0" length="104" tooSmall="False" monospace="0.0">. et les règles terminales   (A^^ ,   |   )    ;    (       , |   ) .Le lecteur vérifiera facilement que</doubt><p><b>St(^&lt;i.j&gt; )   = c&amp;i.j) Ce rasultat serait évidemment susceptible de généralisation en considérant plus de deux indices (i,j).</b></p><doubt alpha="100.0" length="3" tooSmall="False" monospace="0.0">ème</doubt><doubt alpha="41.2" length="17" tooSmall="False" monospace="0.0">2.2.   2 exemple:</doubt><doubt alpha="30.8" length="13" tooSmall="False" monospace="0.0">= { |n!Ine*/}</doubt></section><section title="Considérons la grammaire CS avec marquant"><doubt alpha="61.2" length="98" tooSmall="False" monospace="0.0">ty&lt;!&gt;   =(ütD.tfJ.S,*,&amp;(!)). - IX(!) comprend les deux symboles distingués S et #, les éléments de</doubt><doubt alpha="39.6" length="48" tooSmall="False" monospace="0.0">\j[=   { A , Aj ,a2, b, C , C1, C2, Djet ceus de</doubt><p><b>et le symbole terminal   [ .</b></p><p><b>Nous allons décrire les règles de la grammaire ^(!) en indiquant les dérivations qu'elles permettent.   L'idée directrice est la suivante: on passe de   | n!    à   | (n + 1)! en "copiant" (n + 1) fois le première phrase | n' :</b></p><doubt alpha="28.6" length="28" tooSmall="False" monospace="0.0">i (n + 1)!   _   i n!in!i n!</doubt><doubt alpha="20.8" length="48" tooSmall="False" monospace="0.0">\3[={X»I  X 6 \Ç } , { X"|X\yt} ,1//'={ X".|X€^}</doubt><page local="10" global="12"/><p><b>Ainsi au niveau -non terminal le passage de | <footnote anchor="3"/>' I | </b><b>^'</b><b> correspondra à la dérivation:</b></p><doubt alpha="41.2" length="17" tooSmall="False" monospace="0.0">fAAAB3#'# A* B20*</doubt><p><b>le nombre de symboles A permet de savoir à quelle étape on est rendu. On montrera comment les règles décrites permettent de réaliser la dérivation précédente.</b></p></section><section title="I. Règle-initiale (S!, AA)"></section><section title="II. Règles permettant les dérivations du type:"><doubt alpha="40.0" length="20" tooSmall="False" monospace="0.0">fA3B3#&gt;# DAAB3(C.)6#</doubt><doubt alpha="36.0" length="25" tooSmall="False" monospace="0.0">. ( # A , # DAt) -(début)</doubt><doubt alpha="50.8" length="59" tooSmall="False" monospace="0.0">. ( AjA , AAjC ) ; ( A^B , BAjC ) :   règles de "recopiage"</doubt><doubt alpha="55.8" length="43" tooSmall="False" monospace="0.0">. ( CA , AC ) ; ( CB , BC )ffliseenplacedes</doubt><doubt alpha="46.0" length="50" tooSmall="False" monospace="0.0">( C # , Cx*)  ; ( CCj , ClCl)      JnOUVeaUXS^b0US</doubt><doubt alpha="17.4" length="23" tooSmall="False" monospace="0.0">.(.A C    , C1C    ) ~\</doubt><doubt alpha="58.3" length="24" tooSmall="False" monospace="0.0">,../   passage à l'étape</doubt><doubt alpha="45.9" length="37" tooSmall="False" monospace="0.0">VX€■0£ , V   Y €^ - jA2, DjV suivante</doubt><doubt alpha="38.5" length="13" tooSmall="False" monospace="0.0">( YX'  ,Y'X)J</doubt><p><b>Par la suite les symboles X et Y désigneront un symbole quelconque de </b><b>l/j</b><b> , les restrictions faites seront seules indiquées.</b></p></section><section title="III. Règles permettant les dérivations du type"><doubt alpha="45.3" length="86" tooSmall="False" monospace="0.0">. (DA' ,DA'2') ou ( A2A" ,AA'2') : début de la nouvelle étape . ( X"Y , XY" )   X ^ Cj</doubt><doubt alpha="38.0" length="71" tooSmall="False" monospace="0.0">.(C'^Y, C^Y" ) , ( q # , CJC?#   ) : règles de "recopiage".(C»# , c2# )</doubt><p><b>D'une façon générale s'il s'agit du passage de   | n! à   | ^n + cette étape recommence (n - 1) fois.</b></p><doubt alpha="24.0" length="50" tooSmall="False" monospace="0.0"># DAAB3(C1)6#   ====&gt;   # DAA_ B3(C.C-C,)6#1|(|)22</doubt><page local="11" global="1"/></section><section title="IV. Règles permettant les dérivations du type"><doubt alpha="34.5" length="29" tooSmall="False" monospace="0.0"># DAA,B3(G.C.C,)6#&gt;# DA,B2° #</doubt><doubt alpha="0.0" length="5" tooSmall="False" monospace="0.0">21223</doubt><doubt alpha="52.9" length="70" tooSmall="False" monospace="0.0">. ( A2CJ , AI"A1" ) ou ( A2B* ,A"'A'") : un nouveau symbole A apparaît</doubt><doubt alpha="50.5" length="93" tooSmall="False" monospace="0.0">en vue d'une nouvelle étape éventuelle . (X"'Y , XY"' )   X ^ Cj   ét   X # C2.(C'^'Y, BY"* )</doubt><p><b>.</b><b> </b><b>(</b><b> </b><b>C2"Y</b><b> , BY"' ) ou ( </b><b>C!-'</b><b> </b><b>#</b><b> </b><b>,</b><b> </b><b>B</b><b> </b><b>#</b><b> </b><b>).</b></p><doubt alpha="51.4" length="37" tooSmall="False" monospace="0.0">V. Enfin les règles . ( XA"' , X"»A )</doubt><doubt alpha="20.0" length="10" tooSmall="False" monospace="0.0">.(#D"',#A)</doubt><p><b>achèvent un développement complet (dans l'exemple choisi on aboutira à: # A^B<footnote anchor="2"/>^ # </b><b>),</b><b> et l'on pourra recommencer un nouveau développemnt (on passerait à: # A"*B*^ # ) ou appliquer les :</b></p><doubt alpha="58.8" length="34" tooSmall="False" monospace="0.0">VI. Règles terminales: . ( S , I )</doubt><doubt alpha="19.1" length="47" tooSmall="False" monospace="0.0">. ( # A , #   I   )     (   IA , j  I ).(|B,II)</doubt></section><section title="On vérifiera   que :"><doubt alpha="17.9" length="39" tooSmall="False" monospace="0.0">£«£(1))   =   ot(!)   =   {|n!I  n €IN}</doubt><p><b>2.3.   </b><b>3G'ne</b><b> exemple </b><b>Vi</b><b>   i * 2 : =   {   I*'   I  n € jN } .</b></p><p><b>En s'inspirant de la grammaire   ^j(') on Peut trouver une grammaire CS engendrant   ö£/~^     L * </b><b> "   ^e*a nous permet de donner dans le cadre des</b> <b>langages CS un énoncé du "théorème" de Fermât énonçant que les équations</b> <b>pour n entier supérieur ou égal à 3, n'admettent pas de solutions à valeurs entières,   </b><b>"il</b><b> est facile   de vérifier que cela revient à poser:</b><page local="12" global="2"/><b> </b><b>Vi.i€A/,i*</b><b>   3   :   a(1).ot(i)) - 0</b> <b>et l'intersection (cf. § 1.</b><b>2.) étant stables relativement à la classe des langages CS, on peut définir une grammaire CS engendrant le langage du premier membre de l'cgalité précédente.   Malheureusement le problème général, de savoir si le langage engendré par une grammaire CS est vide, est indécidable.</b></p><doubt alpha="21.4" length="28" tooSmall="False" monospace="0.0">n ,    n n x   + y     = z ,</doubt><doubt alpha="0.0" length="6" tooSmall="False" monospace="0.0">- 11 -</doubt><doubt alpha="27.1" length="59" tooSmall="False" monospace="0.0">Le produit   (5/1•d2=   {   X =2^.X,,|    ^ 6 et   X2€o/2})</doubt><p><b>Nous avons aussi démontré £ 5 </b><b>J   </b><b>que le langage ^(p)   =   {  </b><b>lp</b><b> </b><b>j</b><b> </b><b>p€lW,p</b><b> premier } est CS.</b></p><p><b>Mais ici nous allons présenter une grammaire CS engendrant les nombres premiers écrits sous forme décimale.</b></p><p><b>§ 3.   NOMBRES PREMIERS DECIMAUX ET LANGAGES CS.</b></p><p><b>L'ensemble des nombres premiers, écrits sous forme décimale usuelle, est un langage CS. <u>DEMONSTRATION</u>:</b></p></section><section title="Considérons la grammaire CS avec marquant:"><doubt alpha="33.3" length="18" tooSmall="False" monospace="0.0">^ = { v/,irT,s,#A}</doubt><p><b>où:   -   le vocabulaire terminal,  </b><b>U^,</b><b> , est l'ensemble des chiffres,</b></p><doubt alpha="0.0" length="17" tooSmall="False" monospace="0.0">={0,1, 2, 8, 9, }</doubt><p><b>-   le vocabulaire non terminal,  OC , comporte en plus des deux symboles distingués S et # , tous les sumboles du type:</b></p><doubt alpha="0.0" length="6" tooSmall="False" monospace="0.0">- 12 -</doubt><doubt alpha="100.0" length="3" tooSmall="False" monospace="0.0">Ucl</doubt><page local="13" global="2"/><p><b>Cl ' C2 ' C3 sont ^es cni-ffres arbitraires l'un quelconque d'entre eux pouvant éventuellemnt être indicé par ou ??  , plus</b></p></section><section title="précisément:"><doubt alpha="30.0" length="10" tooSmall="False" monospace="0.0">1KN=|s, #,</doubt><p><b>- les règles de la grammaire ^ vont Stre divisées en trois groupes. I. Kègles_initiales:</b></p><doubt alpha="30.0" length="10" tooSmall="False" monospace="0.0">. # s-# ss</doubt><doubt alpha="20.0" length="5" tooSmall="False" monospace="0.0">. # s</doubt><doubt alpha="66.7" length="3" tooSmall="False" monospace="0.0">Ö c</doubt><doubt alpha="100.0" length="2" tooSmall="False" monospace="0.0">SS</doubt><doubt alpha="50.0" length="2" tooSmall="False" monospace="0.0">s#</doubt><doubt alpha="33.3" length="3" tooSmall="False" monospace="0.0">"1J</doubt><doubt alpha="20.0" length="5" tooSmall="False" monospace="0.0">.#s.}</doubt><p><b>c   €   </b>IÇ   - {0} .</p><doubt alpha="44.4" length="9" tooSmall="False" monospace="0.0">Cl 'C26*T</doubt><doubt alpha="6.7" length="15" tooSmall="False" monospace="0.0">u   6 .   {0'1}</doubt><p><b>Faisons ici l'hypothèse que le symbole S n'intervient pas dans les autres règles et que ces dernières n'agissent que sur les symboles du type</b></p><p><b>indicés ou placés à l'extrémité gcuche: il en résulte que toute #S#-dérivation commencera par une séquence:</b></p><doubt alpha="25.0" length="20" tooSmall="False" monospace="0.0">#s#—&gt;#ss#—&gt;#sn■1#—^#</doubt><doubt alpha="33.3" length="3" tooSmall="False" monospace="0.0">0_c</doubt><doubt alpha="100.0" length="2" tooSmall="False" monospace="0.0">ln</doubt><doubt alpha="25.0" length="4" tooSmall="False" monospace="0.0">,n-1</doubt><doubt alpha="20.0" length="10" tooSmall="False" monospace="0.0">-n - p + 1</doubt><doubt alpha="0.0" length="12" tooSmall="False" monospace="0.0">#-&gt; ... -&gt; #</doubt><doubt alpha="0.0" length="4" tooSmall="False" monospace="0.0">13 -</doubt><doubt alpha="25.0" length="8" tooSmall="False" monospace="0.0">#, Cn# 0</doubt><table class="main" frame="box" rules="all" border="1" regular="False"><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>[V</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>C3l</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>[V</b></p></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p><b>'V</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>f</b><b>c3</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>f</b><b>c3°</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>C2</b></p></td><td class="cell"><p><b>&gt;</b></p></td><td class="cell"><p><b>C2</b></p></td><td class="cell"><p><b>&gt;</b></p></td><td class="cell"><p><b>c2</b></p></td><td class="cell"><p></p></td><td class="cell"><p><i>ci</i></p></td><td class="cell"><p>»</p></td><td class="cell"><p><b>C2</b></p></td><td class="cell"><p><b>&gt;</b></p></td><td class="cell"><p><b>C2</b></p></td><td class="cell"><p>»</p></td><td class="cell"><p><b>C2</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p><b>5</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>[cïJ</b></p></td><td class="cell"><p></p></td><td class="cell"><p>[clJ</p></td><td class="cell"><p></p></td><td class="cell"><p><b>LC1.</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>1</b><b>C1.</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>l</b><b>Cl,</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr></table><table class="main" frame="box" rules="all" border="1" regular="False"><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>c &gt;</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>'c</b><b> 1</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>n</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>JE.</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>_cf</b></p></td><td class="cell"><p><b>...</b></p></td><td class="cell"><p><b>_p_</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>c</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>c</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>l «J</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>P</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr></table><table class="main" frame="box" rules="all" border="1" regular="False"><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>n</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>'C21</b></p></td><td class="cell"><p>M</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p>_0_</p></td><td class="cell"><p><b>...</b></p></td><td class="cell"><p>0</p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>c</b></p><p><b>n.</b></p></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p><b>ci</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr></table><page local="14" global="3"/><doubt alpha="15.8" length="19" tooSmall="False" monospace="0.0">2 #  u €-   j0 , 1j</doubt><doubt alpha="61.9" length="21" tooSmall="False" monospace="0.0">- ou simplement #S#-:</doubt><p><b>Ces dérivations faites, les règles initiales ne pourront plus être appliquées</b></p></section><section title="II. Règles de transformation :"><p><b>Elles seront décrites formellement ci-dessous; signalons ici qu'il s'agit de règles conservant la longueur et que leur but est de déterminer si, oui ou non, le nombre N,</b></p><p><b>N   =   Vn - 1 c2Ci est premier.   Dans ce but N va être "divisé" par les nombres </b><b>D,</b><b> compris</b> <b>Ainsi, en cours de déribation on passe par le mot non terminal:</b></p><doubt alpha="61.5" length="13" tooSmall="False" monospace="0.0">entre 2 et N:</doubt><doubt alpha="38.5" length="26" tooSmall="False" monospace="0.0">D  =   djdj^     j...djdj^</doubt><doubt alpha="100.0" length="1" tooSmall="False" monospace="0.0">N</doubt></section><section title="que l'on représenter schématiquement par"></section><section title="Si N est un multiple de D on obtient le mot"><p><b>, i.e.</b></p><p><b>et l'on bloque la dérivation, N n'étant pas pronier.</b></p><doubt alpha="63.4" length="71" tooSmall="False" monospace="0.0">-   Si N n'est pas divisible par D on passe à la "division" par (D +1),</doubt><doubt alpha="66.7" length="3" tooSmall="False" monospace="0.0">r N</doubt></section><section title="c'est-à-dire au mot non terminal"><doubt alpha="20.0" length="5" tooSmall="False" monospace="0.0">D + 1</doubt><p><b>Il en résulte que si et seulemnt si N est premier on aboutit eu</b></p></section><section title="mot non terminal"><doubt alpha="0.0" length="6" tooSmall="False" monospace="0.0">- 14 -</doubt><doubt alpha="25.0" length="16" tooSmall="False" monospace="0.0">,   2 s D s N(0)</doubt><doubt alpha="100.0" length="1" tooSmall="False" monospace="0.0">D</doubt><table class="main" frame="box" rules="all" border="1" regular="False"><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>'c</b></p><p><b>n</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>'cl + 1</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>cl</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>'C2]</b></p></td><td class="cell"><p></p></td><td class="cell"><p>M</p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b><i>À</i></b></p></td><td class="cell"><p><b>...</b></p></td><td class="cell"><p><b>0</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>dl</b></p></td><td class="cell"><p><b>» • •</b></p></td><td class="cell"><p><b>d2</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>di</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>c</b></p><p><b>n</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>Cl+</b><b> </b><b>1</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>Cl</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>N</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>ci</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr></table><table class="main" frame="box" rules="all" border="1" regular="False"><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>0 v0</b></p></td><td class="cell"><p><b>...</b></p></td><td class="cell"><p><b>0</b></p></td><td class="cell"><p><b>• • •</b></p></td><td class="cell"><p>ro "</p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>c</b></p><p><b>n.</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>.clJ</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>C2</b></p></td><td class="cell"><p><b>ci,</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr></table><page local="15" global="15"/><doubt alpha="100.0" length="1" tooSmall="False" monospace="0.0">N</doubt><doubt alpha="20.0" length="5" tooSmall="False" monospace="0.0">D + 1</doubt><p><b>dont on dérivera le nombre premier N par les règles terminales.</b></p><p><b>III. <u>Règles terminales</u>, c, , sont des chiffres quelconques! ^ -*    c #</b></p><doubt alpha="40.0" length="5" tooSmall="False" monospace="0.0">+C1C2</doubt><p><b>Il s'agit maintenant de préciser les règles de transformation et de décrire les dérivations qu'elles permettent.   On l'a dit ci-dessus, leur but est de "diviser" N par D (2 Ç D $ N).   Cette division va consister en une succession de soustractions.</b></p><p><b>Soit:     N = kD + R      0 </b><b><i>é. </i></b><b>R &lt; D ,    (N n'étant multiple d'aucun nombre inférieur à </b><b>D,</b><b> autre que 1).</b></p><doubt alpha="50.0" length="6" tooSmall="False" monospace="0.0">N - mD</doubt></section><section title="la dérivation passera par les mots non terminaux"><doubt alpha="60.3" length="58" tooSmall="False" monospace="0.0">-   si   R =0,la dérivation sera bloquée, pour m = k, à ID</doubt><p><b>si   R ^ </b><b>0,</b><b> après la (k + l)-ème soustraction de </b><b>D,</b><b> la présence de</b> <b>Distinguons donc les différentes étapes et les différents cas</b></p><doubt alpha="40.0" length="5" tooSmall="False" monospace="0.0">r N 1</doubt><doubt alpha="61.8" length="68" tooSmall="False" monospace="0.0">la retenue ( N - (k + 1)D &lt; 0 ) nous fera passer au mot non terminal</doubt></section><section title="suivants:"><page local="16" global="1"/><doubt alpha="50.0" length="6" tooSmall="False" monospace="0.0">N - mD</doubt><p><b>IX. 1.   Début de soustraction.</b></p></section><section title="Supposons que nous ayons dérivé de S le mot"><doubt alpha="25.0" length="4" tooSmall="False" monospace="0.0">0£m£</doubt></section><section title="avec:"><p><b>N - mD   = r.</b></p><doubt alpha="50.0" length="38" tooSmall="False" monospace="0.0">A.x^i=0(donc à fortiori (H - mD) &gt; 0 )</doubt><doubt alpha="66.7" length="3" tooSmall="False" monospace="0.0">rr0</doubt><doubt alpha="0.0" length="1" tooSmall="False" monospace="0.0">#</doubt><doubt alpha="100.0" length="2" tooSmall="False" monospace="0.0">IT</doubt><p><b>Les chiffres r^ , d^ &gt; ^ , sont quelconques, seule existe la restriction signalée, r^ </b><b><i>i= </i></b><b>0.</b><b>   Cette remarque vaut pour toutes les autres règles.</b></p><p><b>B.   </b><b><i>*l </i></b><b>= 0 :   il s'agit de vérifier si (N - oD) n'est pas nul.</b></p><doubt alpha="0.0" length="4" tooSmall="False" monospace="0.0">(!)•</doubt><p><b>Nous nous intéressons «iniquement aux chiffres de la ligne supérieure, aussi les règles précédentes peuvent, sans aucune confusion, se mettre sous la forme;   </b><b><i>(_o]  </i></b><b># </b><b>-</b><b>? fo'l#</b></p><p><b>étant bien «ntendu que les deux chiffres inférieurs sont quelconques (à remarquer toutefois qu'ils ne peuvent être indicés) et ne sont pas modifiés par ces règles.   Cette remarque nous permettra de simplifier l'écriture de certaines règles</b> <b>(Tout au plus pourrait-on ajouter de nouveaux indices        à la ligne supérieure),</b></p><doubt alpha="61.1" length="18" tooSmall="False" monospace="0.0">.folf2l-» fo'l fol</doubt><doubt alpha="0.0" length="6" tooSmall="False" monospace="0.0">- 16 -</doubt></section><section title=". Ainsi dans le cas où N = mD on se trouvera arrêté à:"><doubt alpha="20.0" length="15" tooSmall="False" monospace="0.0">.00 ...d....dT#</doubt><table class="main" frame="box" rules="all" border="1" regular="False"><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>O'<footnote anchor="1"/></b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>r</b><b> </b><b>o •</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>roi</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>0</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>_0_</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>0</b></p></td><td class="cell"><p><b>• &gt; •</b></p></td><td class="cell"><p><b>d.</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>d.</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>c</b></p><p><b>n</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>°n</b><b> </b><b>-</b><b> </b><b>1</b></p><p><b>* J</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b><i>L</i></b></p></td><td class="cell"><p></p></td><td class="cell"><p></p><p><b>Cl</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr></table><page local="17" global="17"/><p><b>. Si (N - mD) est positif il existe j,   j ^ i,   tel que r   est distinct de </b><b>0,</b><b> et il faut alors continuer notre division par D par une nouvelle soustraction:</b></p><doubt alpha="61.9" length="21" tooSmall="False" monospace="0.0">.r*0frlfo^l-» frlfo-l</doubt><doubt alpha="55.0" length="20" tooSmall="False" monospace="0.0">•   fo"IIol-yfol f0^</doubt><doubt alpha="50.0" length="4" tooSmall="False" monospace="0.0">fl°1</doubt><p><b>II. 2.   <u>Règles de soustraction</u>.</b></p><p><b>Seules nous intéressent les deux lignes supérieures; la ligne inférieure, n'étant pas modifiée, conserve l'information du nombre N étudié.   Nous avons quatre cas à considérer:</b></p></section><section title="A.   Sans retenue (sur le chiffre précédent):"><doubt alpha="28.6" length="7" tooSmall="False" monospace="0.0">*2&gt;yd2:</doubt><doubt alpha="20.0" length="5" tooSmall="False" monospace="0.0">*2&lt;d2</doubt><doubt alpha="42.9" length="7" tooSmall="False" monospace="0.0">rr2- d2</doubt><doubt alpha="11.1" length="9" tooSmall="False" monospace="0.0">(10 + r2)</doubt><p><b>on introduit la retenue (évidemment égale </b><b>à</b><b> </b><b>1) en utilisant l'indice^ " B.   Avec retenue:</b></p><doubt alpha="40.0" length="5" tooSmall="False" monospace="0.0">r2&gt;d2</doubt><doubt alpha="22.2" length="9" tooSmall="False" monospace="0.0">r,- d2- !</doubt><doubt alpha="33.3" length="6" tooSmall="False" monospace="0.0">r2 *d2</doubt><doubt alpha="15.4" length="13" tooSmall="False" monospace="0.0">(9 + r2) - d2</doubt></section><section title="(introduction de la retenue)"><table class="main" frame="box" rules="all" border="1" regular="True"><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>ou plus simplement</b></p></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr></table><page local="18" global="9"/><doubt alpha="0.0" length="1" tooSmall="False" monospace="0.0">#</doubt><p><b>Iï. </b><b>3"</b><b> <u>Fin de soustraction</u>.</b></p><doubt alpha="64.6" length="65" tooSmall="False" monospace="0.0">Il y a essentiellemnt deux cas à envisagerII- (m + i)D&gt; 0 (m &lt; k)</doubt></section><section title="sans la retenue:"><doubt alpha="25.0" length="8" tooSmall="False" monospace="0.0">d5#f£]—&gt;</doubt></section><section title="avec   la retenue:"><doubt alpha="40.0" length="5" tooSmall="False" monospace="0.0">r &gt; d</doubt><doubt alpha="66.7" length="3" tooSmall="False" monospace="0.0">te]</doubt><doubt alpha="48.5" length="33" tooSmall="False" monospace="0.0">N - (m + 1)D &lt; 0 sans la retenue:</doubt><doubt alpha="28.6" length="7" tooSmall="False" monospace="0.0">(m = k)</doubt><doubt alpha="15.4" length="13" tooSmall="False" monospace="0.0">r &lt; d     : #</doubt></section><section title="avec la retenue:"><doubt alpha="18.2" length="11" tooSmall="False" monospace="0.0">r ^ d   : #</doubt><doubt alpha="66.7" length="3" tooSmall="False" monospace="0.0">r c</doubt><doubt alpha="50.0" length="6" tooSmall="False" monospace="0.0">c d c'</doubt><doubt alpha="100.0" length="2" tooSmall="False" monospace="0.0">cd</doubt><p><b>L'indice </b><b>&lt;*</b><b> </b><b>•«jui</b><b> apparaît à la ligne inférieure, indique que N n'est pas divisible par </b><b>D:</b><b> il va permettre de passer à la division par (D + 1) grâce </b><b>au::</b><b> règles suivantes.</b></p></section><section title="II. h. Passage à la division par (D -t-  1); c'est-à-dire"><doubt alpha="40.0" length="5" tooSmall="False" monospace="0.0">dt+ 1</doubt><doubt alpha="0.0" length="6" tooSmall="False" monospace="0.0">- 18 -</doubt><doubt alpha="37.5" length="8" tooSmall="False" monospace="0.0">A.   dt^</doubt><table class="main" frame="box" rules="all" border="1" regular="False"><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p></p></td><td class="cell"><p><b>N</b></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>passage au mot non terminal :</b></p></td><td class="cell"><p><b>D + 1</b></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p></p></td><td class="cell"><p><b>H</b></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr></table><table class="main" frame="box" rules="all" border="1" regular="False"><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>Cl</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>r</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b><i>-\</i></b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>"2</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>dl</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>d2</b></p></td><td class="cell"><p><i>_</i><i>p</i></p></td><td class="cell"><p><b>i</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>d2</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"><p><b>c</b></p><p><b>l'<footnote anchor="1"/>.</b></p></td><td class="cell"><p></p></td><td class="cell"><p><b>31</b></p><p><b>l 2j</b></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr></table><page local="19" global="19"/><doubt alpha="0.0" length="1" tooSmall="False" monospace="0.0">#</doubt><p><b>B.</b></p><doubt alpha="0.0" length="1" tooSmall="False" monospace="0.0">9</doubt><doubt alpha="0.0" length="6" tooSmall="False" monospace="0.0">_1 _9_</doubt><doubt alpha="64.7" length="34" tooSmall="False" monospace="0.0">la présence de l'in­dice « "» à la</doubt><p><b>ligne inférieure indique que le passage de D à D + 1 fait intervenir la retenue (D se terminant par un </b><b>9).</b></p><doubt alpha="33.3" length="3" tooSmall="False" monospace="0.0">a*9</doubt><doubt alpha="20.0" length="5" tooSmall="False" monospace="0.0">d + 1</doubt></section><section title="Il résulte de la description faite que tout nombre premier n"><p><b>dérive de S, selon la grammaire </b><b>^.</b><b> </b>Il <b>resterait à.-voir que la grammaire ^</b> <b>n'engendre pas, ou plutôt "n'accepte pas" d'autres nombres.</b><b> On</b> <b>resrcjuera que les règles doivent être appliquées dans l'ordre de leur</b> <b>présentation </b><b>s:</b><b>,</b><b> l'on veut que la dérivation aboutisse à une phrase.</b></p><p><b>Pour cela on    considérera l'apparition et la disparition des</b></p><p><b>iadtces qui commandent, en quelque so*te </b><b>.,</b><b> l'enchaînement des étapes. Ainsi s'achève la démonstration du résultat annoncé ;</b></p><p><b>n </b>I  <b>N nombre premier décimal } .</b></p></section><section title="REMARQUES"></section><section title="1°)- A ce résultat nous pouvons ajouter le suivant:"></section><section title="Le complémentaire du langage g£ (c^r &gt; )  , c'est-à-dire le"></section><section title="langage: £ =  j  n |  n '   entier naturel décimal non premier j-"><p><b>est un langage OS.</b></p></section><section title="Il suffit de considérer la grammaire ^ et d'en remplacer"></section><section title="les règles terminales III par les suivantes:"><doubt alpha="0.0" length="2" tooSmall="False" monospace="0.0">'0</doubt><doubt alpha="12.5" length="24" tooSmall="False" monospace="0.0">d &lt; c       #     d -&gt; #</doubt><table class="main" frame="box" rules="all" border="1" regular="False"><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>°1</b></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>d</b></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"><p><b>&lt;1</b></p></td><td class="cell"><p></p></td><td class="cell"></td></tr><tr class="row"><td class="cell"></td><td class="cell"></td><td class="cell"></td><td class="cell"></td></tr></table><page local="20" global="20"/><doubt alpha="100.0" length="1" tooSmall="False" monospace="0.0">N</doubt><p><b>en .ajoutant   # S # -&gt; # 0 #   et # S # -# 1 # .</b></p><p><b>Le lecteur vérifiera ce résultat facilement en remarquant que N n'est pas premier si et seulement s'il existe </b><b>D,</b><b> D &lt; N (on peut préciser </b><b>Di</b><b> </b>I <b>) tel que   N = kD.   Dans une dérivation selon la grammaire</b></p></section><section title="essayant d'engendrer N, on aboutit au mot"><doubt alpha="28.6" length="35" tooSmall="False" monospace="0.0">N=c'...c.,et        D =d,... d.ni11</doubt></section><section title="En posant:"><doubt alpha="62.5" length="72" tooSmall="False" monospace="0.0">on est sûr que l'on a d  &lt; c    (car N~?,2D) d'où la restriction imposée</doubt><doubt alpha="66.7" length="3" tooSmall="False" monospace="0.0">n n</doubt><p><b>ci-dessus à la première règle terminale applicable.     Elle était nécessaire,</b></p><p><b>/ [0 et en continuent d'appliquer les règles transformation, au mot |N</b> <b>alors   </b><b>d^</b><b> = ^   et notre nouvelle grammaire   "n'accepte pas" N.</b><b></b></p><doubt alpha="100.0" length="2" tooSmall="False" monospace="0.0">In</doubt><doubt alpha="66.7" length="6" tooSmall="False" monospace="0.0">, mais</doubt><p><b>2°)</b><b>   Nous allons donner une nouvelle grammaire CS engendrant le langage :</b></p><p><b>o£(p)   =   </b>j \P I <b>p e (N, p premier } .</b></p><p><b>Auparavant, donnons un ensemble de règles CS permettant de passer de l'écriture décimale d'un endier naturel p à son écriture   "en bâtons".</b></p><p><b>. <u>Règles CS de passage de # p # </u></b><b><u>à</u></b><b><u> </u></b><b><u>#</u></b><b><u> </u></b><b><u>1</u></b><b><u> </u></b><b><u>p</u></b><b><u> </u></b><b><u>&amp;</u></b><b> </b><b>.</b><b> </b><b>Soit   p = o</b><b>n«in</b><b> </b><b>. x ... c^ .</b></p><p><b>Nous allons distinguer 3 cas suivant la valeur du chiffre des unités.</b></p><doubt alpha="19.1" length="47" tooSmall="False" monospace="0.0">- 1ercas:   «&gt;1      . c #   +-^    (c . i) j #</doubt><doubt alpha="40.0" length="5" tooSmall="False" monospace="0.0">/ fN]</doubt><p><b>car si N est premier, la grammaire </b><b>%,</b><b> nous permet d'aboutir   au mot</b> <b>d est un chiffre quelconque.</b><page local="21" global="21"/><b></b></p><doubt alpha="31.2" length="16" tooSmall="False" monospace="0.0">cI _» . (« - DII</doubt><doubt alpha="33.3" length="15" tooSmall="False" monospace="0.0">a6™6cas   C = 1</doubt><doubt alpha="65.0" length="40" tooSmall="False" monospace="0.0">règle de fin de transformation     . # 1</doubt><doubt alpha="31.2" length="16" tooSmall="False" monospace="0.0">^    d0I # d0I I</doubt><doubt alpha="48.3" length="29" tooSmall="False" monospace="0.0">cas particulier   . # 1 # ——?</doubt><doubt alpha="18.4" length="38" tooSmall="False" monospace="0.0">3ème cas:   C = 0      .   0 # -*&gt;0' #</doubt><doubt alpha="28.6" length="7" tooSmall="False" monospace="0.0">0I-»0'I</doubt><doubt alpha="0.0" length="16" tooSmall="False" monospace="0.0">*#1.15&gt;   # | #=</doubt><doubt alpha="20.0" length="5" tooSmall="False" monospace="0.0">d &gt; 1</doubt><doubt alpha="20.0" length="5" tooSmall="False" monospace="0.0">d = 1</doubt><doubt alpha="18.2" length="22" tooSmall="False" monospace="0.0">0' 0f(d - 1)9I '?u09|'</doubt><doubt alpha="16.7" length="6" tooSmall="False" monospace="0.0">&gt; # 9r</doubt></section><section title="u est un chiffre quelconque"><doubt alpha="0.0" length="7" tooSmall="False" monospace="0.0">0 0" ;-</doubt><doubt alpha="16.7" length="6" tooSmall="False" monospace="0.0">d 0' -</doubt><doubt alpha="12.5" length="8" tooSmall="False" monospace="0.0">u 1 0' -</doubt><doubt alpha="0.0" length="7" tooSmall="False" monospace="0.0"># 1 0'-</doubt><doubt alpha="40.0" length="5" tooSmall="False" monospace="0.0">i'o—,</doubt><doubt alpha="22.2" length="9" tooSmall="False" monospace="0.0">r #—&gt; i #</doubt><doubt alpha="50.0" length="6" tooSmall="False" monospace="0.0">rr—* u</doubt></section><section title="On remarquera que la dérivation"><doubt alpha="30.0" length="10" tooSmall="False" monospace="0.0"># P ## IP#</doubt></section><section title="est définie d'une façon unique; on passera par les étapes:"><doubt alpha="16.0" length="50" tooSmall="False" monospace="0.0"># pï¥#  (p - 1)I#... #  q |P"q# —&gt;   ... —* #|'P#,</doubt><p><b>le passage de q à (q - 1) ( 1&lt; </b><b><i>q£</i></b><b>p ) exige, dans le cas où le chiffre des unités de q est nul, l'intervention d'une retenue.</b></p><p><b>Nous sommes maintenant en mesure de définir une grammaire engendrant </b><i>dt</i><b><i>(p)</i></b><b><i> </i></b><b><i>:</i></b></p><doubt alpha="31.6" length="19" tooSmall="False" monospace="0.0">f= (cr'f{|}.s.#f2/)</doubt><p><b><i>_ \y'=  </i></b><b>VU I </b>o', <b>I </b><b>j-</b><b> </b><b>, l-^étant le vocabulaire terminal et non terminal de la grammaire </b><b>^?</b><b> étudiée ci-dessus.</b></p><doubt alpha="56.2" length="160" tooSmall="False" monospace="0.0">-      =       ^       ,  X étant l'ensemble des règles de la grammaire ^ et   ^     l'ensemble des règles de passage décrites ci-dessus. On a bien:   , =-=^(p&gt;</doubt><doubt alpha="0.0" length="6" tooSmall="False" monospace="0.0">- 21 -</doubt><doubt alpha="11.1" length="9" tooSmall="False" monospace="0.0">. d 1 # -</doubt><doubt alpha="40.0" length="5" tooSmall="False" monospace="0.0">.dl|-</doubt><page local="22" global="22"/><p><b>En conclusion nous allons énoncer des résultats permettant de ccuparer la classe des langages C§ à deux autres classes qui généralisent celle-des langages CF.</b></p><p><b>- <u>Langages CF matricielles</u>.</b></p><p><b>Une grammaire matricielle est un couple </b><b>j</b><b>^c^f,</b><b> </b><i>iM-~^   </i><b>où ^ est une grammaire de constituants.</b></p><doubt alpha="33.3" length="18" tooSmall="False" monospace="0.0">^=( ir,\rt, s ,3t)</doubt><p><b>et </b><i>M </i><b>une partie finie du monoïde libre [^.J^-]   sera dite grammaire</b> <b>matricielle CF, CS, etc.</b><b>, si ^ est respectivement une grammaire CF, CS, etc.   Le langage engendré par la grammaire matricielle        </b><b>.&lt;^\</b><b> estl'ensemble:</b></p><doubt alpha="47.8" length="23" tooSmall="False" monospace="0.0">=   {îlX€^;jp€J(tsJç&gt;x}</doubt><p><b>des uots sur le vocabulaire   </b><b>1/^,</b><b> qui dérivent de S par une suite de règles de      qui est un produit de juxtaposition de mots de </b><i>&lt;H</i><b>'.</b><b> (/.utrement dit on applique d'abord dans leur ordre les regies d'un premier mot      6 ; puis on passe à un second mot jJj » dont on doit pouvoir appliquer la première "lettre", qui est une règle de        puis la seconde etc...). J, P. Benzêcri' a prouvé   £ 2 </b><b>J </b><b>que :</b></p><p><b>. tout langage engendré par une grammaire CF matricielle est CS. On a plus: tout langage CS matriciel est CS.</b></p><doubt alpha="60.6" length="33" tooSmall="False" monospace="0.0">- Langages CFP (cf. § 2 au début)</doubt><p><b>Nous avons prouvé (travail à paraître) que: .   tout langage CFP est CS.</b></p><doubt alpha="0.0" length="6" tooSmall="False" monospace="0.0">- 22 -</doubt><page local="23" global="23"/><doubt alpha="61.5" length="26" tooSmall="False" monospace="0.0">BIBLIOGRAPHIE- o - O - o -</doubt><p><b>J. P. BENZECRI (Rennes, février 1965) Structures algébriques et constituants non connexes dans les grammaires.</b></p></section><section title="J. P. BENZECRI (Paris, 1966) Grammaires matricielles"><p><b>N. CHOMSKY, Formai Properties of Grammars, dans Handbook of Mathematical Psychology, vol. II (Ed. by </b><b>D.</b><b> Luce, </b><b>E.</b><b> Busch, E. Galanter) 1963, pp. 323-418.</b></p><p><b>J. FRIANT (Thèse de 3°   cycle, Paris, 1966) Les langages CS.</b></p><p><b>J. FLIANT (Paris 1966) Nombres premiers et langages CS.</b></p><p><b>R. GUEDJ (Thèse de 3° cycle, Paris, 1966) Grammaires de Constituants Généraux.</b></p><p><b>S. </b><b>Y.</b><b> KURODA (Octobre 1963), Classes of Languages and Linear bounded automata.</b></p><p><b>P. S. LANDWEBER, Three theorems on phrase structure grammars of type 1, Information and Control, t. 6, 1963, p. 137-146.</b></p></section></body></article>