

#include "BUILTIN.h"

#include "Nat.h"
extern OBJ _AIde_14(OBJ,OBJ);extern OBJ __AIde_14;

#include "Char.h"

#include "Int.h"
extern OBJ _ASetByBST_21(OBJ,OBJ);extern OBJ __ASetByBST_21;
extern OBJ _ASetByBST_41(OBJ,OBJ,OBJ);extern OBJ __ASetByBST_41;
extern OBJ _ASetByBST_43(OBJ,OBJ,OBJ);extern OBJ __ASetByBST_43;
extern OBJ _ASetByBST_44(OBJ,OBJ,OBJ);extern OBJ __ASetByBST_44;
extern OBJ _ASetByBST_46(OBJ,OBJ,OBJ);extern OBJ __ASetByBST_46;
extern OBJ _ASetByBST_47(OBJ,OBJ,OBJ);extern OBJ __ASetByBST_47;
extern OBJ _ASetByBST_48(OBJ,OBJ,OBJ);extern OBJ __ASetByBST_48;
extern OBJ _ASetByBSTFilter_3(OBJ,OBJ,OBJ);extern OBJ __ASetByBSTFilter_3;
extern OBJ _ASetByBSTConv_7(OBJ,OBJ);extern OBJ __ASetByBSTConv_7;
extern OBJ _ABSTree_11(OBJ,OBJ);extern OBJ __ABSTree_11;
extern OBJ _ABSTree_34(OBJ,OBJ);extern OBJ __ABSTree_34;
extern OBJ _ABSTree_38(OBJ,OBJ,OBJ);extern OBJ __ABSTree_38;
extern OBJ _ABSTree_39(OBJ,OBJ,OBJ);extern OBJ __ABSTree_39;
extern OBJ _ABSTree_57(OBJ,OBJ,OBJ);extern OBJ __ABSTree_57;
extern OBJ _ABSTree_58(OBJ,OBJ,OBJ);extern OBJ __ABSTree_58;
extern OBJ _ABSTree_61(OBJ,OBJ,OBJ);extern OBJ __ABSTree_61;
extern OBJ __ATree_7;
extern OBJ _ABSTreeConv_7(OBJ,OBJ);extern OBJ __ABSTreeConv_7;
OBJ __AIdeSet_2; /* {} */
extern OBJ _AIdeSet_3(OBJ);OBJ __AIdeSet_3; /* {}? */
extern OBJ _AIdeSet_4(OBJ,OBJ);OBJ __AIdeSet_4; /* incl */
extern OBJ _AIdeSet_5(OBJ,OBJ);OBJ __AIdeSet_5; /* excl */
extern OBJ _AIdeSet_6(OBJ,OBJ);OBJ __AIdeSet_6; /* in */
extern OBJ _AIdeSet_7(OBJ,OBJ);OBJ __AIdeSet_7; /* + */
extern OBJ _AIdeSet_8(OBJ,OBJ);OBJ __AIdeSet_8; /* - */
extern OBJ _AIdeSet_9(OBJ,OBJ);OBJ __AIdeSet_9; /* * */
extern OBJ _AIdeSet_10(OBJ);OBJ __AIdeSet_10; /* % */
extern OBJ _AIdeSet_11(OBJ);OBJ __AIdeSet_11; /* arb */
extern TUP2 _AIdeSet_12(OBJ);OBJ __AIdeSet_12; /* arbex */
extern OBJ _AIdeSet_13(OBJ);OBJ __AIdeSet_13; /* # */
extern OBJ _AIdeSet_14(OBJ,OBJ);OBJ __AIdeSet_14; /* = */
extern OBJ _AIdeSet_15(OBJ,OBJ);OBJ __AIdeSet_15; /* <= */
extern OBJ _AIdeSet_16(OBJ,OBJ);OBJ __AIdeSet_16; /* < */
extern TUP3 _AIdeSet_17(OBJ,OBJ);OBJ __AIdeSet_17; /* *- */
extern OBJ _AIdeSet_18(OBJ,OBJ);OBJ __AIdeSet_18; /* | */
extern OBJ _AIdeSet_19(OBJ,OBJ);OBJ __AIdeSet_19; /* forall? */
extern OBJ _AIdeSet_20(OBJ,OBJ);OBJ __AIdeSet_20; /* exist? */
extern OBJ _AIdeSet_21(OBJ);OBJ __AIdeSet_21; /* explode */
extern OBJ _AIdeSet_22(OBJ);OBJ __AIdeSet_22; /* implode */
extern OBJ _AIdeSet_23(OBJ);OBJ __AIdeSet_23; /* @ */
extern OBJ _AIdeSet_24(OBJ);OBJ __AIdeSet_24; /* @? */
extern OBJ _AIdeSet_25(OBJ);OBJ __AIdeSet_25; /* ! */

extern OBJ _AIdeSet_3(OBJ x1) /* {}? */
{OBJ r;
 if(ISPRM(x1)){
  r=__ABUILTIN_5;
 }else{
  if(EXPRD(x1,1)){
   DSPRD(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _AIdeSet_4(OBJ x1,OBJ x2) /* incl */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ABSTree_57(__AIde_14,x1,x2);
 return r;}

extern OBJ _AIdeSet_5(OBJ x1,OBJ x2) /* excl */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ABSTree_58(__AIde_14,x1,x2);
 return r;}

extern OBJ _AIdeSet_6(OBJ x1,OBJ x2) /* in */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ABSTree_61(__AIde_14,x1,x2);
 return r;}

extern OBJ _AIdeSet_7(OBJ x1,OBJ x2) /* + */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ASetByBST_41(__AIde_14,x1,x2);
 return r;}

extern OBJ _AIdeSet_8(OBJ x1,OBJ x2) /* - */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ASetByBST_43(__AIde_14,x1,x2);
 return r;}

