Les corps commutatifs

 

1) Définition du corps commutatif

Le corps `(K,"+","∗")` comprend un ensemble sous-jacent `K` regroupant l'ensemble des éléments du corps et est muni de deux lois internes que sont l'addition notée `"+"` et la multiplication notée `"∗"`. L'addition est associative, commutative, admet un élément neutre noté `0`, appelé élément nul, et admet une fonction opposée notée `"-"`. La multiplication est associative, commutative, admet un élément neutre noté `1`, et admet une fonction inverse notée `sf"inv"` pour tous les éléments non nuls (`"≠"0`). Et la multiplication est distributive par rapport à l'addition.

On notera souvent la multiplication `"∗"` par absence de symbole de telle sorte que par exemple : `x"∗"y"∗"z=xyz`. La soustraction `x-y` désigne `x + ("-"y)`. De même, la division `x"/"y` désigne `x"∗"sf"inv"(y)=xy^-1`

Nous choissons une priorité syntaxique plus faible pour l'opérateur d'addition faisant que par exemple le terme `x+y∗z` correspond à `x+(y∗z)` et non à `(x+y)∗z` et s'écrira simplement `x"+"yz`.

On se place dans le corps `K`. Les quantificateurs `AA x` et `EE x` ont une portée par défaut sur `K`, c'est à dire que pour une variable `x` quelconque, l'expression`AA x` signifie `AA x "∈" K` et l'expression `EE x` signifie `EE x "∈" K`. Les variables nouvelles sont implicitement quantifiées universellement sur `K`.

En résumé nous avons un langage d'opérateurs `"<0, 1, +", "-", "∗", sf"inv"">"` et une théorie d'égalité composée des 9 axiomes ci-dessous :

`AA(x,y,z)`,

Fonction propositionnelle
Fonction propositionnelle
Clause
Fonction propositionnelle
`sf"Anneau_abelien"(+",0,"-","∗",1)`
`sf"Groupe_abelien"("+",0,"-")`
`x"+"(y"+"z) = (x"+"y)"+"z`
`sf"Semi-groupe"("+")`
`x"+"y = y"+"x`
`sf"Commutatif"("+")`
`x"+"0 = x`
`sf"Neutre"("+",0)`
`x"+"("-"x) = 0`
`sf"Reversible"("+",0,"-")`
`sf"Distributif"("+","∗")`
`(x"+"y)z = xz"+"yz`
`sf"Distributif"("+","∗")`
`sf"Monoïde_abelien"("∗",1)`
`x(yz) = (xy)z`
`sf"Semi-groupe"("∗")`
`xy = yx`
`sf"Commutatif"("∗")`
`x1 = x`
`sf"Neutre"("∗",1)`
`sf"Reversible_ou_nul"("∗",1,sf"inv","0")`
`x"∗"sf"inv"(x) "=" 1 ∨ x"="0`
`sf"Reversible_ou_nul"("∗",1,sf"inv","0")`

Les fonctions propositionnelles se définissent ainsi :

`sf"Corps_commutatif"("+",0,"-","∗",1,sf"inv") = {sf"Anneau_abelien"("+",0,"-","∗",1), sf"Reversible_ou_nul"("∗",1,sf"inv","0")}`
`sf"Anneau_abelien"("+",0,"-","∗",1)= {sf"Groupe_abelien"("+",0,"-"),sf"Distributif"("+","∗"),sf"Monoïde_abelien"("∗",1)}`
`sf"Reversible_ou_nul"("∗",1,sf"inv","0")={x"∗"sf"inv"(x)"=" 1∨x"="0}`
`sf"Groupe_abelien"("+",e,"-") = {sf"Semi-groupe"("+"), sf"Commutatif"("+"), sf"Neutre"("+",e), sf"Reversible"("+",e,"-")}`
`sf"Distributif"("+","∗")={(x"+"y)z = xz"+"yz}`
`sf"Monoïde_abelien"("∗",e) = {sf"Semi-groupe"("∗"), sf"Commutatif"("∗"), sf"Neutre"("∗",e), sf"Reversible"("∗",e,sf"inv")}`
`sf"Semi-groupe"("∗")={x"∗"(y"∗"z) = (x"∗"y)"∗"z}`
`sf"Commutatif"("∗")={x"∗"y = y"∗"x}`
`sf"Neutre"("∗",e) = {x"∗"e"=" x}`
`sf"Reversible"("∗",e, sf"inv" ) = {x"∗"sf"inv"(x) "=" e}`

Où l'énumération des théories entre crochet `{...}` correspond à la conjonction des théories. On remarque que la théorie du corps ainsi présenté est écrite en utilisant que des quantificateurs universels `AA`, un seul type de variable, des opérateurs constants d'arité fixe, le seul prédicat égal `"="`, les seuls connecteurs logiques `"∧"`, `"∨"`, et sans utiliser la négation.

Une théorie logique du premier ordre ne comprend qu'un seul type de variable que sont les éléments, n'utilise que des opérateurs constants d'arité fixe, et n'utilise que des prédicats constants d'arité fixe.

La théorie est dite skolémisée lorsque l'on remplace les variables quantifiées existentiellement par des opérateurs constant que l'on rajoute au langage, c'est à dire ici lorsque on ajoute les deux opérateurs unaires `"-"` et `sf"inv"`, de telle sorte que la théorie peut être écrite sans quantificateur existentiel `EE`. Les opérateurs ainsi rajoutés sont appellés les opérateurs programmatifs de la structure.

Une théorie d'égalité est une théorie logique du premier ordre qui est skolémisée, qui n'utilise que le seul prédicat égal `"="`, qui n'utilise que les seuls connecteurs logiques `"∧"`, `"∨"`, et qui n'utilise pas de négation. En résumé, une théorie d'égalité peut s'écrire qu'avec des quantificateurs universels `AA`, un seul type de variable, des opérateurs constants d'arité fixe, le seul prédicat égal `"="`, les seuls connecteurs logiques `"∧"`, `"∨"`, et sans utiliser la négation.

