A
Sommaire

Les 14 groupes d'au plus 8 éléments et leur structure d'espace

 

1) Introduction

L'hypothèse d'un monde fini réconcilie la génèse avec l'arithmétique. Comme on a pu le constater, l'essence des espaces tient presque toujours dans un petit nombre d'unités génératrices. On se propose d'étudier avec une approche davantage combinatoire les structures mathématiques utilisées comme espace, telles les complexes, les biréels, les quaternions, etc. Ces structures sont engendrées par leurs unités qui forment des petites structures de groupe ou de demi-groupe. Et on peut les parcourir de façon exhaustive selon leur nombre d'éléments.

À isomorphisme près, il y a exactement `14` groupes ayant au plus `8` éléments. Tous ces groupes se plongent dans un groupe de permutation commun. Nous allons parcourir la liste de ces groupes en décrivant les différentes notions nécessaires à leur présentation et à leur assemblage en une structure commune. Puis nous définirons ce que l'on entend par structure d'espace, un anneau dont la loi de produit étend la loi de produit du groupe des unités, engendré par ces unitées et ne contenant comme unités que celles-ci. Et nous parcourrons la liste de ces structures d'espace.

Alain Debreil, Groupes finis et treillis de leurs sous-groupes, (Edition Calvage & Mounet, 2016)
Patrick Girard, Quaternions, algèbre de Clifford et physique relativiste, (Presses polytechniques et universitaires romandes, 2004)
Jean Hladik, Pierre-Emmanuel Hladik, Quaternions réels, duaux et complexes, (Edition Ellipse, 2016)
Romain Vidonne, Groupe circulaire, rotations et quaterrnions, (Edition Ellipse, 2001)

On commence par étudier les structures d'espace qu'il est possible de construire sur des groupes d'unités de cardinalité 1, 2, 3, etc.. Et on décrit progressivement les différents concepts et notions apparaissant avec la complexification des espaces

Le langage est la clef de résolution. Nous développerons un langage logique typé, basé sur un mécanisme d'inférence de type que l'on retrouve dans les langages de programmation évoluée, et qui permet de donner plusieurs rôle de nature différente à un même élément.

On privilégie la notion d'application à celle de fonction, et donc celle de lois de compositions internes qui sont des applications binaires, et la première structure non-triviale que nous étudierons sera celle de magma.

On procède ainsi à une approche abstraite de la notion d'espace tout en restant dans une énumération combinatoire trés concrète et en dévoilant un langage formel adapté.

2) La structure vide

Que peut-on dire sur la structure vide ? juste une remarque sur la logique.

Dans la structure vide, quelque soit la formule propositionnelle unaire `P(".")`, la proposition `AAx,P(x)` est toujours vrai et n'entraine pas la proposition `EEx,P(x)` qui est par ailleurs toujours fausse. Si on reste à l'intérieur de la structure, les définitions sont les suivantes :

`(AAx,P(x)) <=> ^^^_x P(x)`

`(EEx,P(x)) <=> vvv_x P(x)`

Le symbole d'itération `^^` désigne le connecteur "et" appliqué itérativement avec un index `x` parcourant chaque élément de la structure, et le symbole d'itération `vv` désigne le connecteur "ou" appliqué itérativement avec un index `x` parcourant chaque élément de la structure.

L'expression `P(".")` désigne une application unaire, où l'argument n'est pas mentionné mais dont la place est représenté par un point, et qui par défaut doit être un élément de la structure. Notez que ce suffix optionnel `(".")` ne fait que préciser le type de `P`. Il indique que `P` est une application unaire. Le type de résultat est déterminé par le type de l'application `P`. Et dans l'exemple, il s'agit d'une formule propositionnelle, ou dit autrement, la formule d'une proposition écrite dans le langage de la structure. On aura recours à ce type d'application pour définir recurcivement le langage logique du premier ordre d'une structure.

Mais ici, seule la valeur logique de la proposition résultat nous est utile, qui est soit `0` si elle est fausse ou soit `1` si elle est vrai. Et comme on se place dans la logique classique, il n'y a que ces deux valeurs possibles. Evaluée ainsi, la formule propositionnelle unaire devient une proposition unaire, car une proposition est une formule propositionnelle à équivalence près.

la proposition unaire `P(".")` définit un sous-ensemble dit définissable, qu'est l'ensemble des éléments `x` tel que `P(x)`.

Pour éviter cette limitation de définissabilté qui est ici une nuance inutilement compliquée, on choisie d'utiliser une application unaire plus générale appelée un prédicat unaire. C'est à dire une application de `E` vers `{0,1}`, c'est à dire une application appartenant à `E->{0,1}`. Par défaut, on note l'ensemble défini par le prédicat unaire par la même lettre que le prédicat unaire qui en constitue sa fonction caractéristique.

`P = {x "/" P(x)"="1}`

Toutes ces définitions ne permettent pas de démontrer formellement que `AAx,P(x)` est vrai en dehors de l'adoption d'une convention. Pour le démontrer, il faut expliciter le non-dit qu'est le type de `x`, il faut se situer à l'extérieur de la structure vide `Ø`.

`{AAx,P(x)}_Ø <=> {AAx, Ø(x) => P(x)}`

`{EEx,P(x)}_Ø <=> {EEx, Ø(x), P(x)}`

Les propositions sont entourées d'accolades est forment des ensembles de propositions correspondant à des conjonctions de propositions. L'accolade est indicée par une structure pour spécifier une restriction à la seule vue interne de la structure. Quelque soit un élément `x` interne ou externe à la structure, il n'appartient pas à la structure vide, `¬Ø(x)`.

Notez que l'appartenance d'un élement `x` à un ensemble `E` se note de deux façons :

`x "∈" E <=>E(x)`

Autrement dit, on donne à tout ensemble `E` un second rôle qui est sa fonction caractéristique.

`AAx, E(x)"="sf"val"(x "∈" E)`

L'opérateur `sf"val"` appliquée à la formule d'une proposition, retourne sa valeur logique `0` ou `1`.

L'introduction de second rôle pour les éléments est rendu possible dans la logique typé. On le formalise comme suit : Pour un prédicat unaire `P`, et afin de lui donné un rôle d'ensemble, on déclare :

`P := {x "/" P(x)"="1}`

Pour un ensemble `E`, et afin de lui donner un rôle de prédicat unaire, on déclare :

`E := (x"↦"sf"val"(x "∈" E))`

Le symbole `:=` dénote l'incorporation d'un rôle supplementaire. L'incorporation va nous permettre de couper court aux diagrammes commutatifs qui deviennent vite des dédales dévoreur d'alphabets. On limite ainsi le nombre de variables utilisées. C'est le même symbole qui est utilisé en informatique pour dénoter une affectation. Dans le cas présent, l'incorporation à lieu dans les deux sens, ce qui correspond à une fusion, et qui se note alors par l'égalité.

