On propose dans cet article une preuve alternative du petit théorème de Fermat via des considérations combinatoires. On en profitera pour introduire la notion d’action de groupe, primordiale en théorie des groupes.

Introduction naïve

On s’intéresse aux nombres de façons de colorier les sommets d’un polygone régulier à p côtés à l’aide de n couleurs. Evidemment, le nombre total de coloriages possibles est np (on peut colorier de n façons chacun des p côtés). Un coloriage étant donné, on s’intéresse aux nouveaux coloriages obtenus en faisant subir au polygone une rotation d’angle un multiple de 2πp.

Clairement, si tous les sommets du polygone initial sont de même couleur, on n’obtient aucun nouveau coloriage en faisant tourner le polygone.

Dans le cas général, pour revenir au coloriage initial par rotation (non égale à l’identité), il faut que le coloriage initial possède un motif “périodique”, la période étant nécessairement un diviseur de p. Notamment, lorsque p est premier, les “périodes” possibles ne peuvent qu’être égales à 1 (coloriage uniforme) ou p (coloriage non uniforme).

Lorsque p est premier (ici p=7), on ne retrouvera jamais le coloriage initial avant la pème (à moins que le coloriage soit uniforme).

Lorsque p n’est pas premier (ici p=6), on peut retrouver le coloriage initial avant la pème rotation si le motif est “périodique” (la “période” ici est 3).

Puisque l’on dipose de n couleurs, il existe exactement n coloriages uniformes. De plus, chaque rotation d’angle 2kπp avec k[[0,p1]] appliquée à un coloriage non uniforme donne un coloriage différent. En regroupant les coloriages non uniformes en “paquets” de coloriages différant d’une rotation d’un angle multiple de 2πp, on en déduit que le nombre de coloriages non uniformes est un multiple de p. Le nombre total de coloriages étant égal à np, on en déduit que npn[p].

Une relation d’équivalence

On propose maintenant une formalisation plus rigoureuse de l’approche précédente.

Pour nN, on notera Nn l’ensemble des entiers compris entre 1 et n (Nn= lorsque n=0). On notera également Ap,n l’ensemble des applications de Np dans Nn. Pour faire le lien avec l’approche précédente, les éléments de Ap,n sont des coloriages : un coloriage n’est en effet qu’une manière d’associer une couleur à chacun des sommets.

Faire subir une rotation d’angle 2πp à notre polygone régulier revient en fait à permuter circulairement ses sommets. On note donc c le cycle (1,2,,p). On munit l’ensemble Ap,n de la relation d’équivalence suivante1 :

(f,g)Ap,n,fgkZ,f=gck

Il est évident que les classes d’équivalence des fonctions constantes sont des singletons. En effet, si f est constante, fck=f pour tout kZ.

On suppose maintenant p premier. Le fait que p soit premier entraîne que les classes d’équivalence d’une application non constante sont exactement de cardinal p. Plus précisément, on va montrer que la classe d’équivalence de fAp,n est

C(f)={fcr,r[[0,p1]]}

les éléments étant bien deux à deux distincts. L’inclusion de la droite vers la gauche est évidente. Réciproquement, si l’on se donne gC(f), il existe kZ tel que g=fck. Puisque cp est l’identité, en notant r le reste de la division euclidienne de k par p, on a bien g=fcr avec r[[0,p1]].

Il ne reste plus qu’à montrer que les éléments sont bien deux à deux distincts. On peut raisonner par l’absurde : on suppose qu’il existe (r,s)[[0,p1]]2 tel que rs et fcr=fcs. En posant t=rs, on a donc fct=f et t[[p+1,p1]]0 ; t est donc premier avec p car p est premier. Il existe donc (u,v)Z2 tel que ut+vp=1. Puisque fct=f, on obtient successivement fcut=f, puis fc1vp=f et enfin fc=f puisque cp est l’identité. Il est alors clair que f est constante.

Récapitulons :

  • Les classes d’équivalence des applications constantes sont des singletons. Il existe n telles classes d’équivalences (autant que d’applications constantes).
  • Les autres classes d’équivalence sont toutes de cardinal p. Notons q leur nombre.

On sait que les classes d’équivalence forment une partition de Ap,n qui est lui-même de cardinal np. On en déduit que np=n+qp et donc que npn[p]. Ceci reste évidemment vrai lorsque n est un entier négatif.

Action de groupe

Le bon cadre pour interpréter le raisonnement précédent est celui d’action de groupe.