Le corps `K` admet une présentation dite programmative ou dite par engendrement, que nous écrivons de deux manières :

`K =` Corps commutatif ` ("+",0,"-","∗",1,sf"inv")`

`K = "<"0,1,"-",sf"inv","+","∗>/"{sf"Corps_commutatif"("+",0,"-","∗",1,sf"inv")}`,

L'expression Corps commutatif joue le rôle de patron de structure, tandis que l'expression `sf"Corps_commutatif"` joue le rôle de fonction propositionnelle.

La structure `K` comprend trois théories :

Notez que la théorie d'engendrement n'est pas une théorie du premier ordre.

La définition du corps présentée de façon skolémisée par engendrement impose qu'il n'existe pas d'autres éléments ajoutés à l'ensemble sous-jacent ni d'autres règles d'égalités ajoutées à la théorie. C'est pourquoi elle correspond à la définition du corps commutatif agène libre.

`"<"0,1,"-",sf"inv","+","∗>" "/" sf"Corps_commutatif"("+",0,"-","∗",1,sf"inv")`

Parcontre, dans la notation classique, un corps commutatif quelconque `(K,"+","∗")` que l'on skolémise c'est à dire dans lequel on désigne par des opérateurs unaires la fonction opposée `"-"` et la fonction inverse `sf"inv"`, désigne un corps commutatif pouvant posséder une infinité d'éléments générateurs supplémentaires ainsi qu'une infinité d'autres règles d'égalités supplémentaires.

Dans un corps `(K,"+","∗")`, l'élément neutre de l'addition noté `0` est toujours l'élément absorbant pour la multiplication, c'est à dire `AAx"∈"K, 0x=0`. En effet, nous avons `0x = (0+0)x = 0x+0x` et donc en enlevant `0x` de chaque coté de l'égalité on obtient `0 = 0x`.

2) Autre définition du corps commutatif

Par convention, une structure classique à deux lois, notée `(K,"+","∗")`, signifie implicitement que les lois `"+", "∗"` sont internes et définis partout sur `K`, autrement dit, que les opérateurs `"+", "∗"` sont des applications sur `K`.

Par convention, une structure engendrée, notée `"<"K,0,1,"-",sf"inv","+","∗>"` signifiera implicitement que les opérateurs énumérés ont un ensemble de définition constitué des termes clos du langage `"≪"K,0,1,"-",sf"inv","+","∗≫"` à équivalence près, où la relation d'équivalence évoquée constitue la théorie d'égalité de la structure. Notez que dans la notation d'engendrement `"<"...">"` ou de langage `"≪"..."≫"`, lorsque figure un ensemble d'éléments, celui-ci doit être remplacé par son contenu, faisant que par exemple `"<"{a,b}, c">"` `=` `"<"a,b,c">"` `=` `"<"{a,b,c}">"`

Un ensemble `K` et deux opérateurs `"+"` et `"∗"` forment un corps `(K,"+","∗")` si et seulement si :

  1. Les opérateurs `"+"` et `"∗"` ont un ensemble de définition comprenant `K`.
  2. La multiplication `"∗"` est distributive par rapport à l'addition `"+"` sur les compositions mixtes à 3 éléments de `K^"∗"`.
  3. Les structures `(K,"+")` et `(K^"∗","∗")` sont des groupes abéliens, où `K^"∗"= K"-"{0}` et où `0` est l'élément neutre de `"+"`.
Structure
Egalité
Groupe abelien `(K,"+",0,"-")`
`AA(x,y,z)"∈"K^3, x"+"(y"+"z) = (x"+"y)"+"z`
`AA(x,y)"∈"K^2, x"+"y = y"+"x`
`AAx"∈"K, x"+"0 = x`
`AAx"∈"K, x"+"("-"x) = 0`
Distributeur `(K^"∗,+","∗")`
`AA(x,y,z)"∈"(K^"∗")^3, (x"+"y)z = xz"+"yz`
Groupe abelien `(K^"∗","∗",1,sf"inv")`
`AA(x,y,z)"∈"(K^"∗")^3, x(yz) = (xy)z`
`AA(x,y)"∈"(K^"∗")^2, xy = yx`
`AAx"∈"K^"∗", x1 = x`
`AAx"∈"K^"∗", xsf"inv"(x) = 1`

Ces 9 axiomes vont entrainer que l'élément nul est toujours un élément absorbant pour la multiplication, et donc que `(K,"∗")` est un monoïde abélien, et donc que la distibutivité s'applique aussi pour l'élément `0`, et donc que `(K,"+","∗")` est bien un corps.

Pour prouver que `0` est absorbant à partir de ces seuls 9 axiomes, on utilisera la distributivité de `"∗"` par rapport à `"+"` sur les compositions mixtes à 3 éléments de `K^"∗"`, et on utilisera la structure de groupe de `(K, "+")`. Quelque soit un élément `x`, du corps `K^"∗"`. Si le corps n'est pas réduit au singleton `{0}` alors il existe au moins un élément non nul `u`. Et nous avons `0 = u"-"u = u"+"("-"u)`, avec également `"-"u≠0`.

`(x, u,"-"u)"∈"(K^"∗")^3`

Si `u"+"u"≠"0` alors `("-"u)"+"("-"u)"≠"0` et :

`0x ` `=` `(0+0)x`
  `=` `(u - u + u - u)x`
  `=` `((u + u) + (("-"u)+("-"u)))x`
  `=` `(u + u)x + (("-"u)+("-"u))x`
  `=` `ux + ux + ("-"u)x +("-"u)x`
  `=` `ux + ("-"u)x + ux + ("-"u)x`
  `=` `(u - u)x + (u - u)x`
  `=` `0x + 0x`

