

#include "BUILTIN.h"

#include "Nat.h"
extern OBJ _AMapReduce_6(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMapReduce_6;
extern OBJ _ACAST_3(OBJ);extern OBJ __ACAST_3;
extern OBJ _ARelReduce_7(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ARelReduce_7; /* / */
extern OBJ _ARelReduce_8(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ARelReduce_8; /* /'8 */
extern OBJ _ARelReduce_9(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __ARelReduce_9; /* /'9 */

extern OBJ _ARelReduce_7(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* / */
{OBJ r;
 CPCLS(__ARelReduce_9,1);
 {OBJ x6;OBJ x7;
  x6=_ACAST_3(x5);
  x7=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ARelReduce_9,2))(__ARelReduce_9,x2,x3);
  r=_AMapReduce_6(x1,x7,x4,x6);}
 return r;}

extern OBJ _ARelReduce_8(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* /'8 */
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(x1,4))(x1,x2,x3,x4,x5);
 return r;}

extern OBJ _ARelReduce_9(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* /'9 */
{OBJ r;
 CPCLS(__ARelReduce_8,1);
 {OBJ x6;
  x6=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ARelReduce_8,2))(__ARelReduce_8,x2,x3);
  r=_AMapReduce_6(x1,x6,x5,x4);}
 return r;}

init_ARelReduce()
{
 static int visited=0; if(visited) return; visited=1;
 init_ARel();
 init_ASet();
 init_APair();
 init_ATriple();
 init_AOption();
 init_ASeq();
 init_ANat();
 init_ARelNotForUserPurpose();
 init_AMap();
 init_AMapReduce();
 init_AMapFilter();
 init_ASetByBST();
 init_ABSTree();
 init_ATree();
 init_ACAST();
 CLS(5,_ARelReduce_9,__ARelReduce_9);
 CLS(5,_ARelReduce_8,__ARelReduce_8);
 CLS(5,_ARelReduce_7,__ARelReduce_7);}