extern OBJ _AIdeSet_9(OBJ x1,OBJ x2) /* * */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ASetByBST_44(__AIde_14,x1,x2);
 return r;}

extern OBJ _AIdeSet_10(OBJ x1) /* % */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ABSTree_11(__AIde_14,x1);
 return r;}

extern OBJ _AIdeSet_11(OBJ x1) /* arb */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ASetByBST_21(__AIde_14,x1);
 return r;}

extern TUP2 _AIdeSet_12(OBJ x1) /* arbex */
{TUP2 r;
 CPCLS(__AIde_14,2);
 COPY(x1,1);
 r.c1=_ASetByBST_21(__AIde_14,x1);
 CPPRD(r.c1,1);
 r.c2=_ABSTree_58(__AIde_14,r.c1,x1);
 return r;}
extern OBJ _AIdeSet_12_c(OBJ x1) /* arbex */
{OBJ r;
 {TUP2 t=_AIdeSet_12(x1);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AIdeSet_13(OBJ x1) /* # */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ABSTree_34(__AIde_14,x1);
 return r;}

extern OBJ _AIdeSet_14(OBJ x1,OBJ x2) /* = */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ASetByBST_46(__AIde_14,x1,x2);
 return r;}

extern OBJ _AIdeSet_15(OBJ x1,OBJ x2) /* <= */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ASetByBST_48(__AIde_14,x1,x2);
 return r;}

extern OBJ _AIdeSet_16(OBJ x1,OBJ x2) /* < */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ASetByBST_47(__AIde_14,x1,x2);
 return r;}

extern TUP3 _AIdeSet_17(OBJ x1,OBJ x2) /* *- */
{TUP3 r;
 CPCLS(__AIde_14,3);
 COPY(x1,1);
 COPY(x2,1);
 r.c1=_ASetByBST_44(__AIde_14,x1,x2);
 COPY(r.c1,2);
 r.c3=_ASetByBST_43(__AIde_14,x2,r.c1);
 r.c2=_ASetByBST_43(__AIde_14,x1,r.c1);
 return r;}
extern OBJ _AIdeSet_17_c(OBJ x1,OBJ x2) /* *- */
{OBJ r;
 {TUP3 t=_AIdeSet_17(x1,x2);
  PRD1(3,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;
  FLD1(r,3)=t.c3;}
 return r;}

extern OBJ _AIdeSet_18(OBJ x1,OBJ x2) /* | */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ASetByBSTFilter_3(__AIde_14,x1,x2);
 return r;}

extern OBJ _AIdeSet_19(OBJ x1,OBJ x2) /* forall? */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ABSTree_39(__AIde_14,x1,x2);
 return r;}

extern OBJ _AIdeSet_20(OBJ x1,OBJ x2) /* exist? */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ABSTree_38(__AIde_14,x1,x2);
 return r;}

extern OBJ _AIdeSet_21(OBJ x1) /* explode */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ABSTreeConv_7(__AIde_14,x1);
 return r;}

extern OBJ _AIdeSet_22(OBJ x1) /* implode */
{OBJ r;
 CPCLS(__AIde_14,1);
 r=_ASetByBSTConv_7(__AIde_14,x1);
 return r;}

extern OBJ _AIdeSet_23(OBJ x1) /* @ */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AIdeSet_24(OBJ x1) /* @? */
{OBJ r;
 FREE(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AIdeSet_25(OBJ x1) /* ! */
{OBJ r;
 r=x1;
 return r;}


init_AIdeSet()
{
 static int visited=0; if(visited) return; visited=1;
 init_ANat();
 init_ASeq();
 init_AIde();
 init_AFormat();
 init_AString();
 init_ACom();
 init_AStream();
 init_AVoid();
 init_AFmt();
 init_AOption();
 init_AChar();
 init_AFile();
 init_AInt();
 init_ASetByBST();
 init_ASetByBSTFilter();
 init_ASetByBSTConv();
 init_ABSTree();
 init_ATree();
 init_APair();
 init_ABSTreeConv();
 CLS(1,_AIdeSet_25,__AIdeSet_25);
 CLS(1,_AIdeSet_24,__AIdeSet_24);
 CLS(1,_AIdeSet_23,__AIdeSet_23);
 CLS(1,_AIdeSet_22,__AIdeSet_22);
 CLS(1,_AIdeSet_21,__AIdeSet_21);
 CLS(2,_AIdeSet_20,__AIdeSet_20);
 CLS(2,_AIdeSet_19,__AIdeSet_19);
 CLS(2,_AIdeSet_18,__AIdeSet_18);
 CLS(2,_AIdeSet_17_c,__AIdeSet_17);
 CLS(2,_AIdeSet_16,__AIdeSet_16);
 CLS(2,_AIdeSet_15,__AIdeSet_15);
 CLS(2,_AIdeSet_14,__AIdeSet_14);
 CLS(1,_AIdeSet_13,__AIdeSet_13);
 CLS(1,_AIdeSet_12_c,__AIdeSet_12);
 CLS(1,_AIdeSet_11,__AIdeSet_11);
 CLS(1,_AIdeSet_10,__AIdeSet_10);
 CLS(2,_AIdeSet_9,__AIdeSet_9);
 CLS(2,_AIdeSet_8,__AIdeSet_8);
 CLS(2,_AIdeSet_7,__AIdeSet_7);
 CLS(2,_AIdeSet_6,__AIdeSet_6);
 CLS(2,_AIdeSet_5,__AIdeSet_5);
 CLS(2,_AIdeSet_4,__AIdeSet_4);
 CLS(1,_AIdeSet_3,__AIdeSet_3);
 __AIdeSet_2=__ATree_7;}