Et `0x = 0x + 0x` entraine que `0 = 0x`

Parcontre si on a obligatoirement `u+u"="0` alors c'est que le groupe `(K,"+")` est de caractéristique `2`, c'est à dire que tout élément `e` du groupe satisfait `e+e=0`, et donc :

`0x ` `=` `(x+x)x`
  `=` `x x+x x`
  `=` `0`

3) L'engendrement

On définie la notion d'engendrement en considérant implicite la présence des opérateurs programmatifs de la structure considérée. Par exemple pour le corps, on considère implicite la présence des opérateurs `"+",0,"-","∗",1,sf"inv"`. Ainsi quelque soit un sous-ensemble `A"⊆"K`, l'ensemble des éléments engendrés par `A` se note `"<"A">"`, et est par définition l'ensemble des compositions finies closes d'éléments de `A` et des opérateurs `"+",0,"-","∗",1,sf"inv"`. Cela se note comme suit :

`"<"A">"="<"A,0,1,"-",sf"inv","+","∗>"`

L'ensemble engendré est noté `"<"A">"` en laissant implicite la théorie d'égalité. Tous se passe comme si la théorie d'égalité avait été incorporée dans la définition des opérateurs qui sont ici eux-mêmes rendus implicites, par la définition de la structure `K` déclarée préalablement.

Notez qu'on utilise la notation d'engendrement `"<"...">"` en énumérant des ensembles d'opérateurs ou directement des opérateurs, faisant que `"<"{a,b}, c">"` `=` `"<"a,b,c">"` `=` `"<"{a,b,c}">"`

L'univers dans lequel nous raisonnons n'est jamais complètement construit. C'est cette particularité qui confirme que nous ne nous sommes pas mis des oeillères, et que l'exploration des fondements reste possibles. Les lois `+` et `"∗"` sont des applications sur `K` qui peuvent être étendues sur tout ensemble mais sans garantir le maintient de leurs propriétés en dehors de `K`. Ces extensions, à ce stade, ne sont pas déterminées. La notion d'engendrement se généralise donc au delà de `K`. Et, le fait d'être restreinte à `K` entraine cette règle : Si `A` est un sous ensemble de `K` alors l'ensemble `"<"A">"` est un sous-corps de `K`, ce qui se note :

`A"⊆"K => "<"A">⊑"K`

Et d'une manière plus générale :

`A"⊆"B => "<"A">⊑<"B">"`

Notez que, le symbole de sous-structure `"⊑"` ne précise pas de quelle structure il s'agit. La struture est indiquée par une métadonnée du terme de droite ou bien est indiquée par le contexte.

Une structure est dite de type fini si elle est engendrée par un nombre fini d'éléments. Plus précisement, elle est dite agène si elle est engendré par l'apport d'aucun nouvel élément autre que ceux déjà désignés par le patron, monogène si elle est engendré par l'apport d'au moins un nouvel élément, bigène si elle est engendré par l'apport d'au moins deux nouveaux éléments, trigène si elle est engendré par l'apport d'au moins 3 nouveaux éléments, etc..

Corps commutatif agène `("+",0,"-","∗",1,sf"inv")    =    "<" ">"    =    "<"0,1,"-",sf"inv","+","∗>"`
Corps commutatif monogène `("+",0,"-","∗",1,sf"inv",i)   =   "<"i">"   =   "<" i, 0,1,"-",sf"inv","+","∗>"`
Corps commutatif bigène `("+",0,"-","∗",1,sf"inv",i,j)   =   "<"i,j">"   =   "<" i, j, 0,1,"-",sf"inv","+","∗>"`
`...`

Notez que dans le Corps commutatif agène `("+",0,"-","∗",1,sf"inv")`, les éléments `0` et `1` sont désignés par le patron, et comme `0 = 1-1`, le corps commutatif agène constitue une structure monogène engendrée par `"<"1,"+","-","∗",sf"inv">"`. D'une manière générale, les générateurs sont regroupés dans un ensemble ajoutés à la liste des opérateurs programmatifs. Le patron Corps commutatif comprend ainsi 7 arguments :

Corps commutatif `("+",0,"-","∗",1,sf"inv",K)    =    "<"K">"    =    "<"K,0,1,"-",sf"inv","+","∗>"`

Le premier argument désigne l'addition "+", le second argument désigne l'élément neutre de l'addition 0, le troisième argment désigne la fonction unaire opposée "-", le quatrième argument désigne la multiplication "∗", le cinquième argument désigne l'élément neutre de la multiplication 1, le sixième argument désigne la fonction unaire inverse sf"inv", et le septième argument désigne l'ensemble des éléments générateurs ajoutés.

4) Le langage d'une structure

Etant donné une structure `K` présentés de façon programmative.

`K = "<O>/"{T}`

`O` représente l'ensemble des opérateurs générateurs de `K` et où `T` représente la théorie d'égalité de `K`.

Le langage de `K` se note `"≪"O"≫"`. C'est l'ensemble des emboitements finis clos d'opérateurs générateurs, ou autrement dit, l'ensemble des compositions non évaluées finies closes d'opérateurs générateurs. Les éléments du langage de `K` sont appelés des mots.

Par convention d'écriture, lorsqu'un ensemble d'opérateur est inséré dans une liste d'opérateurs, ou qu'un ensemble de théories est inséré dans une liste de théories qui en constitue alors la conjonction, il est implicitement remplacé par son contenu. Ainsi nous avons `"<"{a,b},c">"` `=` `"<"a,b,c">"` `=` `"<"{a,b,c}">"` et de même pour `{...}` et pour `"≪"..."≫"`.