3) La notion d'espace

Qu'attendons-nous d'une structure d'espace ? Qu'elle n'est pas de centre, qu'elle n'est pas de direction privilégiée, qu'elle n'est pas de repère privilégié. Etant donné un espace, nous n'allons pas définir une structure directement basée sur les points de cet espace mais sur des transformations de cet espace qui permettent de passer d'un repère à un autre. A ce stade générale, le repère n'est caractérisé que par un point de l'espace. On conçoit l'existence d'un ensemble de bijections appelées translations, clos par composition, qui nous permettent de passer d'un point de l'espace à un autre point de l'espace par une translation et une seule d'entre elles.

Considérons une translation `f` qui appliqué au point `O` abouti au point `A` autrement dit `f(O)"="A`. Considérons une translation `g` qui appliqué au point `O` abouti au point `B` autrement dit `g(O)"="B`. Considérons une translation `h` qui appliqué au point `O` abouti au point `C` autrement dit `h(O)"="C`. Le point `O` est notre repère en tant qu'observateur. Le point `A` est déterminé par la translation `f` relativement au repère `O`. Autremement dit, dans le repère `O`, la coordonnée de `A` est la translation `f`.

L'espace considéré se manifeste par la structure de ses translations. La composition des translations est notés à l'aide du symbole `"+"` de la structure. La composition des translations est rarement non-commutatives. C'est pourquoi on commence par étudier ce premier cas en supposant la commutativité :

`f"+"g = g"+"f`

Parcontre les translations étant des applications, la loi de composition est déjà naturellement associative :

`f"+"(g"+"h)=(f"+"g)"+"h`

Il existe une translation nulle qui consiste à rester sur place, notée `0`.

`0=(x|->x)`

`f"+"0=f`

Et pour chaque translation `f`, il existe une translation inverse qui est appelée opposée puisque l'on est en notation additive, et qui est notée `"-"f`.

`f"+-"f=0`

Dans le repère défini de façon absolu par le point `O`, la coordonnée du point `B` est la translation `g`. Et si nous opérons un changement de repère en nous translatant au point `A` avec la translation `f`. Alors, pour aller de `A` à `B` on appliquera la translation opposée de `f` notée `"-"f` pour aller dabord en `O`, puis la translation `g` pour arriver en `B`. Et donc la coordonnées du point `B` selon le repère `A` sera la translation `"-"f"+"g`. Il n'y a que cette "transitivité" élémentaire qui est supposée, parmi les propriétés ne faisant pas intervenir les unités. Une telle opération correspond à celle d'une structure de groupe commutatif (groupe abelien), en notation additive. La définition du groupe abelien s'écrit :

    `sf"Groupe abelien" = ("+"(".,."),"-"("."),0)/{(x"+"y)"+"z"="x"+"(y"+"z),x"+"y"="y"+"x,x"+"0"="x,x"+-"x"="0}`

Au numérateur se trouve la liste des opérateurs de la structure, l'addition `"+"`, l'opposé `"-"`, et le zéro `0`, qui sont suffixé par le symbole `(".,.")` pour indiquer qu'il s'agit d'un opérateur binaire, par le symbole `(".")` pour indiquer qu'il s'agit d'un opérateur unaire, ou non suffixé si c'est un élément. Au dénominateur se trouve la liste des égalités. Les variables qui ne sont pas déclarées au numérateur sont toutes quantifiées universellement sur la structure en cours.

On démontre que `"-"(f"+"g)` se décompose comme suit :

`"-"(f"+"g)"+"(f"+"g) = 0`
`"-"(f"+"g)"+"f"+"g = 0`
`"-"(f"+"g)"+"f"+"g "+" "-"g= "-"g`
`"-"(f"+"g)"+"f"+"0= "-"g`
`"-"(f"+"g)"+"f = "-"g`
`"-"(f"+"g)"+"f"+" "-"f = "-"g "+" "-"f`
`"-"(f"+"g) = "-"g "+" "-"f`
`"-"(f"+"g) = "-"f "+" "-"g`

4) L'action de groupe

Nous avons un espace de points `E` et un groupe abelien de bijections appelées translations `G "⊏" (E"↔"E)`. Ce que nous avons décrit précédement se formalise en une action du groupe `G` sur l'espace `E`. C'est une loi externe appartenant à `G"×"E"→"E` qui à chaque translation `g "∈" G` et à chaque point `x "∈" E` associe le point image `g(x)`.

On continue à adopter la notation additive, la loi externe est donc une application binaire de symbole, `+"(.,.)"`, et on maintient une syntaxe centrée. De même, la loi interne du groupe `G` qui correspond à la composition d'application `"∘"` sera notée par le même symbole d'addition `+`. On laisse le soin au typage par inférence de déterminer le type des arguments et donc le type de l'opération `+`, à savoir s'il s'agit de l'addition dans `G` notée `+_G` ou de l'addition externe notée `+_"ext"`. En résumé :

`+_G in (G"×"G"→"G)`
`+_"ext" in (G"×"E"→"E)`
`+`
désigne `+_G` ou `+_"ext"` selon le typage des arguments.

`AAf"∈"G, AAx"∈"E,`
`f"+"x = f(x)`

Et après typage par inférence, l'égalités s'écrit `f+_"ext"x = f(x)`. Elle signifie que l'action du groupe des translations sur l'espace `E`, consiste à appliquer une translation à un point. De cette égalité, ont déduit ce qui suit quelque soit `g"∈"G` :

`f"+"(g"+"x)=f(g(x))=(f"∘"g)(x)=(f"+"g)(x)=(f"+"g)"+"x`

Car l'action est présupposée de nature applicative. Dans des cas plus généraux où l'action n'est pas présupposée de nature applicative, il faut que cette propriété soit vérifié ainsi que la concordance entre l'élément neutre du groupe et l'application identité `(x"↦"x)` sur `E`, pour pouvoir s'appeler une action. L'action munie alors les éléments du groupe d'un rôle de bijection de `E` sur `E`:

`f"+"(g"+"x) = (f"+"g)"+"x`

`AAx, 0+x=x`

Notez qu'après typage par inférence, cela s'écrit comme suit :

`f+_"ext"(g+_"ext"x)=(f+_Gg)+_"ext"x`

`AAx, 0_G +_"ext" x=x`

Puis, l'hypothèse qui est faite sur cette action de groupe, est qu'elle est transitive et fidèle, Deux propriétés bien distinctes que sont la transitivité de l'action et l'injectivité de l'action :