Définition [Action de groupe] Soit G un groupe et X un ensemble. On appelle action de groupe toute application

G×XE(g,x)gx

vérifiant les conditions suivantes :

  • xX,ex=xe désigne l’élément neutre de G ;
  • (g,h,x)G2×X,g(hx)=(gh)x.

On dit alors que le groupe G agit ou opère sur l’ensemble E. Dans notre exemple précédent, le sous-groupe c du groupe symétrique Sp engendré par le cycle c=(1,2,,p) agit sur l’ensemble Ap,n des applications de Np dans Nn, l’action étant définie par

c×Ap,nAp,n(σ,f)fσ

Orbites

Les classes d’équivalence de notre exemple précédent sont en fait ce que l’on appelle des orbites pour l’action de groupe.


Définition [Orbite] Soit G un groupe opérant sur un ensemble X. On appelle orbite d’un élément x de X la partie ω(x) de X définie par

ω(x)={gx,gG}

Si l’on définit la relation d’équivalence par

(x,y)X2,xygG,y=gx

l’orbite de xX n’est autre que sa classe d’équivalence pour la relation . On en déduit notamment la proposition suivante.


Proposition Les orbites d’une action d’un groupe G sur un ensemble X forment une partition de X.


On peut donner un exemple qui justifie l’appellation d’orbite. Si l’on considère l’action naturelle du groupe SO2(R) sur R2

SO2(R)×R2R2(R,x)Rx

alors l’orbite d’un vecteur x0R2 est le cercle

{xR2,x=x0}

Action d’un sous-groupe sur un groupe

Il faut maintenant parler d’un exemple fondamental d’action de groupe : un sous-groupe H d’un groupe G peut agir sur G par multiplication à gauche ou à droite. Plus précisément, les deux actions de groupe sont

H×GG(h,x)hxetH×GG(h,x)xh

Les orbites d’un élément x de G pour chacune de ces deux actions de groupe sont alors respectivement xH et Hx 2. L’ensemble de ces orbites est classiquement noté G/H et il est aisé de voir que si H est fini, toutes les orbites ont même cardinal que H (en effet, les applications hhx et hxh réalisent des bijection de H sur Hx et xH respectivement). Comme les orbites forment une partition de G, on en déduit que card(G/H)=card(G)/card(H) 3.

Dans la suite, on considérera des actions à droite.

Stabilisateur

On va maintenant établir un lien entre l’orbite d’un élément et un objet appelé stabilisateur.


Définition [Stabilisateur] Soit G un groupe opérant sur un ensemble X. On appelle stabilisateur d’un élément x de X l’ensemble

Stab(x)={gG,gx=x}

C’est un sous-groupe de G.


Dans notre exemple, le stabilisateur d’une application constante est évidemment c en entier tandis que le stabilisateur d’une application non constante est réduit à l’identité. En effet, le stabilisateur d’une application f est un sous-groupe de c. Son ordre divise l’ordre de c, à savoir le nombre premier p : il vaut donc 1 ou p. Ainsi le stabilisateur de f est soit c en entier, soit réduit à l’identité. Dans le premier cas, le stabilisateur de f contient c et donc cf=fc=f, ce qui prouve aisément que f est constante. Réciproquement, si f est constante, il est clair que son stabilisateur est c.

On retourne maintenant au cas général.


Proposition Soit G un ensemble opérant sur un ensemble X. Alors pour tout xX, il existe une bijection de G/Stab(x) sur ω(x).


On en déduit notamment que, si G est d’ordre fini,

card(G/Stab(x))=card(G)/card(Stab(x))=card(ω(x))

En particulier, le cardinal d’une orbite divise le cardinal du groupe.

Il s’agit maintenant de prouver ce résultat. On peut en fait expliciter une bijection ϕ de G/Stab(x) sur ω(x). On pose pour CG/Stab(x), ϕ(C)=gxg est un élément de C.

  • Il faut déjà montrer que cette application est bien définie, autrement dit que si g1 et g2 appartiennent à une même classe de G/Stab(x), g1x=g2x. Puisque g1 et g2 appartiennent à la même classe, il existe gStab(x) tel que g2=g1g. Ainsi g2x=(g1g)x=g1(gx)=g1x.
  • Il faut également montrer que ϕ est surjective sur ω(x). Si l’on se donne yω(x), il existe gG tel que y=gx. En notant C la classe de g, on a bien y=ϕ(C).
  • Enfin, il faut montrer l’injectivité de ϕ. Notons C1 et C2 deux classes de G/Stab(x) ainsi que g1 et g2 des éléments respectifs de ces classes. Supposons que ϕ(C1)=ϕ(C2) i.e. g1x=g2x. On a donc (g21g1)x=x et donc g21g1Stab(x). Ainsi g1g2Stab(x)=c2, puis C1=C2.

