Me interesa saber por qué los autores de libros sobre teoría de los lenguajes de programación y teoría de los tipos adoran los números naturales (por ejemplo, J. Mitchell, Fundamentos para los lenguajes de programación y B. Pierce, Tipos y lenguajes de programación). La descripción del cálculo lambda de tipo simple y, en particular, el lenguaje de programación PCF generalmente se basan en Nat's y Bool's. Para las personas que usan y enseñan PL industriales de uso general, es mucho más natural tratar enteros en lugar de naturales. ¿Puedes mencionar algunas buenas razones por las cuales los teóricos de PL prefieren los nat? Además de eso, es un poco menos complicado. ¿Hay alguna razón fundamental o es solo un honor a la tradición?
UPD Para todos esos comentarios sobre la "fundamentalidad" de los naturales: soy bastante consciente de todas esas cosas geniales, pero prefiero ver un ejemplo cuando es realmente vital tener esas propiedades en la teoría de tipos de la teoría de PL. Por ejemplo, la inducción ampliamente mencionada. Cuando tenemos algún tipo de lógica (que simplemente escribe LC es), como la lógica básica de primer orden, realmente utilizamos la inducción, pero la inducción en el árbol de derivación (que también tenemos en lambda).
Mi pregunta básicamente proviene de personas de la industria, que quieren obtener una teoría fundamental de los lenguajes de programación. Solían tener enteros en sus programas y sin argumentos y aplicaciones concretas a la teoría que se estaba estudiando (teoría de tipos en nuestro caso) por qué estudiar idiomas solo con nat, se sienten bastante decepcionados.