`AA(x,y)"∈"E^2,EEf"∈"G, f"+"x=y`

`AAx"∈"E ,AA(f,g)"∈"G^2, f"+"x"="g"+"x => f"="g`

C'est à dire que pour chaque couple de points `(x,y)` il existe une et une seule translation `f` tel que `f(x)"="y` ce que se note de façon condensée :

`AAx,y"∈"E,EE!f"∈"G, f"+"x=y`

Cela permer d'associer à chaque couple de points `(x,y)` l'unique translation passant de `x` à `y` que l'on note `varphi(x,y)`, et de pouvoir éventuellement l'incorporer en adoptant la règle d'incorporation `AA (x,y) "∈" E^2,` `(x,y):=varphi(x,y)`. Puis pour n'importe quel point repère `O`, une translation `varphi(O,x)` sera forcement distincte d'une translation `varphi(O,y)` si `x "≠" y`. Cela permet de pouvoir éventuellement fusionner les points avec les translations en adoptant la règle de fusion `AA x "∈" E,` `x=varphi(O,x)`. Cela revient, après avoir choisi un repère `O`, d'identifier chaque point `x` à la translation qui passe de `O` à `x`.

4) Terminologie et grammaire

Un ensemble peut être désigné par son nom ou par le nom commun de ses éléments. Par exemple l'ensemble `RR` désigne l'ensemble des réels. Le terme mathématique `RR` désigne l'ensemble, tandis que le terme littéraire "réel" désigne le nom commun de ses éléments.

Notez que la proposition " `u` est un couple de `E` " signifie que les éléments de `E` sont des couples (ou ont un rôle de couple) et que `u` appartient à `E`. Parcontre, si les éléments de `E` s'appelle par exemple des pions et les regroupe tous alors la proposition « `u` est un couple de pions » signifie que `u` est un couple d'éléments appartenant à `E`. On dira que `x` est un élément de `E` s'il appartient à `E`. On dira que `(x,y)` est un couple de `E` s'il appartient à `E`. Et on dira que `(x,y)` est un couple d'éléments de `E` si `x` et `y` appartiennent à `E`. Les couples d'éléments de `E` sont les couples de `E"×"E`.

Notez que la proposition " `f` est une application de `E` " signifie que les éléments de `E` sont des applications (ou ont un rôle d'application) et que `f` appartient à `E`. On dira que `f` est une application de `E` si elle appartient à `E`. On dira que `f` est une application de `A` vers `B` si elle appartient à l'ensemble `A"→"B` c'est à dire si son ensemble de départ est `A` et si son ensemble d'arrivé est `B`. Les applications de `A` vers `B` sont les applications de `A->B`.

Notez qu'une application est déterminés par son graphe déterminant son ensemble de départ, et par son ensemble d'arrivé qui peut être plus vaste que son ensemble image. Le choix de fixer un ensemble d'arrivé est fait pour pouvoir dénombrer les applications ayant le même ensemble de départ.

On dira que `f` couvre une application `g` si et seulement si le graphe de `g` est inclus dans `f`. On dira que `g` est une restriction de `f` si `f` couvre `g`.

On dira que `f` couvre une application de `E` si elle couvre une application appartenant à `E`. On dira que `f` couvre une application de `A->B` si `A` est inclus dans son ensemble de départ et si l'image `f(A)` est inclus dans `B`. On dira que `f` est une restriction d'une application de `A->B` si son ensemble de départ est inclus dans `A` et si son image est inclus dans `B`.

Notez que la proposition " `A` est un ensemble de `E` " signifie que les éléments de `E` sont des ensembles (ou ont un rôle d'ensemble) et que `A` appartient à `E`. Parcontre, si les éléments de `E` s'appelle par exemple des pions et les regroupes tous alors la proposition « `A` est un ensemble de pions » signifie que `A` est un ensemble d'éléments appartenant à `E`. On dira que `E` est un ensemble de `A` s'il appartient à `A`, et on dira que c'est un ensemble d'éléments de `A` s'il est inclus dans `A`. Les ensemble d'éléments de `A` sont les ensemble de `ccP(A)`. On dira que l'ensemble `A` est une restriction de `B` si `A` est inclus dans `B`. Notez que la proposition " `A` est un ensemble de `E` " signifie que les éléments de `E` sont des ensembles (ou ont un rôle d'ensemble) et que `A` appartient à `E`.

Un sous-ensemble de `A` est un ensemble d'éléments de `A`, c'est une partie de `A`, c'est une restriction de `A`. L'ensemble des parties de `A` se note `cc(A)`. les expressions "sous ensemble de", "partie de", "restriction de" sont des synonymes.

Un ensemble de couples de `A` est un ensemble de couples où chaque couple appartient à `A`. De même, un ensemble d'ensembles de `A` est un ensemble d'ensembles appartenant à `A`.

Une suite de `A` est une suite appartenant à `A`, et une suite d'éléments de `A` est une suite d'éléments appartenant à `A`. Une suite d'ensemble de `A` est une suite d'ensembles appartenant à `A`, et une suite d'ensemble d'éléments de `A` est une suite d'ensemble d'éléments appartenant à `A`.

Une famille est un ensemble d'ensembles. "famille de" est synonyme "d'ensemble d'ensembles de". Une famille de `A` est une famille appartenant à `A`, c'est un ensemble qui appartient à `A` et qui contient des ensembles. Une famille d'éléments de `A` est un ensemble d'ensembles d'éléments appartenant à `A`, c'est un ensemble de sous-ensembles de `A`, c'est un ensemble de parties de `A`, plus simplement c'est une famille d'éléments de `A`. Un ensemble d'ensembles de `A` est un ensemble d'ensembles appartenant à `A`. C'est une partie de `A`

Un ensemble de sous-ensemble de `A` est une famille d'éléments de `A`.

4) L'unité `1`

Nous avons un espace décrit par un groupe abelien de translations, noté `E`. Notez qu'à ce stade le terme de translation ne désigne qu'une bijection transitive et fidèle. Ce n'est que beaucoup plus tard, que, du resultat des constructions faites, découlera les nombreuses propriétés que l'on associe aux translations. Le qualificatif transitive et fidèle sont des propriétés globales de l'ensemble des translations. Elles signifient qu'a chaque couple de points `(x,y)`, il y a une et une seule translation partant de `x` pour aller sur `y`. Ainsi il est possible de procéder à une incorporation, d'identifier les couples `(x,y)` à la seul translation envoyant `x` sur `y` que l'on note `varphi(x,y)`. L'application binaire `varphi` forme une loi externe appartenant à `E"×"E->G`.

 