On note par le symbole `"≡"` l'égalité littérale de deux mots du langage de `K`. Et on définie une relation d'équivalence plus lache notée `"="` comme suit : Quelque soit deux mots `U` et `V` appartenant au langage de `K`, nous avons `U"="V` si et seulement si la théorie d'égalité de `K` démontre `U"="V`, ce qui se note `K⊢U"="V`.

La structure engendré est égale au langage de la structure à équivalence près, où la relation d'équivalence évoquée constitue la théorie d'égalité de la structure.

`"<O>" = "≪"O"≫" "/" {T}`

Et donc elle est encore égale à `"<O>" = "<O>/"{T} = K`. C'est pourquoi, c'est cette dernière expression qui constitue la présentation programmative de `K`.

5) Le corps commutatif agène libre, `QQ`

Le corps commutatif agène se présente en notation programmative par :

 Corps commutatif `("+",0,"-","∗",1,sf"inv")` 

Le patron Corps commutatif donne un rôle précis à chacun de ses arguments. Le 1er argument désigne l'opérateur binaire servant pour l'addition, le 2nd argument désigne l'élément servant d'élément neutre pour l'addition, le 3ième argument désigne l'opérateur unaire servant pour la soustraction, le 4ième argument désigne l'opérateur binaire servant pour la multiplication, le 5ième argument désigne l'élément servant d'élément neutre pour la multiplication et le 6 ième argument désigne l'opérateur unaire servant pour calculer l'inverse.

Le corps comprend le Groupe monogène `("+",0,"-",1)`. Et comme on impose pour l'instant aucune contraite, il contient le groupe monogène libre c'est à dire `ZZ`. Comme la multiplication est distributive sur l'addition, nous avons par exemple :

`2"∗"3` `=` `(1"+"1)"∗"(1"+"1"+"1)` `=` `1"+"1"+"... 2"∗"3" fois "...`

Et d'une manière générale :

`(1"+"1"+" ... n" fois "...)``"∗"``(1"+"1"+" ... m" fois "...)` `=` `(1"+"1"+" ... n"∗"m" fois "...)`.

On en déduit que l'opération `"∗"` appliquée à ce groupe monogène `ZZ` n'engendre pas d'autre élément. On note `ZZ^"∗" = ZZ"-"{0}` et `NN^"∗" = NN"-"{0}`. Puis comme nous avons :

`AA(p,q,k)"∈"(ZZ^"∗")^3, p/q =(kp)/(kq)`

On en déduit que le corps commutatif agène libre de toute contrainte est l'ensemble désigné surjectivement par :

`{p"∗"q^-1 "/" (p,q)"∈"(ZZ^"∗")^2, "pgcd"(p,q)"="1} + {0}`

Et comme deux rationels réduits et positifs se distinguent si et seulement si leur numérateur ou leur dénumérateur se distinguent :

`AA(p,q,p',q')"∈"(NN^"∗")^4 "/" "pgcd"(p,q)"="1 ∧ "pgcd"(p',q')"="1, p/q "≠" (p')/(q') <=> (p "≠" p' ∨ q "≠" q')`

Et comme le produit de moins par moins fait plus, on en déduit que le corps est l'ensemble désigné biunivoquement par :

`{s"∗"p"∗"q^-1 "/" s "∈"{1,"-"1},(p,q)"∈"(NN^"∗")^2, "pgcd"(p,q)"="1} + {0}`

En conclusion, le corps commutatif agène libre correspond aux nombres rationnels.

 `QQ =` Corps commutatif `("+",0,"−","∗",1,sf"inv")` 

 `QQ = "<"0,1,"−",sf"inv","+","∗>/"sf"Corps_commutatif"("+",0,"−","∗",1,sf"inv")`

Les autres corps commutatifs agènes s'obtiennent à partir de `QQ` en ajoutant à sa théorie d'égalité, d'autres théories d'égalitées.

6) La représentation exponentielle de `QQ`

En désigant l'ensemble des nombres premiers par `{p_1,p_2,p_3,...}``=``{2,3,5,7,...}`, et en désignant l'ensemble des suites finies d'entiers relatifs par `ZZ"*"`, le corps est l'ensemble désigné biunivoquement par :

`{("-"1)^(a_0)"∗"p_1^(a_1)"∗"p_2^(a_2)"∗"p_3^(a_3)"∗"..." / " a_0"∈"{0,1},(a_1,a_2,a_3,...)"∈"ZZ"*"} + {0}`

Chaque élément du corps se décompose en un produit fini de puissances premières, que l'on représente par un vecteur de taille variable :

`[a_0,a_1,a_2,a_3,...] = ("-"1)^(a_0)"∗"p_1^(a_1)"∗"p_2^(a_2)"∗"p_3^(a_3)"∗"...`

Et nous avons la règle suivante :

`[a_0,a_1,a_2,a_3,...]"∗"[b_0,b_1,b_2,b_3,...] = [a_0"+"b_0 [2],a_1"+"b_1,a_2"+"b_2,a_3"+"b_3,...]`

où le symbole `[2]` signifie modulo `2`.

7) L'engendrement de `ZZ` et de `QQ`

On décrit la création des structures comme des mythes de la création du monde à la différence près que tout y est déterminé.

On construit le groupe agène en définissant une loi de composition sous forme d'un opérateur binaire `"+"`, associatif, commutatif, et inversible, possédant donc un unique élément neutre, `0`. On pourrait alors procéder à une extension élémentaire en ajoutant un nouvel élément qui constituerait l'élément générateur du groupe, mais on ne le fait pas tout de suite.

On définit une seconde loi sous forme d'un opérateur binaire `"∗"`, distributif sur le premier opérateur, associatif, commutatif, et inversible, possédant donc un unique élément neutre, `1`.

