------------------------------------------------------------------------------- I *numerali*----da non confondersi con i numeri naturali--- formano la famiglia NN di espressioni simboliche tale che: 1) l'espressione costituita dal solo simbolo 0 appartiene ad NN; 2) appartiene ad NN ogni espressione della forma s(X), dove X sta in NN; 3) nulla che non ricada sotto una delle precedenti clausole 1), 2) è da considerarsi elemento di NN. [La 3), chiamata ipotesi di mondo chiuso, generalmente rimane sottintesa] ------------------------------------------------------------------------------- NN = {0, s(0), s(s(0)), s(s(s(0))),...}. [Ecco qui una descrizione piú svelta e forse piú intuitiva] Osservazione: Non stanno in NN né l'espressione s(3) né s(X). ------------------------------------------------------------------------------- [Seguono caratterizzazioni 'grammaticali' della stessa famiglia di espressioni] In notazione Backus Naur *estesa*: NN ::= '0' | 's' '(' NN ')' O anche, in notazione piú arcaica (che risale a Thue/Post): NN ::= '0' NN ::= 's' '(' NN ')' [Segue ora una caratterizzazion della stessa famiglia di espressioni, data in termini di clausole di Horn] ------------------------------------------------------------------------------- Tramite clausole di Horn (vedi linguaggio di programmazione Prolog), potrei specificare NN come segue: nn(0). nn(s(X)) :- num(X). -------------------------------------------------------------------------------