

#ifndef ANat_included
#define ANat_included

#define __ANat_Asucc __ANat_2
#define _ANat_Asucc _ANat_2
#define ANat_2 ANat_Asucc
extern OBJ __ANat_Asucc;
extern OBJ _ANat_Asucc(OBJ);

#define __ANat_Asucc_ __ANat_3
#define _ANat_Asucc_ _ANat_3
#define ANat_3 ANat_Asucc_
extern OBJ __ANat_Asucc_;
extern OBJ _ANat_Asucc_(OBJ);

#define __ANat_Apred __ANat_4
#define _ANat_Apred _ANat_4
#define ANat_4 ANat_Apred
extern OBJ __ANat_Apred;
extern OBJ _ANat_Apred(OBJ);

#define __ANat_A0 __ANat_5
extern OBJ __ANat_A0;

#define __ANat_A0_ __ANat_6
#define _ANat_A0_ _ANat_6
#define ANat_6 ANat_A0_
extern OBJ __ANat_A0_;
extern OBJ _ANat_A0_(OBJ);

#define __ANat_A1 __ANat_8
extern OBJ __ANat_A1;

#define __ANat_A2 __ANat_9
extern OBJ __ANat_A2;

#define __ANat_A3 __ANat_10
extern OBJ __ANat_A3;

#define __ANat_A4 __ANat_11
extern OBJ __ANat_A4;

#define __ANat_A5 __ANat_12
extern OBJ __ANat_A5;

#define __ANat_A6 __ANat_13
extern OBJ __ANat_A6;

#define __ANat_A7 __ANat_14
extern OBJ __ANat_A7;

#define __ANat_A8 __ANat_15
extern OBJ __ANat_A8;

#define __ANat_A9 __ANat_16
extern OBJ __ANat_A9;

#define __ANat_A10 __ANat_17
extern OBJ __ANat_A10;

#define __ANat_A11 __ANat_18
extern OBJ __ANat_A11;

#define __ANat_A12 __ANat_19
extern OBJ __ANat_A12;

#define __ANat_A13 __ANat_20
extern OBJ __ANat_A13;

#define __ANat_A14 __ANat_21
extern OBJ __ANat_A14;

#define __ANat_A15 __ANat_22
extern OBJ __ANat_A15;

#define __ANat_A16 __ANat_23
extern OBJ __ANat_A16;

#define __ANat_A17 __ANat_24
extern OBJ __ANat_A17;

#define __ANat_A18 __ANat_25
extern OBJ __ANat_A18;

#define __ANat_A19 __ANat_26
extern OBJ __ANat_A19;

#define __ANat_A20 __ANat_27
extern OBJ __ANat_A20;

#define __ANat_A21 __ANat_28
extern OBJ __ANat_A21;

#define __ANat_A22 __ANat_29
extern OBJ __ANat_A22;

#define __ANat_A23 __ANat_30
extern OBJ __ANat_A23;

#define __ANat_A24 __ANat_31
extern OBJ __ANat_A24;

#define __ANat_A25 __ANat_32
extern OBJ __ANat_A25;

#define __ANat_A26 __ANat_33
extern OBJ __ANat_A26;

#define __ANat_A27 __ANat_34
extern OBJ __ANat_A27;

#define __ANat_A28 __ANat_35
extern OBJ __ANat_A28;

#define __ANat_A29 __ANat_36
extern OBJ __ANat_A29;

#define __ANat_A30 __ANat_37
extern OBJ __ANat_A30;

#define __ANat_A31 __ANat_38
extern OBJ __ANat_A31;

#define __ANat_A32 __ANat_39
extern OBJ __ANat_A32;

#define __ANat_A64 __ANat_46
extern OBJ __ANat_A64;

#define __ANat_A128 __ANat_47
extern OBJ __ANat_A128;

#define __ANat_A256 __ANat_48
extern OBJ __ANat_A256;

#define __ANat_A512 __ANat_49
extern OBJ __ANat_A512;

#define __ANat_A1024 __ANat_50
extern OBJ __ANat_A1024;

#define __ANat_A100 __ANat_53
extern OBJ __ANat_A100;

#define __ANat_A1000 __ANat_54
extern OBJ __ANat_A1000;

#define __ANat_A10000 __ANat_55
extern OBJ __ANat_A10000;

#define __ANat_A100000 __ANat_56
extern OBJ __ANat_A100000;