On peut alors revenir une dernière fois à l’exemple traité initialement. Les cardinaux des orbites divisent le cardinal de c, à savoir p qui est premier : ces cardinaux valent donc tous 1 ou p.

Si f est une application constante de Ap,n, son orbite est évidemment de cardinal 1. Réciproquement, si f est une application dont l’orbite est de cardinal 1, alors cf=fc=f. On prouve alors facilement que f est constante.

Finalement, l’orbite de chaque application constante est de cardinal 1 et il existe n telles orbites tandis que les orbites des applications non constantes sont de cardinal p. Comme Ap,n est de cardinal np et que les orbites forment une partition de cet ensemble, npn[p].

Variantes

On aurait pu établir le petit théorème de Fermat en utilisant d’autres actions de groupe.


Par exemple, on peut utiliser le groupe additif Fp=Z/pZ. En effet, si on note maintenant Bp,n l’ensemble des applications de Fp dans Nn, il suffit d’introduire l’action de groupe

Fp×Bp,nBp,n(x,f)fτx

τx désigne la translation yFpx+y. On laisse la preuve de la suite au lecteur.


On aurait aussi pu utiliser l’action d’un autre groupe cyclique d’ordre p, à savoir le groupe Up des racines pèmes de l’unité. On le fait alors agir sur l’ensemble Cp,n des applications de Up dans Nn de la manière suivante

Up×Cp,nCp,n(ζ,f)fτζ

τζ désigne l’application zUpζz. Là aussi, le lecteur saura se ramener à l’étude du premier exemple.


De manière générale, si Gp désigne un groupe cyclique d’ordre p 4, on peut le faire agir sur l’ensemble NnGp des applications de Gp dans Nn via l’action de groupe suivante

Gp×NnGpNnGp(α,f)fτα

τα désigne l’application βGpαβ. A nouveau, le stabilisateur d’un élément f de NnGp est un sous-groupe de Gp. Son ordre divise donc p. Or p est premier donc le stabilisateur de f est d’ordre 1 ou p.

Si f est constante, son orbite est évidemment de cardinal 1. Réciproquement, si l’orbite de f est de cardinal 1, alors fτα=f, ce qui permet de prouver que f(αk)=f(α) pour tout kZ, et, comme α engendre Gp, f(β)=f(α) pour tout βGp. L’application f est donc bien constante.

Finalement, l’orbite de chaque application constante est de cardinal 1 et il existe n telles orbites tandis que les orbites des applications non constantes sont de cardinal p. Comme NnGp est de cardinal np et que les orbites forment une partition de cet ensemble, npn[p].

Bémol

Cette preuve du petit théorème de Fermat est relativement élégante et nous a permis d’introduire un concept-clé de la théorie des groupes, à savoir l’action de groupe.

Néanmoins, cette preuve n’est pas vraiment “efficace” lorsqu’on la compare à la preuve “classique”. On se permet de rappeler celle-ci pour mettre en exergue sa briéveté. On sait que les inversibles de l’anneau Fp forment un groupe. Lorsque p est premier, Fp est un corps (il s’agit essentiellement du théorème de Bézout) de sorte que le groupe des inversibles est Fp (Fp privé de l’élément nul). Ce groupe est donc d’ordre p1. Ainsi pour tout xFp, xp1=1. En termes d’entiers, pour tout entier n premier avec p, np11[p]. On en déduit quasi immédiatement que npn[p] pour tout entier n.


Notes

  1. On laisse le soin au lecteur de vérifier qu’il s’agit bien d’une relation d’équivalence. 

  2. Attention, les ensembles xH et Hx ne coïncident pas forcément. Si xH=Hx pour tout xG, on dit que H est un sous-groupe distingué de G

  3. On a donc en particulier démontré le théorème de Lagrange : l’ordre d’un sous-groupe divise l’ordre d’un groupe. 

  4. Un groupe Gp d’ordre premier p est forcément cyclique. En effet, l’ordre d’un élément divise l’ordre du groupe et vaut nécessairement 1 ou p. Or le seul élément d’ordre 1 est l’élément neutre (qui est unique) et Gp contient plus d’un élément (car p>1). Il contient forcément un élément d’ordre p : il est donc cyclique.