Sono interessato al motivo per cui i numeri naturali sono così amati dagli autori di libri sulla teoria dei linguaggi di programmazione e la teoria dei tipi (ad esempio J. Mitchell, Fondamenti per i linguaggi di programmazione e B. Pierce, Tipi e linguaggi di programmazione). La descrizione del semplice lambda-calcolo e in particolare il linguaggio di programmazione PCF si basano solitamente su Nat e Bool. Per le persone che usano e insegnano i PL industriali generici è molto più naturale trattare numeri interi anziché naturali. Puoi citare alcune buone ragioni per cui il teorico del PL preferisce quello di Nat? Inoltre è un po 'meno complicato. Ci sono ragioni fondamentali o è solo un onore la tradizione?
UPD Per tutti quei commenti sulla "fondamentalità" dei naturali: sono abbastanza consapevole di tutte quelle cose interessanti, ma preferirei vedere un esempio quando è veramente vitale avere quelle proprietà nella teoria dei tipi della teoria di PL. Ad esempio induzione ampiamente citata. Quando abbiamo qualsiasi tipo di logica (che è semplicemente il tipo LC), come la logica di base del primo ordine, usiamo davvero l'induzione, ma l'induzione sull'albero di derivazione (che abbiamo anche in lambda).
La mia domanda in sostanza viene da persone del settore, che vogliono acquisire una teoria fondamentale dei linguaggi di programmazione. Avevano numeri interi nei loro programmi e senza argomenti concreti e applicazioni alla teoria studiata (teoria dei tipi nel nostro caso) perché studiare lingue con solo nat, si sentono piuttosto delusi.