Je m'intéresse aux raisons pour lesquelles les nombres naturels sont si appréciés par les auteurs de livres sur la théorie des langages de programmation et la théorie des types (par exemple J. Mitchell, Foundations for Programming Languages et B. Pierce, Types and Programming Languages). La description du lambda-calcul simplement tapé et en particulier du langage de programmation PCF est généralement basée sur Nat et Bool. Pour les personnes qui utilisent et enseignent des PL industriels à usage général, il est beaucoup plus naturel de traiter les entiers plutôt que les naturels. Pouvez-vous mentionner quelques bonnes raisons pour lesquelles le théoricien du PL préfère les nat? En plus c'est un peu moins compliqué. Y a-t-il des raisons fondamentales ou est-ce juste un honneur pour la tradition?
UPD Pour tous ces commentaires sur la «fondamentalité» des naturels: je suis très conscient de toutes ces choses cool, mais je préfère plutôt voir un exemple quand il est vraiment vital d'avoir ces propriétés dans la théorie des types de la théorie de PL. Par exemple, l'induction largement mentionnée. Lorsque nous avons une sorte de logique (qui est simplement de type LC), comme la logique de premier ordre de base, nous utilisons vraiment l'induction - mais l'induction sur l'arbre de dérivation (que nous avons également dans lambda).
Ma question vient essentiellement des gens de l'industrie, qui veulent acquérir une théorie fondamentale des langages de programmation. Ils avaient l'habitude d'avoir des entiers dans leurs programmes et sans arguments concrets et applications à la théorie étudiée (théorie des types dans notre cas) pourquoi étudier les langues avec seulement des nat, ils se sentent assez déçus.