Les anneaux commutatifs libres
On se propose de décrire de façon exhaustive selon le point de vue élémentarien, la liste des anneaux commutatifs libres à isomorphisme près.
Pour les élémentariens, un élément ne peut contenir qu'une quantité finie d'information. De ce principe élémentaire découle la réfutation de l'axiome du choix. Les élémentariens éliminent d'emblée la puissance du continue, et ne conçoivent comme fonction, que les seuls fonctions calculables. En choississant ce point de vue, nous pouvons définir ce qu'est un anneau libre, et cela nous permet d'accéder à une description complète de la catégorie des anneaux commutatifs libres.
Selon le point de vue élémentarien, on ne peut conçevoir de façon exacte que des structures constructibles c'est à dire énumérables où chaque élément est constructible par une succession finie d'opérations qui constitue une formule. Cela revient à dire grosso-modo que toute structure est définie par des opérateurs générateurs et par une théorie d'égalité.
Cette définition peut paraître trop restrictive, car elle ne permet pas de construire les nombres réels à l'aide des seuls opérations de l'anneau `"<"0,1,"+","-","∗>"`. Il faudra pour construire les nombres réels une opération supplémentaire qui correspond au passage à la limite. Les élémentariens considèrent que le continuum des réels, tel qu'il est définie classiquement, n'existe pas (ou en tout cas que l'on ne peut pas le démontrer). Ils construisent `RR` par le même procédé des suites de Cauchy classiques mais avec une restriction qui est que la suite doit être calculable. C'est à dire que les termes de la suite indéfinie doivent être produits par un programme de taille finie. Le nombre réel est alors défini par ce programme. Il est donc le résultat d'une construction finie et autorisée dans un langage. Le programme peut être utilisé pour calculer le nombre réel en question avec une précision arbitrairement grande. Cette propriété se résume en disant que le nombre en question est calculable. Ainsi les élémentariens ne reconnaissent comme réels que les réels calculables, et l'ensemble des réels calculables est évidement dénombrable.
C'est ainsi que les élémentariens rendent dénombrable l'ensemble des réels, simplement en refusant d'adopter l'axiome du choix, soit en restant sur le statu quo, comme quoi on ne peut pas prouver qu'il existe des réels ne pouvant pas être obtenus par une suite de Cauchy calculable, soit en optant pour un axiome opposé à l'axiome du choix, qui affirme que les suites non calculables n'existent pas.
A la lumière de cette introduction, considérez que le qualificatif constructible, s'il ne précise pas avec quels moyens, est synonyme de définissable.
Il est courant que la théorie d'égalité d'une structure définie à l'aide de générateurs possède un degré d'incomplètude plus élevé que l'Arithmétique, c'est à dire qu'il existe des propriétés indémontrables, non pas à cause de l'incomplètude de l'Arithmétique, mais à cause d'une incomplétude supplémentaire propre à la définition intuitionniste et élémentarienne de la structure qui introduit une propriété logique du second ordre qu'est l'engendrement à partir des éléments générateurs.
C'est alors que nous faisons une analogie avec la mécanique quantique. La structure qui est dans ce cas, c'est à dire telle que sa théorie d'égalité ne tranche pas une propriété, est en quelque sorte dans deux états quantiques à la fois. Elle représente à la fois et en même temps deux structures de définitions logiques distinctes au sens des mathématiques classiques, selon qu'elle valide ou refute la propriété en question.
Une structure, sans générateur autre que ceux désignés par le patron de la structure comme élément singulier et non comme élément générateur, sera qualifiée d'agène. Mais le qualificatif agène comme celui de libre n'est pas une précision nécessaire dans la nomenclature élémentarienne.
Toutes choses qui, dans la logique élémentarienne, sont par principe posées par défaut. (Voir Structures fondamentales.)
Les suites de `n"+"1` termes, `f(0),f(1),f(2), ..., f(n)` se notent avec l'opérateur de suite `ccS` qui se comporte comme un quantificateur dont la portée par défaut est sur la suite `(0,1,2, ..., n)`.
`(ccS_(i"="1".."3) f(i)) = (f(1),f(2),f(3))`
`(ccS_i f(i)) = (f(0),f(1),f(2), ..., f(n))`
De façon classique, une telle suite se note `(f(i))_(i=1..n)`
Le quantificateur de suite `ccS` peut s'appliquer deux fois de suites et ainsi définir une suite de suites, une suite de `n"+"1` suites de `n"+"1` termes, ou un tableau de `(n"+"1)"×"(n"+"1)` termes. Et on note l'opérateur de façon condensé par `ccS_(i,j)`
`(ccS_i ccS_j f(i,j)) = ((f(0,0),f(0,1),f(0,2), ..., f(0,n)), (f(1,0),f(1,1), f(1,2), ..., f(1,n)), (f(2,0),f(2,1), f(2,2), ..., f(1,n)), (..., ..., ..., ..., ...), (f(n,0), f(n,1), f(n,2), ..., f(n,n)))`
`(ccS_(i,j) f(i,j)) = (ccS_i ccS_j f(i,j))`
Ce quantificateur peut s'appliquer `m` fois de suites pour définir des tenseurs de dimension `m` où chaque dimension a une taille `n"+"1` :
`ccS_(i_1) ccS_(i_2) ccS_(i_3) ... ccS_(i_m) f(i_1,i_2,i_3, ..., i_(m))`
`ccS_(i_1, i_2, i_3, ..., i_m) f(i_1,i_2,i_3, ..., i_(m))`
Le terme de tenseur généralise le terme de tableau pour des dimensions supérieurs à `2`. Une liste d'éléments forme un tenseur de dimension `1`. Une liste de listes de même taille forme un tableau ou tenseur de dimension `2`. Une liste de listes de même taille de listes de même tailles forme un tenseur de dimension `3`. Notez que dans ces définitions, il n'y a pas de notion de vecteur ligne et de vecteur colonne.
Le paramètre `n` utilisé par défaut, sert de borne temporaire pour explorer l'ensemble des suites finies.
Le quantificateur de suite `ccS`, comme son nom l'indique, définie une suite. Pour concaténer plusieurs suites en une seul suite, on utilise un opérateur de concaténation `"•"` de priorité syntaxique plus forte que celle de `"="`, ainsi par exemple :
`(ccS_(i"="1".."2) f(i)) • (ccS_(i"="1".."2) g(i)) = (f(1),f(2),g(1),g(2))`
Tandis qu'une suite de suite d'éléments forme un tableau d'éléments :
`((ccS_(i"="1".."2), f(i)), (ccS_(i"="1".."2), g(i))) = ((f(1),f(2)),(g(1),g(2)))`
L'anneau commutatif agène libre se présente en notation linguistique par `L"/"T` où `L` est le langage d'opérateurs `L="<"0, 1, "−", "+", "∗>"`, et où `T` est la théorie d'égalité de l'anneau commutatif c'est à dire l'ensemble des 8 axiomes suivant :
`AA(x,y,z),`
`x"+"(y"+"z) = (x"+"y)"+"z`
`"+"` est associatif
`(bbbA,"+")`
groupe abelien `x"+"y = y"+"x` `"+"` est commutatif `x"+"("-"x) = 0` `"-"` est l'opposé pour `"+"` `x"+"0 = x` `0` est l'élément neutre pour `"+"` `x(yz) = (xy)z`
`"∗"` est associatif
`(bbbA,"∗")`
monoïde commutatif `xy = yx`
`"∗"` est commutatif
`1"∗"x = x` `1` est l'élément neutre pour `"∗"` `x(y"+"z) = (xy"+"xz)`
`"∗"` est distributif
par rapport à `"+"`
`"∗"` est distributif
par rapport à `"+"`
L'anneau agène semble à première vue être une structure bigène engendrée par `0` et `1`, mais comme nous avons `0=1+(-1)`, l'anneau agène est en faite une structure monogène, engendrée par le seul élément `1`. L'anneau commutatif agène libre se présente en notation programmative par :
Anneau commutatif `("+",0,"−","∗",1)`
Le patron « Anneau commutatif » donne un rôle à chacun de ses arguments dans un ordre précis.
L'anneau comprend le Groupe monogène `("+",0,"-",1)`, c'est à dire `ZZ`.
Comme la multiplication est distributive sur l'addition nous avons par exemple :
`2"∗"3 = (1"+"1)"∗"(1"+"1"+"1) = ubrace(1"+"..."+"1)_(2"∗"3 "fois")`
Et d'une manière générale :
`"("ubrace(1"+"..."+"1)_(n "fois")")∗("ubrace(1"+"..."+"1)_(m "fois")")" = ubrace(1"+"..."+"1)_(n"∗"m "fois")`
En conclusion, l'anneau commutatif agène libre correspond aux entiers relatifs.
`ZZ =`Anneau commutatif `("+",0,"−","∗",1)`
Voyons maintenant à quoi ressemble l'anneau commutatif monogène libre, en notation programmative :
`ZZ[a] =` Anneau commutatif monogène `("+",0,"−","∗",1,a)`
Le patron « Anneau commutatif monogène » donne un rôle précis à chacun de ses arguments dans un ordre précis
Et il n'y a pas d'autre argument car l'anneau commutatif en question est qualifié de monogène.
Cela correspond exactement à une extension élémentaire de `ZZ` par un élément nommé ici `a`, et qui se note `ZZ[a]`
Même raisonnement que précédemment, l'anneau monogène est une structure au plus bigène, engendrée par les deux éléments `1, a`. Et comme l'anneau est libre, le langage `"<"a, "−", "+", "∗>"` ne peut engendrer aucune expression réduite à `1`, on en déduit que c'est bien une structure bigène.
Grâce à l'associativité et la commutativité des opérations et à la distributivité de `"∗"` par rapport à `"+"` , toute expression dans le langage de l'anneau monogène `L = "<" a, 0, 1, "−", "+", "∗>"` se met sous la forme d'un polynôme à une variable `a` et à coefficients dans `ZZ`. Ainsi pouvons-nous énumérer tous les éléments de `ZZ[a]`.
`ZZ[a] ={x_0"+"x_1a"+"x_2a^2"+"x_3a^3"+"..."+" x_na^n "/" EE n "∈" NN, (x_0,x_1,x_2,x_3,...,x_n) "∈" ZZ^(n+1)}`
On pose les bornes itératives par défaut de `0` à `n`, faisant que :
`sum_i` signifie `sum_(i=0)^(i=n)`
`ccS_i` signifie `ccS_(i=0)^(i=n)`
Nous pouvons écrire :
`ZZ[a] = {sum_i x_i a^i "/" EE n "∈" NN, (ccS_i x_i) "∈" ZZ^(n"+"1)}`
Dans cette seconde représentation de l'anneau où les élèments sont représentés par des suites finies d'entiers relatifs formant des vecteurs, l'addition correspond à l'addition vectorielle sur les suites.
`((x_0),(x_1),(x_2),(...),(x_n)) "+" ((y_0),(y_1),(y_2),(...),(y_n)) = ((x_0"+"y_0),(x_1"+"y_1),(x_2"+"y_2),(...),(x_n"+"y_n))`
Et la multiplication correspond à la suite des sommes des produits dont la somme des indices est égale à l'indice en cours :
`((x_0),(x_1),(x_2),(...),(x_n)) "∗" ((y_0),(y_1),(y_2),(...),(y_n)) = ((x_0y_0),(x_0y_1"+"x_1y_0),(x_0y_2"+"x_1y_1"+"x_2y_0),(...),( sum_i x_iy_(n-i) ) )`
Ce qui s'écrit :
`(ccS_i x_i) "+" (ccS_i y_i) = ccS_i x_i"+"y_i`
`(ccS_i x_i) "∗" (ccS_i y_i) = ccS_i sum_(p=0)^(p=i) x_py_(i-p)`
la borne `n` est le degrés du polynôme qui peut être égal à n'importe quel entier naturel, les termes d'indice supérieur à `n` étant tous nuls.
L'opérateur `ccS_i` se comporte comme un quantificateur (à part le fait qu'il porte sur une liste de valeurs et non sur un ensemble de valeurs possibles) quantifiant la variable `i`. Cela construit une suite de `n"+"1` termes en remplaçant dans ce qui suit, `i`, par une valeur entière variant de `0` à `n`.
`(ccS_i x_i) = (x_0, x_1, x_2,..., x_n)`
L'anneau commutatif monogène libre se nomme également l'anneau des polynomes à une variable sur `ZZ`. Pour un anneau commutatif `A` quelconque, on définie de la même façon l'anneau des polynomes à une variable sur `A` que l'on note `A[X]`.
`A[X] = {sum_i x_i X^i "/" EE n "∈" NN, (ccS_i x_i) "∈" A^(n"+"1)}`
Et on définie l'anneau des fonctions polynômiales à une variable sur `A`, que l'on note `A⦅X⦆`. Il s'obtient à partir de l'anneau des polynômes à une variable sur `A` noté `A[X]`, en le quotientant par la règle d'égalité entre application sur `A` :
`A⦅X⦆= (A[X])/(P"="Q <=> AAx "∈" A, P(x)"="Q(x))`
L'anneau `A⦅X⦆` correspond à une extension de la structure `A` qui n'est pas complètement externe, mais assujettie au fait que la fonction polynômiale est une application de `A->A` qui en constitue son identité. Ainsi les fonctions polynomiales ne sont pas identifiées par leur expression sont forme de somme de monômes, ou de combinaison linéaire de puissances de `X`, mais comme des applications dans `A`. Et donc deux polynômes distincts, c'est à dire deux combinaisons linéaires distinctes peuvent le cas échéant désigner la même fonction polynomiale, la même application dans `A`.
Voyons maintenant à quoi ressemble l'anneau commutatif bigène libre, en notation programmative :
`ZZ[a,b] =` Anneau commutatif bigène `("+",0,"−","∗",1,a,b)`
Le patron « Anneau commutatif bigène » donne un rôle à chacun de ses arguments dans un ordre précis.
Et il n'y a pas d'autre argument car l'anneau commutatif en question est qualifié de bigène.
Cela correspond à une extension élémentaire de `ZZ` par deux éléments nommés ici `a` et `b`, et qui se note `ZZ[a,b]`
Même raisonnement que précédemment, l'anneau bigène libre est une structure trigène, engendrée par les trois éléments `1, a, b`.
Grâce à l'associativité et la commutativité des opérations, et à la distributivité, toute expression dans le langage `"<"a, b, 0, 1, "−", "+", "∗>"` se met sous la forme d'un polynôme à deux variables `a` et `b` et à coefficients dans `ZZ`. Ainsi pouvons-nous énumérer tous les éléments de `ZZ[a,b]`. On pose les bornes itératives par défaut de `0` à `n`,
`ZZ[a,b] = {sum_i sum_j x_(i,j) a^ib^j "/" EE n "∈" NN, (ccS_(i,j) x_(i,j)) "∈" ZZ^((n"+"1)"×"(n"+"1))}`
Dans cette seconde représentation de l'anneau où les éléments sont des suites finies de suites finies d'entiers relatifs formant des matrices, l'addition correspond à l'addition matricielle et la multiplication correspond à la suite de suite des sommes des produits dont la somme des indices est égale à l'indice en cours.
`(ccS_(i,j) x_(i,j))"+"(ccS_(i,j) y_(i,j)) = ccS_(i,j) x_(i,j)"+"y_(i,j)`
`(ccS_(i,j) x_(i,j))"∗"(ccS_(i,j) y_(i,j)) = ccS_(i,j) sum_p sum_q x_(p,q) y_(i-p,j-q)`
Notez que dans ces expressions tout terme d'indice supérieur à la portée du quantificateur de liste, c'est à dire supérieur à `n`, est nul par convention.
L'anneau commutatif bigène libre se nomme également l'anneau des polynomes à deux variables sur `ZZ`. Pour un anneau commutatif `A` quelconque, on définie de la même façon l'anneau des polynomes à deux variable sur `A` que l'on note `A[X,Y]`.
`A[X,Y] = {sum_i sum_j x_(i,j) X^iY^j "/" EE n "∈" NN, (ccS_(i,j) x_(i,j)) "∈" A^((n"+"1)"×"(n"+"1))}`
Et on définie l'anneau des fonctions polynômiales à deux variable sur `A`, que l'on note `A⦅X,Y⦆`. Il s'obtient à partir de l'anneau des polynômes à deux variables sur `A` noté `A[X,Y]`, en le quotientant par la règle d'égalité entre application binaire sur `A` :
`A⦅X,Y⦆= (A[X,Y])/(P"="Q <=> AA(x,y) "∈"A^2, P(x,y)"="Q(x,y))`
L'anneau `A⦅X,Y⦆` correspond à une extension de la structure `A` qui n'est pas complètement externe, mais assujettie au fait que la fonction polynomiale en `X` et `Y` est une application de `A"×"A->A` qui en constitue son identité. Ainsi les fonctions polynômiales ne sont pas identifiées par leur expression sont forme de somme de monômes, ou de combinaison linéaire de termes `X^iY^j`, mais comme des applications de `A"×"A->A`. Et donc deux polynômes distincts, c'est à dire deux combinaisons linéaires distinctes peuvent le cas échéant désigner la même fonction polynomiale, la même application binaire dans `A`.
`ZZ[a_1,a_2,a_3,..., a_k] =` Anneau commutatif k-gènes `("+",0,"−","∗",1,a_1,a_2,a_3,..., a_k)`
C'est une structure `k+1`-gènes, engendrée par `1, a_1, a_2, a_3, ..., a_k`. Tout élément de l'anneau se met sous la forme d'un polynôme à `m` variables `a_1, a_2, a_3, ..., a_k` et à coefficients dans `ZZ`. Ainsi pouvons-nous énumérer tous les éléments de `ZZ[a_1,a_2,a_3, ..., a_k]`. On pose les bornes itératives par défaut de `0` à `n`,
`ZZ[a_1,a_2,a_3,..., a_k] = {sum_(i_1) sum_(i_2) ... sum_(i_k) x_(i_1, i_2,..., i_k)a_1^(i_1)a_2^(i_2) ... a_k^(i_k)" / "EE n "∈" NN, (ccS_(i_1,i_2,...,i_k) x_(i_1,i_2,..., i_k)) "∈" ZZ^("("(n+1)^k")")}`
Dans cette seconde représentation de l'anneau où les éléments sont des tenseurs de dimension `k`, l'addition correspond à l'addition des tenseurs et la multiplication correspond aux sommes des produits dont la somme des indices est égale à l'indice en cours dans chaque dimension du tenseur.
Dans cette seconde représentation de l'anneau, l'addition et la multiplication sont données par les formules suivantes :
`(ccS_(i_1,i_2, ...,i_k) x_(i_1,i_2, ..., i_k)) "+" (ccS_(i_1,i_2,...,i_k) y_(i_1,i_2, ..., i_k)) = (ccS_(i_1,i_2, ...,i_k) x_(i_1,i_2, ..., i_k) + y_(i_1,i_2, ..., i_k))`
`(ccS_(i_1,i_2, ...,i_k) x_(i_1,i_2, ..., i_k)) "∗" (ccS_(i_1,i_2,...,i_k) y_(i_1,i_2, ..., i_k)) = (ccS_(i_1,i_2, ...,i_k) sum_(p_1) sum_(p_2) ... sum_(p_k) x_(p_1,p_2, ..., p_k) y_(i_1-p_1,i_2-p_2,...,i_k-p_k))`
L'approche élémentarienne n'exclut pas l'infini mais le contraint à être constructif c'est à dire tel que chaque élément de cet infini doit être finiment définissable. On peut donc concevoir une infinité énumérable de générateurs `a_1,a_2,a_3,...`.
`ZZ[a_1,a_2,a_3,...] =` Anneau commutatif `oo`-gènes `("+","−",0,"∗",1,a_1,a_2,a_3,...)`
La structure est ainsi engendrée par une infinité d'éléments générateurs `1, a_1, a_2, a_3,...`.
Selon le paradigme élémentarien, tout élément de l'anneau est définie par une formule de taille finie. Et donc tout élément n'est engendrée que par un nombre fini d'éléments générateurs. Délors les règles de sommation et de produit se ramènent aux mêmes règles que pour le cas des anneaux commutatifs k-gènes où k est l'indice des éléments générateurs le plus grand présent dans les deux éléments de la somme ou du produit.
Si nous procédons à une extension élémentaire supplémentaire `ZZ[a_1,a_2,a_3,...][b]`, celle-ci est isomorphe à l'extension élémentaire `ZZ[b,a_1,a_2,a_3,...]` qui est elle-même isomoprhe à `ZZ[a_1,a_2,a_3,...]`. C'est la raison pour laquelle nous pouvons affirmer avoir ainsi exposé une description complète de la catégorie des anneaux commutatifs libres.