#define __ANat_A1000000 __ANat_57
extern OBJ __ANat_A1000000;

#define __ANat_Amin __ANat_58
extern OBJ __ANat_Amin;

#define __ANat_Amax __ANat_59
extern OBJ __ANat_Amax;

#define __ANat_S1 __ANat_60
#define _ANat_S1 _ANat_60
#define ANat_60 ANat_S1
extern OBJ __ANat_S1;
extern OBJ _ANat_S1(OBJ);

#define __ANat_Sp __ANat_61
#define _ANat_Sp _ANat_61
#define ANat_61 ANat_Sp
extern OBJ __ANat_Sp;
extern OBJ _ANat_Sp(OBJ,OBJ);

#define __ANat_Sm __ANat_62
#define _ANat_Sm _ANat_62
#define ANat_62 ANat_Sm
extern OBJ __ANat_Sm;
extern OBJ _ANat_Sm(OBJ,OBJ);

#define __ANat_S8 __ANat_63
#define _ANat_S8 _ANat_63
#define ANat_63 ANat_S8
extern OBJ __ANat_S8;
extern OBJ _ANat_S8(OBJ,OBJ);

#define __ANat_Ss __ANat_64
#define _ANat_Ss _ANat_64
#define ANat_64 ANat_Ss
extern OBJ __ANat_Ss;
extern OBJ _ANat_Ss(OBJ,OBJ);

#define __ANat_Adiv __ANat_65
#define _ANat_Adiv _ANat_65
#define ANat_65 ANat_Adiv
extern OBJ __ANat_Adiv;
extern OBJ _ANat_Adiv(OBJ,OBJ);

#define __ANat_S5 __ANat_66
#define _ANat_S5 _ANat_66
#define ANat_66 ANat_S5
extern OBJ __ANat_S5;
extern OBJ _ANat_S5(OBJ,OBJ);

#define __ANat_Amod __ANat_67
#define _ANat_Amod _ANat_67
#define ANat_67 ANat_Amod
extern OBJ __ANat_Amod;
extern OBJ _ANat_Amod(OBJ,OBJ);

#define __ANat_S6 __ANat_68
#define _ANat_S6 _ANat_68
#define ANat_68 ANat_S6
extern OBJ __ANat_S6;
extern OBJ _ANat_S6(OBJ,OBJ);

#define __ANat_Apow __ANat_69
#define _ANat_Apow _ANat_69
#define ANat_69 ANat_Apow
extern OBJ __ANat_Apow;
extern OBJ _ANat_Apow(OBJ,OBJ);

#define __ANat_Adouble __ANat_70
#define _ANat_Adouble _ANat_70
#define ANat_70 ANat_Adouble
extern OBJ __ANat_Adouble;
extern OBJ _ANat_Adouble(OBJ);

#define __ANat_Ahalf __ANat_71
#define _ANat_Ahalf _ANat_71
#define ANat_71 ANat_Ahalf
extern OBJ __ANat_Ahalf;
extern OBJ _ANat_Ahalf(OBJ);

#define __ANat_Amin_O1 __ANat_72
#define _ANat_Amin_O1 _ANat_72
#define ANat_72 ANat_Amin_O1
extern OBJ __ANat_Amin_O1;
extern OBJ _ANat_Amin_O1(OBJ,OBJ);

#define __ANat_Amax_O1 __ANat_73
#define _ANat_Amax_O1 _ANat_73
#define ANat_73 ANat_Amax_O1
extern OBJ __ANat_Amax_O1;
extern OBJ _ANat_Amax_O1(OBJ,OBJ);

#define __ANat_Aeven_ __ANat_74
#define _ANat_Aeven_ _ANat_74
#define ANat_74 ANat_Aeven_
extern OBJ __ANat_Aeven_;
extern OBJ _ANat_Aeven_(OBJ);

#define __ANat_Aodd_ __ANat_75
#define _ANat_Aodd_ _ANat_75
#define ANat_75 ANat_Aodd_
extern OBJ __ANat_Aodd_;
extern OBJ _ANat_Aodd_(OBJ);

#define __ANat_Se __ANat_76
#define _ANat_Se _ANat_76
#define ANat_76 ANat_Se
extern OBJ __ANat_Se;
extern OBJ _ANat_Se(OBJ,OBJ);