Dans un tel groupe de bijections, il existe naturellement une loi externe, notée `"∗"`, de `ZZ"×"E` vers `E`, qui consiste à composer la translation avec elle même autant de fois qu'indiqué par l'argument entier :

`"∗" in ZZ"×"E"→"E`

`AAn"∈"ZZ^"+∗",AAx "∈" E,`

`n"∗"x=overset(sf"n fois")overbrace(x"+"x"+"..."+"x)`

`"-"n"∗"x=overset(sf"n fois")overbrace("-"x"+-"x"+"..."+-"x)`

`0"∗"x=0`

Notez que dans cette dernière égalité, l'inférence de type nous permet de préciser le type de 0. L'égalité s'écrit précisément en mettant le type en indice :

`0_ZZ"∗"x=0_E`

Pourquoi s'agit-il d'une loi externe ? parceque les entiers de sont pas considérés comme des points de l'espace mais comme des éléments appartenant à un ensemble disjoint de l'espace qui est l'ensemble des entiers naturels. Ce préjugés ne tient pas, car il n'y a pas plus de raison à considérer un `ZZ` isolé qu'un espace isolé. La structure d'espace que nous recherchons doit se construire par elle-même pour n'introduire aucun biais de symétrrie qui serait extérieur à l'espace. L'unité de mesure est défini dans l'espace. Regardez par exemple le mètre étalon. Il était longtemps qu'une régle en métal conservé dans le Bureau International des Poids et Mesures à Paris.

L'anneau des entiers relatif `ZZ` est munie d'une addition `"+"(".,.")` ayant `0` comme élément neutre, d'un opposé `"-"(".")`, d'une multiplication `"*"(".,.")` ayant `0` comme élément absorbant et `1` comme élément neutre. Ces opérations sont associatives et commutatives. Et la multplication est distributive par rapport à l'addition `AAxAAyAAz, x(y"+"z)"="xy"+"xz`. Les éléments inversibles de l'anneau sont appelés ses unités. L'anneau `ZZ` a deux unités qui forme un groupe `{1,"-"1}`. L'anneau est engendré par l'unité 1 et par les opération `"+"` et `"-"` ce qui se note `ZZ = "<"1,"+","-"">"`

La structure d'espace doit contenir `ZZ` ou un de ses quotients. Comme nous ne voulons pour l'instant qu'une seule unité, on quotiente `ZZ` en rendant égale `1` et `"-"1`, cela produit l'anneau `ZZ"/"2ZZ`.

 

et d'un élément est engendré par l'unité 1.

 

 

La structure d'espace est engendré par un groupe d'unité `G"="{u_1,u_2,u_3,...,u_n}`. Cela signifie que quelque soit une translation `f` celle-ci est le résultat d'une somme d'unités qui grâce à la commutativité de `+` se met sous la forme :

`EE(a_1,a_2,a_3,...,a_n) "∈" NN^n,`

`f = a_1 u_1+a_2 u_2+a_3 u_3+...+a_n u_n`

Interviennent maintenant les conditions du groupe des unités : Que le produit d'une unité sur une somme est bien distributive. Et que le produit d'une unité avec `0` est `0`.

`u(f"+"g)=uf"+"ug`
`(f"+"g)u=fu"+"gu`
`u0=0`
`0u=0`

Qu'il existe dans `G` un élément neutre qui est `1`, on le nomme `u_1=1`. Que le produit dans `G` est associatif, `u(vw)=(uv)w`. On remarque que ce produit associatif s'étend au produit dans la structure d'espace grace à la distributivité. Que chaque élément de `G` est inversible, pour chaque unité `u`, il existe une unité inverse notée `1"/"u`.

`u 1/u=1`

`1/u u=1`

 

4) Magma à 1 élément

Un magma est un ensemble muni d'une loi de composition interne. On utilise la notation multiplicative : La loi est désignée par le symbole `"∗"`. Le produit de deux élément `x,y` se note `x"∗"y` ou par l'absence de symbole simplement en juxtaposant les arguments `xy"="x"∗"y`. S'il n'y a qu'un seul élément, il n'y a qu'une seule loi interne possible. On note l'élément `1`. La loi est décrite par cette égalité :

`1"∗"1=1`

C'est le groupe trivial, noté `C_1` ou simplement `{1}`.

 

 

 

L'élément `1` est l'élément neutre et constitue donc son propre inverse.

 

Mais on peut donner à l'élément `1` un rôle plus générale s'appliquant à tous les magmas : C'est le seul élément du magma qui satisfait la proposition `AAx,xx"="x, x1"="x`. Et selon la théorie du groupe, il est nécessairement existant et unique. En effet, s'il y en avait deux, `1` et `e`, alors `1e"="1` et `1e"="e` donc `1"="e`. L'élément neutre est donc définissable et distinguable de tous les autres éléments. C'est à dire qu'il existe une fonction propositionelle unaire `P"(.)"` écrite dans le langage des groupes, qui, pour n'importe quel groupe `G`, n'est vrai que pour un et un seul élément de `G`. Cette fonction propositionelle est appelée la définition unifère de l'élément neutre. Le qualificatif unifère signifie que l'objet défini est nécessairement unique.

`P(a) = (AAx, ax"="x, xa"="x)`

`P = {a"↦"(AAx, ax"="x, xa"="x) "/" a"∈"G}`

Le seul élément qui satisfait `P"(.)"` sera renommé par le symbole `1`. Cette procédure se codifie simplement en affirmant l'existance unique `EE! 1, P(1)`. Le quantificateur existentiel unifère `EE!` permet de nommer l'élément unique satisfaisant la proposition `P"(.)"`. Après ce nommage, et une fois connue de la structure `G` c'est à dire rajouté à son language pour former la structure `G[1]`, nous avons :

`G[1]|==(AAx,1x"="x, x1"="x)`

Parce qu'il possède une définition lui assurant son existence et son unicité dans chaque groupe, il désigne l'élément neutre dans chaque groupe. Dans chaque groupe il n'y a qu'un et un seul élément qui a se rôle, et qui est désigné par le symbole `1`. On plonge ainsi le groupe trivial `{1}` dans chaque groupe `G` et on procède à l'identification `1"="1_G`. Ainsi `C_1` est inclus dans notre groupe modèle `M` que nous sommes en train de construire.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Quels sont les anneaux engendrés par une seul unité qui ne possède qu'une seul unité ?

 

Pour le savoir on procède à une extension élémentaire par l'ajout d'un opérateur binaire qui constituera une seconde loi notée de façon additive `"+"` et qui devra satisfaire la théorie de l'anneau.

 

 

 

