

#include "BUILTIN.h"
extern OBJ _ABSTree_19(OBJ,OBJ,OBJ);extern OBJ __ABSTree_19;
extern OBJ __ATree_7;
extern OBJ __ASeq_6;
extern OBJ _AString_2(OBJ,OBJ);extern OBJ __AString_2;

#include "Nat.h"

#include "Char.h"
extern OBJ _APair_5(OBJ);extern OBJ __APair_5;
extern OBJ _ATreeMap_3(OBJ,OBJ);extern OBJ __ATreeMap_3;
extern OBJ _ATreeConv_2(OBJ,OBJ);extern OBJ __ATreeConv_2;
extern OBJ _ATreeConv_3(OBJ,OBJ);extern OBJ __ATreeConv_3;
extern OBJ _ATreeConv_4(OBJ,OBJ);extern OBJ __ATreeConv_4;
extern OBJ _ATreeConv_5(OBJ,OBJ);extern OBJ __ATreeConv_5;
extern OBJ _ATreeConv_9(OBJ);extern OBJ __ATreeConv_9;
extern OBJ _ATreeConv_38(OBJ,OBJ);extern OBJ __ATreeConv_38;
extern OBJ _ATreeConv_39(OBJ,OBJ);extern OBJ __ATreeConv_39;
extern OBJ _ATreeConv_40(OBJ,OBJ);extern OBJ __ATreeConv_40;

#include "Denotation.h"
extern OBJ __APrintableChar_44;
extern OBJ __APrintableChar_61;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;

#include "Int.h"
extern OBJ _ABSTreeConv_3(OBJ,OBJ,OBJ);OBJ __ABSTreeConv_3; /* ` */
extern OBJ _ABSTreeConv_4(OBJ,OBJ,OBJ);OBJ __ABSTreeConv_4; /* `,1 */
extern OBJ _ABSTreeConv_5(OBJ,OBJ,OBJ);OBJ __ABSTreeConv_5; /* graphic */
extern OBJ _ABSTreeConv_6(OBJ,OBJ,OBJ);OBJ __ABSTreeConv_6; /* graphic,1 */
extern OBJ _ABSTreeConv_7(OBJ,OBJ);OBJ __ABSTreeConv_7; /* asSeqIn */
extern OBJ _ABSTreeConv_8(OBJ,OBJ);OBJ __ABSTreeConv_8; /* asSeqPre */
extern OBJ _ABSTreeConv_9(OBJ,OBJ);OBJ __ABSTreeConv_9; /* asSeqPost */
extern OBJ _ABSTreeConv_10(OBJ,OBJ);OBJ __ABSTreeConv_10; /* asSeqBreadth */
extern OBJ _ABSTreeConv_11(OBJ,OBJ);OBJ __ABSTreeConv_11; /* asBSTree */
extern OBJ _ABSTreeConv_12(OBJ,OBJ);OBJ __ABSTreeConv_12; /* asTree */
OBJ __ABSTreeConv_13; /* `'13 */

extern OBJ _ABSTreeConv_3(OBJ x1,OBJ x2,OBJ x3) /* ` */
{OBJ r;
 CPPRD(__ABSTreeConv_13,1);
 CPCLS(__APair_5,1);
 FRCLS(x1,1);
 {OBJ x4;OBJ x5;
  x4=_ATreeMap_3(__APair_5,x3);
  x5=_ATreeConv_2(x2,x4);
  ADenotation_4(__ABSTreeConv_13,x5,r);}
 return r;}

extern OBJ _ABSTreeConv_4(OBJ x1,OBJ x2,OBJ x3) /* `,1 */
{OBJ r;
 CPCLS(__APair_5,1);
 FRCLS(x1,1);
 {OBJ x4;OBJ x5;OBJ x6;
  x4=_ATreeMap_3(__APair_5,x3);
  x5=_ATreeConv_3(x2,x4);
  x6=_AString_2(__APrintableChar_61,x5);
  r=_AString_2(__APrintableChar_44,x6);}
 return r;}

extern OBJ _ABSTreeConv_5(OBJ x1,OBJ x2,OBJ x3) /* graphic */
{OBJ r;
 CPCLS(__APair_5,1);
 FRCLS(x1,1);
 {OBJ x4;
  x4=_ATreeMap_3(__APair_5,x3);
  r=_ATreeConv_4(x2,x4);}
 return r;}