#define __ANat_SSe __ANat_77
#define _ANat_SSe _ANat_77
#define ANat_77 ANat_SSe
extern OBJ __ANat_SSe;
extern OBJ _ANat_SSe(OBJ,OBJ);

#define __ANat_Sle __ANat_78
#define _ANat_Sle _ANat_78
#define ANat_78 ANat_Sle
extern OBJ __ANat_Sle;
extern OBJ _ANat_Sle(OBJ,OBJ);

#define __ANat_Sge __ANat_79
#define _ANat_Sge _ANat_79
#define ANat_79 ANat_Sge
extern OBJ __ANat_Sge;
extern OBJ _ANat_Sge(OBJ,OBJ);

#define __ANat_Sl __ANat_80
#define _ANat_Sl _ANat_80
#define ANat_80 ANat_Sl
extern OBJ __ANat_Sl;
extern OBJ _ANat_Sl(OBJ,OBJ);

#define __ANat_Sg __ANat_81
#define _ANat_Sg _ANat_81
#define ANat_81 ANat_Sg
extern OBJ __ANat_Sg;
extern OBJ _ANat_Sg(OBJ,OBJ);

#define __ANat_Aprimitive __ANat_82
extern OBJ __ANat_Aprimitive;

#define __ANat_Aprimitive_ __ANat_83
#define _ANat_Aprimitive_ _ANat_83
#define ANat_83 ANat_Aprimitive_
extern OBJ __ANat_Aprimitive_;
extern OBJ _ANat_Aprimitive_(OBJ);

#define __ANat_AuncheckedSucc __ANat_84
#define _ANat_AuncheckedSucc _ANat_84
#define ANat_84 ANat_AuncheckedSucc
extern OBJ __ANat_AuncheckedSucc;
extern OBJ _ANat_AuncheckedSucc(OBJ);

#define __ANat_AuncheckedPred __ANat_85
#define _ANat_AuncheckedPred _ANat_85
#define ANat_85 ANat_AuncheckedPred
extern OBJ __ANat_AuncheckedPred;
extern OBJ _ANat_AuncheckedPred(OBJ);

#define __ANat_AuncheckedAdd __ANat_86
#define _ANat_AuncheckedAdd _ANat_86
#define ANat_86 ANat_AuncheckedAdd
extern OBJ __ANat_AuncheckedAdd;
extern OBJ _ANat_AuncheckedAdd(OBJ,OBJ);

#define __ANat_AuncheckedSub __ANat_87
#define _ANat_AuncheckedSub _ANat_87
#define ANat_87 ANat_AuncheckedSub
extern OBJ __ANat_AuncheckedSub;
extern OBJ _ANat_AuncheckedSub(OBJ,OBJ);

#define __ANat_AuncheckedMul __ANat_88
#define _ANat_AuncheckedMul _ANat_88
#define ANat_88 ANat_AuncheckedMul
extern OBJ __ANat_AuncheckedMul;
extern OBJ _ANat_AuncheckedMul(OBJ,OBJ);

#define __ANat_AuncheckedDiv __ANat_89
#define _ANat_AuncheckedDiv _ANat_89
#define ANat_89 ANat_AuncheckedDiv
extern OBJ __ANat_AuncheckedDiv;
extern OBJ _ANat_AuncheckedDiv(OBJ,OBJ);

#define __ANat_AuncheckedMod __ANat_90
#define _ANat_AuncheckedMod _ANat_90
#define ANat_90 ANat_AuncheckedMod
extern OBJ __ANat_AuncheckedMod;
extern OBJ _ANat_AuncheckedMod(OBJ,OBJ);

#include "Nat.hc.h"

#ifndef ANat_Asucc
#define ANat_Asucc(x1,x3) {x3=_ANat_Asucc(x1);}
#endif

#ifndef ANat_Asucc_
#define ANat_Asucc_(x1,x2) {x2=_ANat_Asucc_(x1);}
#endif

#ifndef ANat_Apred
#define ANat_Apred(x1,x3) {x3=_ANat_Apred(x1);}
#endif

#ifndef ANat_A0_
#define ANat_A0_(x1,x2) {x2=_ANat_A0_(x1);}
#endif

#ifndef ANat_S1
#define ANat_S1(x1,x2) {x2=_ANat_S1(x1);}
#endif

#ifndef ANat_Sp
#define ANat_Sp(x1,x2,x5) {x5=_ANat_Sp(x1,x2);}
#endif

