### 6.16.3 Définition d’un opérateur: `user_operator`

`user_operator` a comme argument :

- une chaîne de caractères qui est le nom de l’opérateur,
- une fonction de deux variablesà valeur dans ℝ ou dans `true, false`,
- une option `Binary` pour la définition ou `Delete` pour annuler cette définition.

`user_operator` renvoie 1 si la définition a eu lieu et 0 sinon.

Exemple 1
Soit la loi R définit sur ℝ par x R y= x*y+x+y.
On tape pour définir la loi R :

`user_operator("R",(x,y)->x*y+x+y,Binary)`

On obtient :

`1`

On tape :

`5 R 7`

Bien mettre les espace autour de `R`.
On obtient :

`47`

Exemple 2
Soit la relation S définit sur ℕ par :
pour x et y entiers, x S y <=> x et y ne sont pas premiers entre eux.
On tape pour définir la relation S :

`user_operator("S",(x,y)->(gcd(x,y))!=1,Binary)`

On obtient :

`1`

On tape :

`5 S 7`

Bien mettre les espace autour de `S`.
On obtient :

`0`

On tape :

`8 S 12`

Bien mettre les espace autour de `S`.
On obtient :

`1`