Ces propriétés découllent des exigences que l'on attend d'un espace. Dans une structure d'espace `E` on conçoit l'existence d'applications apparetenant à `E->E` appelées translations qui nous permettent de passer d'un point de l'espace à un autre point de l'espace, quelques soient ces points. Considérons une translation `f` qui appliqué au point `O` abouti au point `A` autrement dit `f(O)"="A`. Considérons une translation `g` qui appliqué au point `O` abouti au point `B` autrement dit `g(O)"="B`. Considérons une translation `h` qui appliqué au point `O` abouti au point `C` autrement dit `h(O)"="C`.

Le point `O` est notre repère en tant qu'observateur. Le point `A` est déterminé par la translation `f` relativement au repère `O`. L'espace considéré se manifeste par la structure de ses translations. La composition des translations est notés à l'aide du symbole `"+"` de la structure. La composition des translations est rarement non-commutatives, on peut donc poser comme premier cas, la commutativité :

`f"+"g = g"+"f`

Parcontre les translations étant des applications, la loi de composition est déjà naturellement associative :

`f"+"(g"+"h)=(f"+"g)"+"h`

Il existe une translation nulle qui consiste à rester sur place, noté `0`.

`0=(x|->x)`

`f"+"0=f`

Et pour chaque translation `f`, il existe une translation inverse qui est appelée opposée puisque l'on est en notation additive et qui est notée `"-"f`. La translation doit donc être une bijection.

`f"+-"f=0`

La structure d' espace est engendré par un groupe d'unité `G"="{u_1,u_2,u_3,...,u_n}`. Cela signifie que quelque soit une translation `f` celle-ci est le résultat d'une somme d'unités qui grâce à la commutativité de `+` se met sous la forme :

`EE(a_1,a_2,a_3,...,a_n) "∈" NN^n,`

`f = a_1 u_1+a_2 u_2+a_3 u_3+...+a_n u_n`

Interviennent maintenant les conditions du groupe des unités : Que le produit d'une unité sur une somme est bien distributive. Et que le produit d'une unité avec `0` est `0`.

`u(f"+"g)=uf"+"ug`
`(f"+"g)u=fu"+"gu`
`u0=0`
`0u=0`

Qu'il existe dans `G` un élément neutre qui est `1`, on le nomme `u_1=1`. Que le produit dans `G` est associatif, `u(vw)=(uv)w`. On remarque que ce produit associatif s'étend au produit dans la structure d'espace grace à la distributivité. Que chaque élément de `G` est inversible, pour chaque unité `u`, il existe une unité inverse notée `1"/"u`.

`u 1/u=1`

`1/u u=1`

 

---- 28 octobre 2022 ----

 

 

est posé associative, posséder un élément neutre noté `0` qui est absorbant, posséder pour chaque élément un élément opposé, et tel que la loi `"↢"` soit distributive par rapport à la loi `"+"`. C'est à dire : `AAxAAyAAz,`

`(x"+"y)"+"z=x"+"(y"+"z)`
`x"+"0=x`
`0"+"x=x`
`x0=0`
`0x=0`
`"-"x"+"x=0`
`x"+""-"x=0`
`x(a"+"b)=xa"+"xb`
`(a"+"b)x=ax"+"bx`

En plus des règles multiplicative de semi-groupe :

`(xy)z=x(yz)`
`x1=x`
`1x=x`

Avec une priorité syntaxique plus forte pour l'opérateur opposé unaire `"-(.)"`

 

 

---- 22 octobre 2022 ----

 

 

 

Un monoïde est un demi-groupe possèdant un élément neutre, sa théorie se note donc par :

`AAxAAyAAz, (xy)z"="x(yz)`
`EExAAy, xy"="yx"="y`

 

Alias : `AAxAAy, xy=x*y`
Elément neutre : `EExAAy, xy=yx=y`

 

 

Il n'existe pas de groupe vide. Tout groupe possède au moins un élément, il possède nécessairement son élément neutre.

2) Groupe à 1 élément

Il existe un seul groupe à un élément. C'est le groupe trivial, noté `C_1` ou simplement `{1}`.

On nomme ses éléments comme suit :

`C_1"="{1}`

Le chiffre `1` désigne l'élément neutre du groupe `C_1` en notation multiplicative, c'est à dire, qu'il vérifie `1"∗"1"="1`.

Mais on peut donner à l'élément `1` un rôle plus générale s'appliquant à tous les groupes : C'est le seul élément du groupe qui satisfait la proposition `AAx,1x"="x, x1"="x`. Et selon la théorie du groupe, il est nécessairement existant et unique. En effet, s'il y en avait deux, `1` et `e`, alors `1e"="1` et `1e"="e` donc `1"="e`. L'élément neutre est donc définissable et distinguable de tous les autres éléments. C'est à dire qu'il existe une fonction propositionelle unaire `P"(.)"` écrite dans le langage des groupes, qui, pour n'importe quel groupe `G`, n'est vrai que pour un et un seul élément de `G`. Cette fonction propositionelle est appelée la définition unifère de l'élément neutre. Le qualificatif unifère signifie que l'objet défini est nécessairement unique.

`P(a) = (AAx, ax"="x, xa"="x)`

`P = {a"↦"(AAx, ax"="x, xa"="x) "/" a"∈"G}`

Le seul élément qui satisfait `P"(.)"` sera renommé par le symbole `1`. Cette procédure se codifie simplement en affirmant l'existance unique `EE! 1, P(1)`. Le quantificateur existentiel unifère `EE!` permet de nommer l'élément unique satisfaisant la proposition `P"(.)"`. Après ce nommage, et une fois connue de la structure `G` c'est à dire rajouté à son language pour former la structure `G[1]`, nous avons :

`G[1]|==(AAx,1x"="x, x1"="x)`

Parce qu'il possède une définition lui assurant son existence et son unicité dans chaque groupe, il désigne l'élément neutre dans chaque groupe. Dans chaque groupe il n'y a qu'un et un seul élément qui a se rôle, et qui est désigné par le symbole `1`. On plonge ainsi le groupe trivial `{1}` dans chaque groupe `G` et on procède à l'identification `1"="1_G`. Ainsi `C_1` est inclus dans notre groupe modèle `M` que nous sommes en train de construire.

 

 

2) Brève introduction de la logique typée

La logique typé s'inscrit dans un paradigme où tout élément peut être fusionné à tout autre élément, même de nature totalement différente. La fusion de deux éléments au rôle distinct s'opère en les remplaçant par un élément possédant les deux rôles.

La notion de type se différencie de celle d'ensemble par le fait qu'elle ajoute une caractéristique collective à l'élément qui peut être un nouveau rôle. Le type d'un élément ne dépend pas de son appartenance réel ou supposé à un ensemble, mais uniquement de sa déclaration, qui peut être implicite par inférence de type.