extern OBJ _ABSTreeConv_6(OBJ x1,OBJ x2,OBJ x3) /* graphic,1 */
{OBJ r;
 CPCLS(__APair_5,1);
 FRCLS(x1,1);
 {OBJ x4;
  x4=_ATreeMap_3(__APair_5,x3);
  r=_ATreeConv_5(x2,x4);}
 return r;}

extern OBJ _ABSTreeConv_7(OBJ x1,OBJ x2) /* asSeqIn */
{OBJ r;
 CPCLS(__APair_5,1);
 FRCLS(x1,1);
 {OBJ x3;
  x3=_ATreeConv_38(x2,__ASeq_6);
  r=_ASeqMap_3(__APair_5,x3);}
 return r;}

extern OBJ _ABSTreeConv_8(OBJ x1,OBJ x2) /* asSeqPre */
{OBJ r;
 CPCLS(__APair_5,1);
 FRCLS(x1,1);
 {OBJ x3;
  x3=_ATreeConv_39(x2,__ASeq_6);
  r=_ASeqMap_3(__APair_5,x3);}
 return r;}

extern OBJ _ABSTreeConv_9(OBJ x1,OBJ x2) /* asSeqPost */
{OBJ r;
 CPCLS(__APair_5,1);
 FRCLS(x1,1);
 {OBJ x3;
  x3=_ATreeConv_40(x2,__ASeq_6);
  r=_ASeqMap_3(__APair_5,x3);}
 return r;}

extern OBJ _ABSTreeConv_10(OBJ x1,OBJ x2) /* asSeqBreadth */
{OBJ r;
 CPCLS(__APair_5,1);
 FRCLS(x1,1);
 {OBJ x3;
  x3=_ATreeMap_3(__APair_5,x2);
  r=_ATreeConv_9(x3);}
 return r;}

extern OBJ _ABSTreeConv_11(OBJ x1,OBJ x2) /* asBSTree */
{OBJ r;
 CPCLS(__ABSTree_19,1);
 {OBJ x3;OBJ x4;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__ABSTree_19,1))(__ABSTree_19,x1);
  x4=_ATreeConv_40(x2,__ASeq_6);
  r=_ASeqReduce_3(x3,__ATree_7,x4);}
 return r;}

extern OBJ _ABSTreeConv_12(OBJ x1,OBJ x2) /* asTree */
{OBJ r;
 CPCLS(__APair_5,1);
 FRCLS(x1,1);
 r=_ATreeMap_3(__APair_5,x2);
 return r;}

static OBJ _mt_3_1_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  r=t;
 }else{
  DPCLS(t,r);
  FLDCLS(r,1)=FLDCLS(t,1);
  COPY(FLDCLS(r,1),1);}
 INCCLS(r,1,1);
 FLDCLS(r,2)=t1;
 return r;}

init_ABSTreeConv()
{
 static int visited=0; if(visited) return; visited=1;
 init_ABSTree();
 init_ATree();
 init_ASeq();
 init_AString();
 init_ANat();
 init_AChar();
 init_AOption();
 init_APair();
 init_ATreeMap();
 init_ATreeConv();
 init_ADenotation();
 init_APrintableChar();
 init_ASeqMap();
 init_ASeqReduce();
 init_ARelCmp();
 init_AInt();
 DEN("BS",__ABSTreeConv_13);
 CLS(2,_ABSTreeConv_12,__ABSTreeConv_12);
 CLS(2,_ABSTreeConv_11,__ABSTreeConv_11);
 CLS(2,_ABSTreeConv_10,__ABSTreeConv_10);
 CLS(2,_ABSTreeConv_9,__ABSTreeConv_9);
 CLS(2,_ABSTreeConv_8,__ABSTreeConv_8);
 CLS(2,_ABSTreeConv_7,__ABSTreeConv_7);
 CLS(3,_ABSTreeConv_6,__ABSTreeConv_6);
 CLS(3,_ABSTreeConv_5,__ABSTreeConv_5);
 CLS(3,_ABSTreeConv_4,__ABSTreeConv_4);
 CLS(3,_ABSTreeConv_3,__ABSTreeConv_3);
 MTH(3,1,1,_mt_3_1_1);LZYMTH(3,1,1,_mt_3_1_1);}

