X divisé par 0 donne-t-il 0 ? Une hypothèse provocante validée par WebKit ?

Ce que disent les mathématiques classiques

Dans l’arithmétique classique, la division par zéro est interdite. Pourquoi ?

Deux cas :

Conclusion mathématique : X ÷ 0 n’est pas défini.

Et si on posait arbitrairement X ÷ 0 = 0 ?

Certains proposent une définition volontaire : et si l’on décidait que diviser un nombre par 0 donne 0 ?

Testons cela :

Supposons que x / 0 = 0
Alors x = 0 × 0 = 0
Ce qui implique que tout x est égal à 0, ce qui est absurde.

Cette hypothèse contredit la logique mathématique de base.

Une hypothèse audacieuse : et si X / 0 = 0 ?

Certains pensent que X / 0 pourrait être défini comme 0, en se basant sur des raisonnements comme :

Raisonnement par limite trompeuse

On pourrait dire :

Si x / a tend vers 0 quand a devient très grand, alors peut-être que x / 0 = 0 (par analogie avec l’infini).

Mais c’est dangereux :

Interprétation informatique

Dans certains contextes informatiques, une division par zéro n’est pas toujours une erreur fatale :

Un système peut choisir arbitrairement que x / 0 = 0 comme règle interne, mais ce n’est pas une vérité mathématique.

Une tentative de logique formelle

Imaginons que l’on pose arbitrairement :

x / 0 = 0 pour tout x.

Testons la cohérence :

Si x / 0 = 0, alors cela signifierait :

Donc cette règle impose que tous les x soient égaux à 0, ce qui est absurde.

Conclusion : la règle est incohérente.

Des extensions mathématiques existent… mais prudentes

Certains domaines mathématiques élargis proposent des définitions différentes :

Mais même là, x / 0 = 0 est très rarement admis : c’est considéré comme trop fort, trop arbitraire, et souvent incohérent.

Ce que dit l’informatique… et WebKit

En informatique, les choses sont parfois plus souples que dans les mathématiques pures.

Dans JavaScript, langage interprété notamment par WebKit (Safari), mais aussi par V8 (Chrome) et SpiderMonkey (Firefox), voici ce que donne la division par 0 :

javascript
console.log(1 / 0); // Infinity
console.log(-1 / 0); // -Infinity
console.log(0 / 0); // NaN

Résultat :

Ce comportement suit la norme IEEE 754, utilisée pour les nombres flottants en informatique.

Pourquoi certains croient que x / 0 = 0 ?

Dans certains contextes informatiques (langages, moteurs de calcul, systèmes embarqués), on choisit arbitrairement de renvoyer zéro pour éviter de bloquer un programme en cas de division par zéro.

Par exemple, dans certains moteurs internes :

Ce que WebKit permet vraiment

Le moteur WebKit, utilisé dans Safari, a souvent été cité comme exemple car il ne considère pas toujours x / 0 comme une erreur fatale.

Mais attention :

On peut donc conclure :

Non, WebKit ne démontre pas que x / 0 = 0.
Il démontre que x / 0 n’est pas forcément une erreur, ce qui est très différent.

entre rigueur mathématique et tolérance informatique

L’idée que X ÷ 0 = 0 est incohérente en mathématiques, mais peut exister dans certaines implémentations informatiques, pour des raisons de praticité ou de gestion d’erreurs.

WebKit n’affirme pas cette égalité, mais montre que la division par zéro peut être traitée avec souplesse, notamment en suivant la norme IEEE 754.

Un cas typique où le langage des machines diverge de celui des mathématiciens.

Quitter la version mobile