La structure en construction s'agrémentant ainsi d'un second élément`1`, se pose la question de savoir si `1"="0`. La première question à la quelle on doit répondre est : Est-ce que ce deuxième éléments peut être choisi parmi les éléments déjà existant c'est à dire être égal à zéro ? Supposons le cas `1"="0`. Alors le corps est trivial `{0}`. Néanmoins rien ne nous empêche d'ajouter un nouvel élément générateur par extension élémentaire à ce corps trivial. Soit `g` cet élément, et on ne se repose pas la même question, car nous reviendrions au même point, mais la question suivante : est-ce que ce deuxième élément peut être choisi différent des éléments déjà existants c'est à dire être non égal à zéro ? Ainsi supposons que `g≠0`. Cet élément va alors engendrer d'autres éléments en se combinant à lui-même à l'aide des deux lois de composition. Mais le raisonnement ne va pas plus loin, car comme `1=0` nous avons `g"∗"1 = g"∗"0 = 0` et donc `g=0`. Ainsi le seul corps ou `1=0` est le corps trivial `{0}`. Donc on reprend notre construction en choisissant le cas où `1≠0`. Cet élément `1` va engendrer à l'aide de la loi `"+"`, et de sa fonction opposée `-`, tous les entiers relatifs, et à l'aide de la seconde loi `"∗"` et de sa fonction invese `sf"inv"`, va engendrer tous les rationnels.

Toutes les expressions non équivalentes du langage du corps commutatif agène désignent des éléments distincts du corps. On obtient ainsi la plus grande structure engendrable possible, un qualificatif qui correspond en fait à la notion de structure libre, au corps commutatif agène libre.

Un premier genre de structures libres seront celles qui sont en bijection avec leur langage quotienté par leur théorie d'égalité.

Mais tous les cas ne se prêtent pas à cette simplification, et si la théorie d'égalité de la structure ne se résume pas qu'à une relation d'équivalence, le fait de supposer que toutes les expressions non équivalentes du langage d'une structure désignent des éléments distincts de la structure abouti à une contradiction. Par exemple, considérons la structure ne comprenant que des éléments et aucun opérateur `"<"a,b,c">/"{a"="b ∨ a"="c}`. La théorie de la structure ne prouve aucune égalité. Pourtant si on suppose que a≠b, alors la théorie prouve l'égalité `b"="c`.

On introduit la notion d'éléments indiscernabilité. Etant donné une structure `K = "<"O">/"{T}`. Deux éléments `a,b` de `K` sont dits indiscernable si et seulement si il existe un ensemble de couples de mots du langage de `K` tel qu'en adjoignant les inégalités de ces couples de mots à la théorie, celle-ci n'est pas contradictoire tout en démontrant `a=b`.

`{a,b}` indiscernable

`EE E, EE(U_i,V_i)_(iinE) in ("≪"O"≫"^2)^E` tel que :

`{T, AAi"∈"E, U_i"≠"V_i}⊬ ⟘`

`{T, AAi"∈"E, U_i"≠"V_i} |-- a"="b`

Et on dit que la structure est discrète si tous ses éléments sont deux à deux discernables. Le corps des rationnels est discret.

Le corps des rationnels `QQ` va induire naturellement une action sur les autres corps commutatifs `K` comme suit : On note `0_K` pour désigner l'élément neutre de l'addition du corps `K`. On note `1_K` pour désigner l'élément neutre de la multiplication du corps `K`. On note `0` pour désigner le `0` de `NN`. On note `"-"1` pour désigner le `"-"1` de `ZZ`. On pose deux opérations externes, le produit `QQ"×"K->K` et l'élévation à la puissance `ZZ"×"K->K` que nous construisons par tatonnement successif comme suit :

Etant donné un élément `x` du corps `K`, nous construisons le produit d'un entier `n` par `x` comme étant égale à la somme de `n` termes `x`, et la puissance de `x` par `n` comme étant égale au produit de `n` termes `x` :

      `1x = x`
      `x^1 = x`

      `nx = (x"+"x"+" ... n" fois "...)`
      `x^n = (x"∗"x"∗" ... n" fois "...)`

On pose que la somme de `0` terme `x` vaut `0`, et que le produit de `0` terme `x` vaut `1` :

      `0x=0`
      `x^0=1`

Remarquez qu'on a donc posé `(0_K)^0 = 1`. Nous construisons le produit de `"-"1` par `x` comme étant égale à l'opposé de `x`, et la puissance de `x` par `"-"1` comme étant égale à l'inverse de `x` :

      `("-"1)x=-x`
      `x^"-"1=sf"inv"(x)= x^-1=1/x`

Nous construisons le produit d'un entier négatif `"-"n` par `x` comme étant égale à l'opposé de somme de `n` termes `x`, et la puissance de `x` par un enteir négatif `"-"n` comme étant égale à l'inverse du produit de `n` termes `x` :

      `("-"n)x = (("-"x)"+ ("-"x)"+ ... n" fois "...)`
      `x^(-n) = (x^("-"1)"∗"x^("-"1)"∗" ... n" fois "...) = 1/(x"∗"x"∗" ... n" fois "...)`

Nous construisons le produit d'un rationnel `1"/"n` par `x` comme étant égale à l'inverse de la somme de `n` termes `x^("-"1)` :

      `(1/n)x = sf"inv"(x^("-"1)"+"x^("-"1)"+" ... n" fois "...) = 1/(nx^-1)`
      `("-"1/n)x = (1/n)("-"x)`

On définit ainsi deux opérations externes. Le produit d'un rationnel `(p/q)` par un élément `x`de `K` que l'on note à l'aide du même symbole `"∗"` c'est à dire par `(p/q)"∗"x` et qui est défini par :

`QQ×K->K`

`(p/q,x)|->(x"+"x"+"... p " fois "...)"∗"sf"inv"(sf"inv"(x)"+"sf"inv"(x)"+"... q " fois "...)`