#ifndef ANat_Sm
#define ANat_Sm(x1,x2,x4) {x4=_ANat_Sm(x1,x2);}
#endif

#ifndef ANat_S8
#define ANat_S8(x1,x2,x6) {x6=_ANat_S8(x1,x2);}
#endif

#ifndef ANat_Ss
#define ANat_Ss(x1,x2,x4) {x4=_ANat_Ss(x1,x2);}
#endif

#ifndef ANat_Adiv
#define ANat_Adiv(x1,x2,x4) {x4=_ANat_Adiv(x1,x2);}
#endif

#ifndef ANat_S5
#define ANat_S5(x1,x2,x4) {x4=_ANat_S5(x1,x2);}
#endif

#ifndef ANat_Amod
#define ANat_Amod(x1,x2,x4) {x4=_ANat_Amod(x1,x2);}
#endif

#ifndef ANat_S6
#define ANat_S6(x1,x2,x3) {x3=_ANat_S6(x1,x2);}
#endif

#ifndef ANat_Apow
#define ANat_Apow(x1,x2,x3) {x3=_ANat_Apow(x1,x2);}
#endif

#ifndef ANat_Adouble
#define ANat_Adouble(x1,x4) {x4=_ANat_Adouble(x1);}
#endif

#ifndef ANat_Ahalf
#define ANat_Ahalf(x1,x2) {x2=_ANat_Ahalf(x1);}
#endif

#ifndef ANat_Amin_O1
#define ANat_Amin_O1(x1,x2,x4) {x4=_ANat_Amin_O1(x1,x2);}
#endif

#ifndef ANat_Amax_O1
#define ANat_Amax_O1(x1,x2,x4) {x4=_ANat_Amax_O1(x1,x2);}
#endif

#ifndef ANat_Aeven_
#define ANat_Aeven_(x1,x2) {x2=_ANat_Aeven_(x1);}
#endif

#ifndef ANat_Aodd_
#define ANat_Aodd_(x1,x2) {x2=_ANat_Aodd_(x1);}
#endif

#ifndef ANat_Se
#define ANat_Se(x1,x2,x3) {x3=_ANat_Se(x1,x2);}
#endif

#ifndef ANat_SSe
#define ANat_SSe(x1,x2,x3) {x3=_ANat_SSe(x1,x2);}
#endif

#ifndef ANat_Sle
#define ANat_Sle(x1,x2,x3) {x3=_ANat_Sle(x1,x2);}
#endif

#ifndef ANat_Sge
#define ANat_Sge(x1,x2,x3) {x3=_ANat_Sge(x1,x2);}
#endif

#ifndef ANat_Sl
#define ANat_Sl(x1,x2,x3) {x3=_ANat_Sl(x1,x2);}
#endif

#ifndef ANat_Sg
#define ANat_Sg(x1,x2,x3) {x3=_ANat_Sg(x1,x2);}
#endif

#ifndef ANat_Aprimitive_
#define ANat_Aprimitive_(x1,x2) {x2=_ANat_Aprimitive_(x1);}
#endif

#ifndef ANat_AuncheckedSucc
#define ANat_AuncheckedSucc(x1,x2) {x2=_ANat_AuncheckedSucc(x1);}
#endif

#ifndef ANat_AuncheckedPred
#define ANat_AuncheckedPred(x1,x2) {x2=_ANat_AuncheckedPred(x1);}
#endif

#ifndef ANat_AuncheckedAdd
#define ANat_AuncheckedAdd(x1,x2,x3) {x3=_ANat_AuncheckedAdd(x1,x2);}
#endif

#ifndef ANat_AuncheckedSub
#define ANat_AuncheckedSub(x1,x2,x3) {x3=_ANat_AuncheckedSub(x1,x2);}
#endif

#ifndef ANat_AuncheckedMul
#define ANat_AuncheckedMul(x1,x2,x3) {x3=_ANat_AuncheckedMul(x1,x2);}
#endif

#ifndef ANat_AuncheckedDiv
#define ANat_AuncheckedDiv(x1,x2,x3) {x3=_ANat_AuncheckedDiv(x1,x2);}
#endif

#ifndef ANat_AuncheckedMod
#define ANat_AuncheckedMod(x1,x2,x3) {x3=_ANat_AuncheckedMod(x1,x2);}
#endif

#endif