La logique formelle a ceci de pratique, c'est qu'elle est formelle. On la décrit par un mécanisme de construction récursif, un ensemble de règles de construction. Au départ, il y a la première des structures décrivant la logique qu'est l'ensemble `{0,1}`, puis la première des structures élémentaire qu'est l'ensemble, noté `E`, et qui délimiterons à eux deux un socle de constructions dites internes. On énumère les règles de construction de type :

  1. L'ensemble `{0,1}` forme un type.
     
  2. L'ensemble `E` forme un type.
     
  3. Etant donné deux types `X` et `Y`, l'ensemble des applications de `X` vers `Y` que l'on note `X"→"Y` forme un type.

A ce stade, ce que l'on appelle "l'ensemble des éléments d'un type" constitue bien un ensemble au sens de la théorie des ensemble puisque l'on se limite aux constructions possibles faites à partir de `E` et de `{0,1}`.

Etant donné un élément `x` évoqué dans une formule de logique typé, l'ensemble des éléments de même type que `x` s'appelle le domaine de `x` et se note `sf"Dom"(x)`.

On pose une règle syntaxique dans notre langage logique typé : L'appel de fonction unaire se fait en adjoignant au symbole de fonction sur sa droite, son argument entouré de parenthèse. Considérons par exemple la proposition suivante où `A`, `f` et `x` sont des symboles nouveaux :

`A(f(x))`

Les variables n'ayant pas fait l'objet de déclaration préalable à quelque étape que ce soit, par défaut, elles sont considérées prédéclarées existentiellement au niveau racine du langage de la structure, mais sans préciser quel sont leur types qui doivent cependant être des constructions internes de socle `E`. La syntaxe fait que `A` et `f` sont des applications unaires où en tout cas qu'elles ont un rôle d'application unaire. Le mécanisme d'inférence de type va typer partiellement ces variables. Chaque fonction unaire est de la forme suivante :

`f in (sf"Dep"(f)->sf"Arr"(f))`
`A in (sf"Dep"(A)->sf"Arr"(A))`

La proposition possède deux valeurs possibles, `0` indiquant que la proposition est fausse, et `1` indiquant que la proposition est vrai. Le contexte disant que l'expression `A(f(x))` est une proposition, celui-ci doit avoir comme résultat possibles, `0` si la proposition est fausse, et `1` si la proposition est vrai. Cela entaine les contraintes suivantes nécessaires pour que les appels de fonction soient définis :

`sf"Arr"(A)"="{0,1}`
`sf"Arr"(f) sube sf"Dep"(A)`
`sf"Dom"(x) sube sf"Dep"(f)`

  1. L'image d'une application restreinte à un type inclus dans son ensemble de départ constitue un type. Par exemple `f(sf"Dom"(x))` constituent un type.
  2. L'intersection de type forme un type

Ce sont là quelques premières règles de construction de type dans la logique typée sans prédicat d'égalité. D'autre règles suivent qui inclus les propriétés constructives des ensembles. Considérons maintenant la proposition suivante :

`AAx, f(x) "ou" g(x)`

La variable `x` est déclaré universellement. La déclaration de `x` ne précise pas son type. L'inférence de type entraine la condition suivante sur le type de `x` :

`sf"Dom"(x) sube sf"Dep"(f) nn sf"Dep"(g)`

Autrement dit le type de `x` est inclus dans le type intersection du type des éléments sur lesquels peut s'appliquer `f` et du type des éléments sur lesquels peut s'appliquer `g`.

 

2) Le magma

Un magma est un ensemble muni d'une loi de composition interne noté `"∗"` et que l'on représente aussi par absence de symbole simplement en juxtaposant les arguments, autrement dit, quelque soit deux éléments `x, y` appartenant à la structure, nous avons `x"∗"y"="xy`.

Notez que dans cette égalité, la priorité syntaxique de l'égalité est plus faible que celle du produit, faisant que `x"∗"y"="xy` signifit `(x"∗"y)"="xy`.

On définit sur cette structure de magma, un langage logique du premier ordre dont voici un aperçu : Les opérateurs déclaratifs que sont les quantificateurs universel `AA` et existentiel `EE`, portent par défaut sur l'ensemble des éléments de la structure. Ainsi par exemples, la proposition `AAxAAy,xy"="yx` signifie que quelque soit deux éléments `x,y` de la structure, leur produit commute. Et la proposition `EExAAy,xy"="x` signifie qu'il existe dans la structure un élément `x` qui multiplié à droite par n'importe quel élément `y` de la structure, redonne toujours lui-même `x`. Ce langage est appelé le langage de la structure. C'est le langage du magma que nous formalisons au chapitre n°5.

Notez que le choix de ce langage socle n'altère en rien la théorie initiale de la structure de magma.

Désignons par `E` la structure. L'ensemble des applications de `E` vers `E` se note `E"→"E`. Une loi de composition est une application appartenant à `E"×"E"→"E` qui par currifycation est équivalente à une application appartenant à `E"→"(E"→"E)` et que l'on désigne par le même symbole

`"∗" in (E"×"E"→"E)`

`"∗" in (E"→"(E"→"E))`

`AAx AAy, x"∗"y = "∗"(x)(y)`

La loi de composition du magma, qui est une application binaire peut s'interpréter comme une application donnant à chaque élément un second rôle qui est une application, comme suit :

`AAe,   "∗"(e) = (x|->e"∗"x)`

L'élément n'ayant pas de rôle d'application, on peut lui en donner un sans créer des ambiguitées. On incorpore ce second rôle à l'élément en posant :

`AAeAAx,   e(x) = e"∗"x`

3) Langage et opérateur `|->`

Notez comment nous avons écrit l'application `(x|->e"∗"x)` qui jouera le second rôle de `e`. Une endo-application est une application d'un ensemble sur lui-même. Nous avons utilisé le symbole `|->` qui est un opérateur binaire de syntaxe centrée `"."|->"."` où les points représentent les places où doivent se mettre les arguments de l'opérateur. Sa priorité syntaxique est posée plus faible que celle de l'opérateur `"∗"`, faisant que l'expression `x|->e"∗"x` est identique à `x|->(e"∗"x)` et n'est pas identique à `⟮x->e⟯"∗"x` et nous avons utilisé un autre genre de parenthèse priorisante pour la raison qui suivra. Puis une dernière convention devra être posée rendant l'opérateur déclaratif.

L'expression `x|->e"∗"x` désigne un arc partant de l'élément `x` et allant sur l'élément `e"∗"x`, autrement dit, c'est un couple, mais avec l'idée que cet arc fait partie d'un ensemble d'arcs constituant le graphe d'une application.