L'élévation à la puissance entière `n` d'un élément `x` de `K` que l'on note à l'aide du symbole `"^"` c'est à dire par `x^n` et qui est définie par :

`ZZ×K->K`

`n">"0 => (n,x)|->(x"∗"x"∗"... n " fois "...)`
`n"="0 => (n,x)|-> 1`
`n"<"0 => (n,x)|->(x^("-"1)"∗"x^("-"1)"∗"... n " fois "...)`

Et nous avons un certain nombre de propriétés qui vont cadrer ces deux lois `"+"` et `"∗"`. Le produit entre un entier et un élément du corps `K` est noté `"∗"` ou par absence de symbole, et possède une priorité syntaxique plus grande que celle de l'addition. Le produit entre deux entiers est noté pareillement par `"∗"` et l'inverse pareillement par `/` et la puissance par `^` :

`AA(n,m)"∈"ZZ^2, AA(x,y)"∈"K^2,`
     `0x=0_K`
     `1x=x`
     `2x=x"+"x`
     `3x=x"+"x"+"x`
     `0_Kx=0_K`
     `1_Kx=x`
     `2_Kx=x"+"x`
     `3_Kx=x"+"x"+"x`
     `x^(0)=1_K`
     `x^(1)=x`
     `x^(2)=x x`
     `x^(3)=x x x`
     `nx+mx = (n+m)x`
     `(nx)(my) = (nm)xy`
     `mx≠0_K => (nx)/(mx) "=" (n/m)1_K`
     `(nx)^m = n^mx^m`
     `x^nx^m = x^(n+m)`

8) La construction réitéré du corps.

`(K,"+","∗")` est un corps si et seulement si :

  1. `(K,"+")` est un groupe abélien.
  2. `(K^"∗","∗")` est un groupe abélien.
  3. La loi `"∗"` est distributive par rapport à la loi `"+"` sur les compositions mixtes à 3 éléments de `K^"∗"`.

Réitérons la construction de corps avec une troisième loi `"•"` :

  1. `(K^"•","•")` est un groupe abélien.
  2. La loi `"•"` est distributive par rapport à la loi `"∗"` sur les compositions mixtes à 3 éléments de `K^"•"`.

On note `K^"•" = K-{0_K,1_K}`.
On note `iota` l'élément neutre de la loi `"•"`, c'est à dire que `AA x"∈"K^"•", iota"•"x=x`.
On note `sf"ante"(x)` l'antécréation de `x`, c'est à dire que `AA x"∈"K^"•", x"•"sf"ante"(x)=iota`.
Le `1_K` est l'élément absorbant de `"•"` dans `K^"∗"`, c'est à dire que `AA x"∈"K^"∗", 1_K"•"x = 1_K`


---- 8 avril 2017----

 

 

 

 

 

5) Extension de corps et extension d'anneau

Un corps commutatif `(K,"+","∗")` peut être perçu comme un anneau commutatif si on ne retient pas la propriété pour chaque élément non nul d'avoir un inverse. On passe de la structure de corps à celle d'anneau en enlevant dans la présentation programmative, l'opérateur `sf"inv"`. L'extension en tant qu'anneau ou en tant que corps, se différencie de la même manière.

Lorsqu'on ajoute un nouvel élément `x` à la structure `K`, cela produit un nouvel anneau ou un nouveau corps qui sont définis par engendrement comme suit :

`sf"Anneau" K[x] = "<"x, 0,1,"-","+","∗>"`

`sf"Corps" K[x] = "<"x, 0,1,"-",sf"inv","+","∗>"`

Les structures sont ici présentées sous leurs formes skolémisées c'est à dire en notation programmative, en trois théorie : une théorie d'engendrement, une théorie d'égalité, et une théorie globale qui est la conjonction de la théorie d'engendrement et de la théorie d'égalité.

L'extension d'une structure `K` en `x` est dite libre si aucune contrainte concernant `x` autre que celle déjà mentionné dans la théorie d'égalité de `K`, n'est ajoutée. L'extension est impossible si et seulement si la théorie globale de `K[x]` démontre que `x"∈"K`.

Aussi paradoxal que cela puisse paraître, il n'y a pas de différence entre une constante et une variable. Le nouvel élément `x` que nous avons ajouté à la structure, est une constante en tant qu'élément. Et nous n'avons pas de connaissance sur cette constante autre que le fait qu'elle satisfasse à la théorie d'égalité de la structure choisie pour l'extension comme le sont tous les autres éléments de `K`. C'est pourquoi `x` est appelé une variable libre ou une indéterminée, aussi bien suceptible d'être égale à n'importe quel élément de `K` que de constituer un nouvel élément pour `K`.

Un élément de l'`sf"Anneau" K[x]` constitue une application de `K"→"K`, l'élément `x` jouant le rôle de variable d'entrée de l'application. Par exemple l'élément d'expression `1"+"x(x"-"1)^2` constitue l'application définie par `x|-> 1"+"x(x"-"1)^2`. Notez que cette application s'étend naturellement en une application de `sf"Anneau"K[x]"→"sf"Anneau"K[x]`, en dupliquant le rôle de la variable `x` ou autrement dit en remplaçant la variable `x` par une variable muette. L'application se définie donc par `y|-> 1"+"y(y"-"1)^2`, ou `y` est une variable muette. Cette application peut donc s'appliquer à un élément de l'`sf"Anneau"K[x]` tel que par exemple `x^2"+"1`.

Un élément du `sf"Corps" K[x]` constitue une application de `K^"∗""→"K`, l'élément `x` jouant le rôle de variable d'entrée de l'application. Par exemple l'élément d'expression `x"+"(x"-"1)^-2` constitue l'application définie par `x|-> x"+"(x"-"1)^-2`. Notez que cette application s'étend naturellement en une application de `sf"Corps"K[x]"→"sf"Corps"K[x]`, définie par `y|-> 1"+"y(y"-"1)^2`, ou `y` est une variable muette.

