Sur MathOverflow, Timothy Gowers a posé une question intitulée " Démontrer que la rigueur est importante ". La plupart des discussions ont porté sur des cas montrant l’importance de la preuve, dont les utilisateurs de CSTheory n’ont probablement pas besoin d’être convaincus. Selon mon expérience, les preuves doivent être plus rigoureuses en informatique théorique que dans de nombreuses parties des mathématiques continues, car notre intuition s'avère si souvent fausse pour des structures discrètes et parce que la volonté de créer des implémentations encourage des arguments plus détaillés. Un mathématicien peut se contenter d'une preuve d'existence, mais un informaticien théorique tentera généralement de trouver une preuve constructive. Le lemme local de Lovász est un bel exemple [1].
Je voudrais donc savoir
Existe-t-il des exemples spécifiques en informatique théorique où une preuve rigoureuse d'une affirmation supposée être vraie a permis de mieux comprendre la nature du problème sous-jacent?
Un exemple récent, qui ne provient pas directement des algorithmes et de la théorie de la complexité, est la synthèse probatoire , la dérivation automatique d'algorithmes corrects et efficaces à partir de conditions préalables et postérieures [2].
- [1] Robin A. Moser et Gábor Tardos, Preuve constructive de la lemma locale du général Lovász , JACM 57 , article 11, 2010. http://doi.acm.org/10.1145/1667053.1667060
- [2] Saurabh Srivastava, Sumit Gulwani et Jeffrey S. Foster, De la vérification du programme à la synthèse du programme , ACM SIGPLAN Notices 45 , 313–326, 2010. http://doi.acm.org/10.1145/1707801.1706337
Modifier:Le genre de réponse que j'avais en tête est semblable à celles de Scott et Matus. Comme Kaveh l'a suggéré, il s'agit d'un triple de ce que les gens voulaient prouver (mais ce n'était pas forcément inattendu par des arguments "physiques", "de la main" ou "intuitifs"), une preuve et des conséquences pour le "problème sous-jacent" suivi de cette preuve qui n’était pas anticipée (peut-être que créer une preuve nécessitait de nouvelles idées inattendues, ou conduisait naturellement à un algorithme, ou changeait la façon dont nous pensons au sujet). Les techniques développées tout en développant des preuves sont les éléments constitutifs de l'informatique théorique. Par conséquent, pour conserver la valeur de cette question quelque peu subjective, il serait intéressant de se concentrer sur l'expérience personnelle, telle que celle fournie par Scott, ou sur un argument étayé par des références, comme Matus l'a fait. De plus, je m essayer d’éviter les disputes sur la question de savoir si quelque chose est admissible ou non; malheureusement, la nature de la question peut être intrinsèquement problématique.
Nous avons déjà une question sur les résultats "surprenants" dans la complexité: Résultats surprenants dans la complexité (pas dans la liste des blogs sur la complexité), donc, idéalement, je cherche des réponses qui se concentrent sur la valeur des preuves rigoureuses , pas nécessairement sur la taille de la percée.