Par convention, si l'opérateur `|->` à comme premier argument, un nom de variable, et que son expression est entourée de parenthèses, alors il désigne un opérateur déclaratif qui peut s'exprimer sous cinq formes rendues par convention identiquement égales  :

  1. Sous forme condensée : `e=(x->e"∗"x)`
     
  2. Sous forme de théorie : `e={AAx, x|->e"∗"x}`
     
  3. Sous forme d'union : `e=uuu_x{x|->e"∗"x}`
     
  4. Sous forme de somme disjointe : `e=sum_x ⟮x|->e"∗"x⟯`
     
  5. Sous forme d'ensemble : `e={x|->e"∗"x "/" EEx}`

La première forme est le résultat de notre convention. La seconde forme exprime une théorie mais qui à la forme d'un graphe. La troisième forme est une union itérée où l'indice `x` parcours tous les éléments de la structure. La quatrième forme est une somme disjointe itérés où l'indice `x` parcours tous les éléments de la structure. La cinquième forme est l'ensemble des arcs qu'il est possible de construire en choisissant librement jusqu'à épuisement un élément `x`.

On a rarement besoin de prioriser `|->`, et dans les rares cas où cela est nécessaire, on utilise un autre genre de parenthèse priorisante afin de ne pas confondre cette expression avec la première forme, et c'est ce qui est utilisé dans la forme 4. L'important est de pouvoir exprimer les choses essentielles simplement, en véhiculant une bonne intuition.

3) Langage et application

Reprenons notre discussion sur le second rôle donné aux éléments du magma, définie par l'axiome suivant :

`AAx,   x = (y|->x"∗"y)`

Chaque élément `x` de l'ensemble possède un second rôle qui est l'application `(x|->x"∗"y)`.

 

Cette construction s'inscrit dans un mécanisme plus générale qu'est la curryfication, c'est à dire la transformation d'une fonction à plusieurs arguments, par exemple `f(x,y,z)`, en une fonction à un argument qui retourne une fonction sur le reste des arguments, ou qui prend qu'un certain nombre de premiers arguments et qui retourne une fonction sur le reste des arguments. Par exemple :

`f(x,y,z) "="f(x)(y,z)"="f(x)(y)(z)"="f(x,y)(z)`

Pour bien mettre en oeuvre ce mécanisme d'identification basé sur la curryfication, il convient de bien formaliser les appels d'application. Considérons un ensemble `E`. Munissons-le d'une loi de composition `"∗"`. C'est une endo-application binaire de `E`. On la note en précisant la place des arguments à l'aide de point. Sa forme syntaxique centrée s'écrit `".∗."`, mais comme toute endo-application binaires elle admet une forme par défaut qui est `"∗(".,.")"`. Et il y a un risque de confusion entre parenthèse priorisante et parenthèse d'appel de fonction qui devra donc être levé par le contexte et/ou une convention. Par défaut, toutes les formes syntaxiques sont posées égales :

`AAxAAy,   x"∗"y="∗"(x,y)`

Cela rappelle que le produit de `x` par `y` est le résultat de l'application binaire `"∗"` (appelé également loi de composition) appliqué au couple `(x,y)`. La loi de composition est une endo-application binaire de `E`. Cela s'écrit :

`"∗" in (E"×"E->E)`

Remarquer que l'opérateur binaire `"->"` et de priorité plus faible que l'opérateur `"×"` faisant que `E"×"E->E` signifie `(E"×"E)->E` et ne signifie pas `E"×"(E->E)`.

L'ensemble des couples d'éléments composés d'un premier élément appartenant à `A` et d'un second élément appartenant à `B` se note `A"×"B`. L'ensemble des applications de `A` vers `B` se note `A->B`. Il se note également `B^A`. On note `|A|` le cardinale de `A`. Lorsque les ensembles en question sont finis, le cardinal de `B^A` que l'on note `|B^A|` vaut `|B|^|A|`.

Le mécanisme de curryfication fait que l'endo-application binaire `x,y|->x"∗"y` de type `E"×"E->E` admet un second rôle qui est une applictation unaire `x|->(y|->x"∗"y)` de type `E->(E->E)`.

 

loi prend en entrée un triplet d'éléments de `E` et retourne en sortie un élément de `E`. Cela s'écrit formellement par :

`f in (E"×"E"×"E->E)`

 

 

 

 

4) Langage du premier ordre

Le langage du premier ordre utilisant l'opérateur `*(".,.")` se définie formellement de façon récurcive avec un contexte comme suit : On utilise une méta variable

 

 

4) Le demi-groupe

Un demi-groupe est un ensemble munie d'une loi de composition interne associative. Sa théorie se note :

  Théorie du demi-groupe :   `AAxAAyAAz, (xy)z"="x(yz)`  

L'associativité est le propre des compositions d'application. L'usage des parenthèses de priorisation n'est plus nécessaire dans les expressions de produit, et peut donc être réservé uniquement pour les appels de fonction. On approfondit cette analogie en constatant qu'il est toujours possible de faire agire un semi-groupe sur lui-même par translation gauche. Pour cela, on définie ce qu'est une action :

Une action d'un ensemble `E` sur lui-même, est une application de `E"×"E"→"E` qui prend comme premier membre un élément servant de fonction, et comme second membre un élément servant d'argument. C'est aussi une application de `E"→"(E"→"E)` `(E"→"E)` désigne l'ensemble des aplications de `E`. On adopte donc deux notations. (Notez que l'opérateur `"→"` est de priorité syntaxique plus faible que celui de l'opérateur `"×"`)

On définie l'action du demi-groupe sur lui-même par translation gauche, noté `"↓(.,.)"`, comme suit :

`AAxAAy, "↓"(x,y) = xy`

Une autre syntaxe de l'opérateur binaire est autorisé qui est centrée `".↓."` :

`AAxAAy, x"↓"y = xy`

Puis on définie la seconde notation en définissant le symbole d'application de fonction correspondant à l'action `"↓"` que l'on pose par l'usage de parenthèses normales celle-ci n'étant plus utilisées par alleurs (ou par l'usage de parenthèses spécifiques pour différencier plusieurs actions distinctes).

`AAxAAy, x(y)=xy`

Cela signifie littéralement que l'action donne à `x` un second rôle d'application qui, appliqué à `y`, consiste à effectuer le produit de `y` sur sa gauche par `x`.

Cela s'appelle une translation car historiquement l'action sur soi-même se perçoit comme une opération de translation, et adopte la notation additive. Il y a en effet deux notations, l'une dite multiplicative qui est par essence associative, l'autre dite additive qui peut prétendre aussi à la généralité mais qui historiquement est une opération associative et commutative.