On appelle monôme, un produit de la forme `kx^n``k"∈"K` et `n"∈"NN`. L'élément `k` est appelé le coéfficient du monôme. L'entier `n` est appellé le degrés du monome.

On appelle produit, un produit de la forme `kx^n``k"∈"K` et `n"∈"ZZ`. L'élément `k` est appelé le coéfficient du produit, l'entier `n` est appellé le degrés du produit.

Du fait de la distributivité de `"∗"` relativement à `"+"`, du fait de la commutativité de chaque opération, et du fait que l'engendrement ne comprend que les seules compositions finies closes d'opérateurs présents dans la présentation programmative, nous déduisons :

 

---- 27 mars 2018 ----

 

 

 

 

Si `x"∉"K` alors tout élément de l'`sf"Anneau" K[x]` se développe en une somme de monômes de façon unique (à permutation près des monômes dans la somme). Cela constitue une forme normale appelée polynôme. C'est pourquoi l'`sf"Anneau" K[x]` s'appelle l'anneau des polynomes à coefficient dans `K`.

Si `x"∉"K` alors tout élément de `sf"Corps" K[x]` se développe en une somme de produit de façon unique (à permutation près des produits dans la somme). Cela constitue une forme normale appelée polyproduit. C'est pourquoi le `sf"Corps" K[x]` s'appelle le corps des polyproduits à coefficient dans `K`.

6) Polynôme

Un polynôme `P(x)` se note sous sa forme normale par :

`P(x) = p_0+p_1x+p_2x^2+p_3x^3+... = sum_(n=0)^oo p_nx^n`

où les coefficients `p_n` sont tous nuls au bout d'un certain indice qui correspond au degré du polynôme. Le polynôme `P(x)` est déterminé par la suite de ces coefficients que l'on note `vec p` :

`vecp = (p_0,p_1,p_2,p_3,...)`

`vecp = (p_n)_(n in NN)`

`vecp in K^NN`

Et comme les coefficients sont tous nuls au bout d'un certain indice qui correspond au degré du polynôme, nous ne retenons qu'une suite finie de coefficients :

`veck in K"*"`

`K"*"` désigne l'ensemble des suites finie d'éléments de `K`. Notez qu'il ne faut pas confondre le symbole de Kleene `"*"` avec le produit mis en exposant. L'ensemble `K"*"` est différent de `K^"*"` qui est égal à `K-{0}`. La suite vide correspond au polynôme nul.

7) polyproduit

Un polyproduit `A(x)` se note sous sa forme normale par :

`A(x) = ...+k_-3x^-3+k_-2x^-2+k_-1x^-1+k_0+k_1x+k_2x^2+k_3x^3+... = sum_(n=-oo)^(+oo) k_nx^n`

où les coefficients `k_n` sont tous nuls dès que `|n|` est plus grand qu'un certain entier qui correspond au degré du polyproduit. On le scinde en deux listes `A(x)` `=` `P(x)"+"Q(x)` :

`P(x) = k_0+k_1x+k_2x^2+k_3x^3+... = sum_(n=0)^oo k_nx^n`

`Q(x) = k_-1x^-1+k_-2x^-2+k_-3x^-3+... = sum_(n=1)^oo k_-nx^-n`

Le polyproduit `A(x)` est déterminé par la liste de ses coefficients que l'on note `vec k` :

`veck = (...,k_-3,k_-2,k_-1,k_0,k_1,k_2,k_3,...)`

`veck = (k_n)_(n in ZZ)`

`veck in K^ZZ`

On scinde la liste des coefficients en deux listes comme suit :

`veck = ((k_0,k_1,k_2,k_3,...), (k_-1,k_-2,k_-3,...))`

Et comme les coefficients sont tous nuls dès que `|n|` est plus grand qu'un certain entier qui correspond au degré du polyproduit, nous ne retenons que des listes finies de coefficients :

`veck in K"*""×"K"*"`

`K"*"` désigne l'ensemble des suites finie d'éléments de `K`. Notez qu'il ne faut pas confondre le symbole de Kleene `"*"` avec le produit mis en exposant. L'ensemble `K"*"` est différent de `K^"*"` qui est égal à `K-{0}`.

---- 26 mars 2018 ----

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2.1) Unicité du polynôme

Un éléments `P` de l'`sf"Anneau" K[x]` s'appel un polynôme et possède deux facettes :

Considérons deux éléments distincts `P≠Q` de `sf"Anneau" K[x]`, c'est à dire de formes normales distinctes c'est à dire de suite de coefficients distincts. Alors il existe au moins un point `k` de `K` pour lequel leur images diffèrent `P(k)≠Q(k)` c'est à dire que les deux polynômes sont bien distincts en tant qu'application de `K"→"K`. La démonstration se fait par contraposé. On démontre que deux polynômes qui coïncident en tant qu'application de `K"→"K`, ont nécéssairement la même forme normale, c'est à dire la même suite de coefficients.

Supposons que

`AAx inK,  a_0+a_1x+a_2x^2 + ... +a_nx^n= 0 `

En prenant `x=0`, on déduit que `a_0=0`, et donc que :

`AAx in K,  x(a_1+a_2x+a_3x^2 + ...+a_nx^n) = 0 `

Comme `K` est un corps, si `x≠0` alors l'élément `x^-1` existe, et donc :

`AAx in K^"∗",  a_1+a_2x+a_3x^2 + ... +a_nx^(n-1)= 0 `

 

1) L'axiome du choix unique

