00001 00027 typedef struct Natnum *Natnum_t; 00028 00029 struct Natnum{ 00030 Natnum_t s; 00031 }; 00032 00033 00039 extern Natnum_t Z(); 00040 00046 extern Natnum_t S(const Natnum_t n); 00047 00053 extern Natnum_t itsum(const Natnum_t, const Natnum_t); 00054 00060 extern Natnum_t recsum(const Natnum_t, const Natnum_t); 00061 00066 extern Natnum_t loopsum(const Natnum_t, const Natnum_t); 00067 00070 extern const Natnum_t pred(const Natnum_t); 00071 00074 extern int Zeq(Natnum_t ); 00075 00076 00079 extern int eq(Natnum_t, Natnum_t ); 00080 00083 extern unsigned nn2uns(Natnum_t ); 00084 00087 extern Natnum_t uns2nn(unsigned ); 00088 00089 00090 00091 00092