On remarque que dans les différentes expressions, `x` désigne tantôt un élément de la structure, et tantôt il désigne une application, le deuxième rôle de `x` que confère l'action de la structure sur elle-même. C'est le typage par inférence qui permet de déterminer qu'elle est le rôle de `x`. lorsque `x` est accolé à des parenthèses d'appel de fonction (qui peuvent être spécifique s'il y a plusieurs actions distinctes en cours), c'est qu'il possède ce second rôle.

Il en est de même pour le symbole de l'action `"↓"`. Considérons le demi-groupe `D`. Considérons l'action de `D` sur lui-même par translation gauche `"↓"`, alors on note avec le même symbole `"↓"` l'application de `D` vers `(D"→"D)` définissant cette action. `"↓(D)"` désigne l'ensemble des application définies par l'action, et `"↓(x)"` désigne le second rôle de `x` de façon explicite. Ainsi en définissant une action quelconque notée par le symbole et jeu de parenthèse appelante `"↓","()"`, nous avons :

`AAxAAy, "↓"(x,y) "="x"↓"y "=↓"(x)(y)"="x(y)`

où il faut entendre par succession d'égalités telle que par exemple `a"="b"="c"="d` que `a"="b` et `b"="c` et `c"="d`

Cette convention met en ouvre deux mécanismes :

Chaque éléments distincts n'a pas forcement de second rôle distinct. Par contre chaque second rôle distinct ne peut provenir que d'élément distinct. Ainis le second rôle possède un discernement plus faible vis-à-vis de l'égalité.

Considérons l'action du demi-groupe `D` sur lui-même par translation gauche notée par le symbole et le jeu de parenthèse appelante suivants : `"↓","()"`. La structure de fonctions `"↓"(D)` est un ensemble d'applications de `D"→"D` muni naturellement de la loi de composition d'application notée `"°"` qui forme un demi-groupe. En effet, la composition d'application de `D"→"D` est associative. Il est alors important de remarque un morphisme naturel `"↓"` entre les structure `D` et `"↓"(D)` c'est à dire que :

`"↓"(xy)"=""↓"(x)"°↓"(y)`

Que l'on peut écrire avec les règles précédement écrites plus simplement :

`xy=x"°"y`

L'opération de produit étant de type `D"×"D"→"D`, l'inférence de type indique que les premières occurence de `x` et de `y` sont de type `D`. C'est donc leur premier rôle qui s'applique. Puis l'opération `"°"` étant de type `(D"→"D)"×"(D"→"D)"→"(D"→"D)`, l'inférence de type indique que les deuxièmes occurences de `x` et de `y` sont de type `(D"→"D)`, c'est donc leur second rôle qui s'applique `"↓"(x)`, `"↓"(y)`. La composition `x"°"y` ne produit pas un élément mais un second rôle. Et comme il y a identité entre élément et son second rôle avec un discernement plus faible pour le second rôle, l'égalité porte nécessairement sur le second rôle puisque l'un des membre n'est qu'un second rôle.

Si chaque éléments distincts possède un second rôle distinct alors le morphisme que constitue l'action `"↓"` devient un isomorphisme. Un moyen simple d'assurer cette propriété consiste à posséder un élément neutre. S'il existe un élément neutre noté `1` dans le demi-groupe, alors chaque éléments distincts possède forcement un second rôle distinct. En effet, si `x"≠"y`, comme `x(1)"="x"*"1"="x` et `y(1)"="y"*"1"="y`, on en déduit que `x(1) "≠" y(1)` et donc que les second rôle sont distincts `"↓"(x) "≠↓"(y)`.

Il est toujours possible d'ajouter à une demi-groupe, un nouvel élément neutre noté `1`, sans changer la loi de composition des autres éléments. On le démontre en vérifiant l'associativité : `AAxAAy, `

`(1x)y=xy=1(xy)`
`(x1)y=xy=x(1y)`
`(xy)1=xy=x(y1)`

Cela enrichit la structure qui devient un monoïde et qui s'identifie à un monoïde de foncions. Mais il convient à ce stade de définir dabord ce que l'on entend par morphisme et isomorphisme, et de reprendre la discution à partir du magma à un seul élément.

5) Morphisme

Un morphisme est une application qui transporte les opérateurs générateurs d'une structure sur une autre. Autrement dit c'est une application qui respecte les opérateurs générateurs de la structure.

Considérons un demi-groupe `D` en notation multiplicative, c'est à dire où l'opération de produit se note `"∗"` ou par absence de symbole c'est à dire par simple concaténation. Une telle structure n'a qu'un seul opérateur générateur qui est sa loi `"∗"_D` que l'on indice par le nom de la structure pour ne pas le confondre avec la loi de produit d'une autre structure.

Puis on considére une application `f` de `D"→"f(D)` où l'image de `f` notée `f(D)` est munie du même langage de demi-groupe. On désigne cette structure par la lettre `E"="f(D)`. C'est à dire que dans la structure `E`, il est défini un opérateur binaire noté `"∗"_E` ou simplement `"∗"` ou par absence de symbole c'est à dire par simple concaténation, si le typage par inférence permet de savoir à quelle sructure il appartient.

Mais `E` est libre de toute contrainte et ne constitue donc pas nécessairement un demi-groupe. Autrement dit `f` est une surjection du demi-groupe `D` sur une structure `E` de même langage que `D` mais qui n'est pas nécessairement un demi-groupe. L'application `f` est un morphisme si et seulement si `f` respecte la loi de composition, l'opérateur de produit, c'est à dire :

`AA(x,y) "∈" D^2,f(xy) = f(x)f(y)`

Le typage par inférence permet de déterminer l'opérateur de produit, qui est soit celui de `D` noté explicitement `"∗"_D` , ou celui de `E` noté explicitement `"∗"_E`. L'application `f` appartenant à `D"→"E`, l'expression suivante :

`f(xy)"="f(x)f(y)`

est identique à :

`f(x "∗"_D y) = f(x) "∗"_E f(y)`.

On remarque alors que `E` forme un demi-groupe.

L'associativité se démontre comme suit. Le morphisme `f` de `D"→"E` étant surjectif, quelque soit `a,b,c` appartenant à `E`, il existe des éléments `x,y,z` appartenant à `D` tels que `a"="f(x), b"="f(y), c"="f(z)`. Et nous avons :

`(ab)c = (f(x) f(y)) f(z)`
         `= f(xy) f(z)`
         `= f((xy)z)`
         `= f(x(yz))`
         `= f(x) f(yz)`
         `= f(x) (f(y) f(z))`
         `= a(bc)`

Un isomorphisme est un morphisme bijectif. Et deux structures isomorphes peuvent être identifié.

 

 


Dominique Mabboux-Stromberg

 
A
Sommaire