On se place dans une logique d'ordre supérieur, c'est à dire manipulant des éléments de différents types. Considérons une fonction propositionnelle binaire quelconque `P"(.,.)"`. Et considérons la propriété suivante :

`EEy"(.)"AAx, P(x,y(x))`

Cela signifie qu'il existe une application `y(.)` telle que pour tout `x` nous ayons la propriété `P(x,y(x))`. Autrement dit

`AAxEE!y, P(x,y)`

Ce raisonnement s'appel un choix. Nous avons choisie une application `y(.)` telque `AAx, P(x,y(x))` car la proposition `EEy"(.)"AAx, P(x,y(x))` affirme que l'on peut choisir parmis toutes les applications unaires, une telle application. C'est donc un axiome du raisonnement dans cette logique d'ordre supérieur, que nous adoptons.

`EEy"(.)"AAx, P(x,y(x)) => AAxEE!y, P(x,y)

La réciproque s'appel la construction d'une application à partir de la détermination unique de chacune de ses images.

`EEy"(.)"AAx, P(x,y(x)) ⇐ AAxEE!y, P(x,y)

On réunit les deux axiomes en un seul que l'on appel l'axiome du choix unique :

`EEy"(.)"AAx, P(x,y(x)) <=> AAxEE!y, P(x,y)

2) L'axiome du choix

L'axiome du choix, indispenssable pour pouvoir définir les infinis d'ordre supérieur à la dénombrabilité, et au coontraire à récuser si l'on ne veut pas manipuler d'infini autre que la dénombrabilité.

 

 

 

 

L'axiome du choix entraine l'équivalence suivante :

`AAxEEy, P(x,y)  <=>  EEy"(.)"AAx, P(x,y(x))`

L'implication se démontre ainsi : On construit l'application `y"(.)"` en effectuant une infinité de choix parmis les possibles dont l'existence est toujours assurée par la propriété `AAxEEy P(x,y)`. La réciproque est toujours vrai. Donc, si l'on ne retient pas l'axiome du choix comme règle de raisonnement, nous n'avons que la réciproque :

`AAxEEy, P(x,y)  ⇐  EEy"(.)"AAx, P(x,y(x))`

Parcontre, si l'existance est unique, alors le choix est fait, et il y possible de construire l'application correspondante. Néanmoins, dans l'aspect formelle du raisonnement, cela constitue un axiome du raisonnement appelé axiome de création d'application.

Il découle de ce constat, deux définitions de la structure de corps, l'une est dite skolémisée et comprend deux fonctions nommée l'opposé (x|->-x) et l'inverse (x|->x^-1), l'autre est dite classique et ne connait pas ces fonctions seulement l'existance à chaque d'un opposé

 

 

 

 


un ensemble sous-jacent `K` regroupant l'ensemble des éléments du corps. associative et commutative. Cette addition admet un élément neutre que l'on note `0` et qui est appellé l'élément nul. Cette addition définie une fonction opposée que l'on note `"-"`. Le corps comprend une multiplication `"∗"` associative et commutative. Cette multiplication admet un élément neutre que l'on note `1`. Cette multiplication définie une fonction inverse qui est définie pour tous les éléments non nul et que l'on note `sf"inv"`. Et la multiplication est distributive par rapport à l'addition.

 

 

 

3) Définition classique du corps

On reprend les mêmes noms de fonctions propositionnelles, seuls les arguments changes et sont en nombres plus réduit :

`sf"Corps"("+","∗") = {sf"Groupe_abelien"("+"), sf"Monoïde_abelien"("∗"),sf"Distributif"("+","∗")}`


`sf"Groupe_abelien"("+") = {sf"Groupe"("+"),sf"Commutatif"("+")}`

`sf"Groupe"("∗") = {sf"Associatif"("∗"), EEeAAxEEy,  e"∗"x"="x, x"∗"e"="x, x"∗"y"="e, y"∗"x"="e}`


`sf"Monoïde"("∗") = {sf"Associatif"("∗"), sf"Neutre"("∗")}`


`sf"Associatif"("∗")={AAxAAyAAz,  x"∗"(y"∗"z) = (x"∗"y)"∗"z}`
`sf"Distributif"("+","∗") = {AAxAAyAAz,  (y"+"z)x = yx"+"zx, x(y"+"z) = xy"+"xz}`
`sf"Neutre"("∗")= {EEeAAx,  e"∗"x"="x, x"∗"e"="x}`
`sf"Reversible"("∗") = {AAxEEy,  e"∗"x"="x, x"∗"e"="x, (x"∗"y)"="e, (y"∗"x)"="e}`
`sf"Commutatif"("∗")={AAxAAy,  x"∗"y = y"∗"x}`

 

 

 

Pierre Audibert, "Algorithmes et théorie des nombres", Ellipse 2014
Daniel Lignon, "Dictionnaire de (presque) tous les nombres entiers", Ellipse, 2012
Gérald Tenenbaum, Michel Mendès France, "Les Nombres premiers, entre l'ordre et le chaos", Dunod 2011
Jean-Paul Delehaye, "Merveilleux nombres premiers. Voyage au coeur de l'arithmétique" Belin • Pour la science, 2003
Sabah Al Fakir, "Algèbre et théorie des nombres. Cryptographie. Primalité" Ellipses, 2003
Philippe Saux Picart, "Cours de calcul formel.Algorithmes fondamentaux", Ellipses 1999

Dominique Mabboux-Stromberg

 

---- 31 janvier 2018 ----

 

(Notez parcontre que le remplacement des variables quantifiées existentiellement mais ne dépendant d'aucune variable universelle par des opérateurs constant zéro-aire que l'on rajoute au langage se fait naturellement et ne constitue pas une skolémisation. La skolémisation est lié à l'axiome du choix, et dans ce cas évoqué il n'y a pas une infinité de choix arbitraires à faire)