

#include "BUILTIN.h"
extern OBJ _AAbsyFun2_3(OBJ,OBJ);extern OBJ __AAbsyFun2_3;
extern OBJ _AAbsyFun2_6(OBJ,OBJ,OBJ);extern OBJ __AAbsyFun2_6;
extern OBJ _AAbsyFun2_7(OBJ,OBJ);extern OBJ __AAbsyFun2_7;
extern OBJ __ABoolConv_2;
extern OBJ __ABoolConv_3;
extern OBJ _ACompose_4(OBJ,OBJ,OBJ);extern OBJ __ACompose_4;
extern OBJ _ADEBUG_2(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_2;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;
extern OBJ _AName_11(OBJ);extern OBJ __AName_11;
extern OBJ _AName_12(OBJ);extern OBJ __AName_12;
extern OBJ _AName_31(OBJ,OBJ);extern OBJ __AName_31;
extern OBJ _AName_34(OBJ);extern OBJ __AName_34;

#include "Denotation.h"
extern OBJ __ASeq_6;
extern OBJ _ASeq_40(OBJ,OBJ);extern OBJ __ASeq_40;
extern OBJ _ASeq_44(OBJ,OBJ,OBJ);extern OBJ __ASeq_44;
extern OBJ _AImpDecl4SigAna_1(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_1;
extern OBJ _AImpDecl4SigAna_2(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_2;
extern OBJ _AImpDecl4SigAna_3(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_3;
extern OBJ _AImpDecl4SigAna_4(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_4;
extern OBJ _AImpDecl4SigAna_6(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_6;
extern OBJ _AImpDecl4SigAna_7(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_7;
extern OBJ _AImpDecl4SigAna_21(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_21;
extern OBJ _AImpDecl4SigAna_22(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_22;
extern OBJ _AImpDecl4SigAna_24(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_24;
extern TUP2 _AImpDecl4SigAna_26(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_26;
extern OBJ _AImpDecl4SigAna_50(OBJ,OBJ);extern OBJ __AImpDecl4SigAna_50;
extern OBJ _AImpDecl4SigAna_55(OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_55;
extern OBJ _AImpDecl4SigAna_56(OBJ,OBJ,OBJ,OBJ);extern OBJ __AImpDecl4SigAna_56;
extern OBJ _AImpDecl4SigAna_57(OBJ,OBJ);extern OBJ __AImpDecl4SigAna_57;
extern OBJ _AName4SigAna_4(OBJ,OBJ);extern OBJ __AName4SigAna_4;
extern OBJ _AName4SigAna_5(OBJ,OBJ);extern OBJ __AName4SigAna_5;
extern OBJ _AName4SigAna_8(OBJ,OBJ);extern OBJ __AName4SigAna_8;
extern OBJ _AName4SigAna_10(OBJ,OBJ);extern OBJ __AName4SigAna_10;
extern OBJ _AName4SigAna_11(OBJ,OBJ);extern OBJ __AName4SigAna_11;
extern OBJ _AName4SigAna_14(OBJ,OBJ);extern OBJ __AName4SigAna_14;
extern OBJ _AName4SigAna_19(OBJ,OBJ);extern OBJ __AName4SigAna_19;
extern OBJ _AName4SigAna_20(OBJ,OBJ);extern OBJ __AName4SigAna_20;
extern OBJ _AName4SigAna_22(OBJ,OBJ);extern OBJ __AName4SigAna_22;
extern OBJ _AName4SigAna_35(OBJ,OBJ);extern OBJ __AName4SigAna_35;
extern OBJ _AName4SigAna_43(OBJ,OBJ);extern OBJ __AName4SigAna_43;
extern OBJ _AName4SigAna_47(OBJ,OBJ);extern OBJ __AName4SigAna_47;
extern OBJ _AName4SigAna_49(OBJ,OBJ);extern OBJ __AName4SigAna_49;
extern OBJ _ASeqConv_2(OBJ,OBJ);extern OBJ __ASeqConv_2;

#include "Nat.h"
extern OBJ _ASeqIndex_2(OBJ,OBJ);extern OBJ __ASeqIndex_2;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _ASeqOfSeq_2(OBJ);extern OBJ __ASeqOfSeq_2;

#include "Char.h"
extern OBJ _ASeqZip_4(OBJ,OBJ,OBJ);extern OBJ __ASeqZip_4;
extern OBJ _APartNameEntry_12(OBJ);extern OBJ __APartNameEntry_12;
extern OBJ _APartNameEntry_27(OBJ);extern OBJ __APartNameEntry_27;

#include "Int.h"
extern OBJ __APair_2;

#include "Bitset.h"

#include "Array.h"
extern OBJ _AIsFlatInst_1(OBJ,OBJ,OBJ);OBJ __AIsFlatInst_1; /* isFlatInst */
extern OBJ _AIsFlatInst_2(OBJ,OBJ);OBJ __AIsFlatInst_2; /* instFct */
extern OBJ _AIsFlatInst_4(OBJ,OBJ,OBJ);OBJ __AIsFlatInst_4; /* noMatch */
extern OBJ _AIsFlatInst_5(OBJ,OBJ,OBJ);OBJ __AIsFlatInst_5; /* ~ */
extern OBJ _AIsFlatInst_6(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AIsFlatInst_6; /* eqName */
extern OBJ _AIsFlatInst_7(OBJ,OBJ);OBJ __AIsFlatInst_7; /* hasInst? */
extern OBJ _AIsFlatInst_8(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AIsFlatInst_8; /* eqOwnActParam */
extern OBJ _AIsFlatInst_9(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AIsFlatInst_9; /* eqFun */
extern OBJ _AIsFlatInst_10(OBJ,OBJ,OBJ,OBJ);OBJ __AIsFlatInst_10; /* hh */
extern OBJ _AIsFlatInst_11(OBJ,OBJ,OBJ);OBJ __AIsFlatInst_11; /* = */
extern OBJ _AIsFlatInst_13(OBJ,OBJ,OBJ);OBJ __AIsFlatInst_13; /* instFct,1 */
extern OBJ _AIsFlatInst_14(OBJ);OBJ __AIsFlatInst_14; /* getNames */
extern OBJ _AIsFlatInst_15(OBJ,OBJ,OBJ);OBJ __AIsFlatInst_15; /* ='15 */
extern OBJ _AIsFlatInst_16(OBJ,OBJ,OBJ);OBJ __AIsFlatInst_16; /* ='16 */
OBJ __AIsFlatInst_17; /* eqName'17 */
extern OBJ _AIsFlatInst_18(OBJ);OBJ __AIsFlatInst_18; /* eqName'18 */
OBJ __AIsFlatInst_19; /* eqName'19 */
OBJ __AIsFlatInst_20; /* eqName'20 */
OBJ __AIsFlatInst_21; /* eqName'21 */
OBJ __AIsFlatInst_22; /* eqName'22 */
extern OBJ _AIsFlatInst_23(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AIsFlatInst_23; /* eqName'23 */
extern OBJ _AIsFlatInst_24(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AIsFlatInst_24; /* eqName'24 */
extern OBJ _AIsFlatInst_25(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AIsFlatInst_25; /* eqName'25 */
extern OBJ _AIsFlatInst_26(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AIsFlatInst_26; /* eqName'26 */
extern OBJ _AIsFlatInst_27(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AIsFlatInst_27; /* eqName'27 */
extern OBJ _AIsFlatInst_28(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AIsFlatInst_28; /* eqName'28 */
OBJ __AIsFlatInst_29; /* eqName'29 */
extern OBJ _AIsFlatInst_30(OBJ,OBJ);OBJ __AIsFlatInst_30; /* eqName'30 */
extern OBJ _AIsFlatInst_31(OBJ,OBJ,OBJ,OBJ);OBJ __AIsFlatInst_31; /* instFct,1'31 */
extern OBJ _AIsFlatInst_32(OBJ);OBJ __AIsFlatInst_32; /* noMatch'32 */
extern OBJ _AIsFlatInst_33(OBJ);OBJ __AIsFlatInst_33; /* noMatch'33 */
extern OBJ _AIsFlatInst_34(OBJ,OBJ,OBJ);OBJ __AIsFlatInst_34; /* noMatch'34 */
OBJ __AIsFlatInst_35; /* noMatch'35 */
extern OBJ _AIsFlatInst_36(OBJ,OBJ);OBJ __AIsFlatInst_36; /* noMatch'36 */
extern OBJ _AIsFlatInst_37(OBJ,OBJ);OBJ __AIsFlatInst_37; /* instFct'37 */

extern OBJ _AIsFlatInst_1(OBJ x1,OBJ x2,OBJ x3) /* isFlatInst */
{OBJ r;
 CPCLS(__AIsFlatInst_4,1);
 CPPRD(__APair_2,1);
 COPY(x3,1);
 {OBJ x4;OBJ x5;OBJ x6;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_4,2))(__AIsFlatInst_4,x1,x3);
  x5=_ASeqZip_4(__APair_2,x2,x3);
  x6=_ASeq_40(x4,x5);
  if(ISTGPRM(x6,1)){
   r=__ABUILTIN_3;
  }else{
   r=__ABUILTIN_5;}}
 return r;}

extern OBJ _AIsFlatInst_2(OBJ x1,OBJ x2) /* instFct */
{OBJ r;
 COPY(x2,1);
 {OBJ x3;
  x3=_AName4SigAna_5(x1,x2);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   CPCLS(__AIsFlatInst_37,1);
   {OBJ x12;
    x12=(*(OBJ(*)(OBJ,OBJ))METHOD(__AIsFlatInst_37,1))(__AIsFlatInst_37,x2);
    r=_AAbsyFun2_3(x12,x3);}
  }else{
   r=x3;
   FREE(x2,1);}}
 return r;}

extern OBJ _AIsFlatInst_4(OBJ x1,OBJ x2,OBJ x3) /* noMatch */
{OBJ r;
 {OBJ x25=FLD1(x3,1);OBJ x26=FLD1(x3,2);
  if(EXPRD(x3,1)){
   DSPRDF(x3);
  }else{
   COPY(x25,1);COPY(x26,1);
   FRPRD(x3,1);}
  {OBJ x29;OBJ x27;OBJ x41;
   if(ISPRM(x25)){
    COPY(x1,1);
    COPY(x26,1);
    x29=__ABUILTIN_5;
   }else{
    COPY(x1,1);
    COPY(x26,1);
    x29=__ABUILTIN_3;}
   x27=_AName4SigAna_4(x1,x26);
   if(ISTGPRM(x29,1)){
    x41=x27;
    FREE(x1,1);
    FREE(x2,1);
    FREE(x25,1);
    FREE(x26,1);
   }else{
    if(ISTGPRM(x27,1)){
     FREE(x1,1);
     FREE(x2,1);
     FREE(x25,1);
     FREE(x26,1);
     x41=__ABUILTIN_3;
    }else{
     CPCLS(__AIsFlatInst_32,1);
     {OBJ x30;OBJ x32;OBJ x33;OBJ x34;OBJ x35;OBJ x36;OBJ x37;OBJ x38;OBJ x39;OBJ x40;
      x30=(*(OBJ(*)(OBJ,OBJ))METHOD(__AIsFlatInst_32,1))(__AIsFlatInst_32,__ABUILTIN_20);
      if(ISPRM(x25)){
       HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
      }else{
       {OBJ x31=FLD1(x25,1);
	if(EXPRD(x25,1)){
	 x32=x31;
	 DSPRDF(x25);
	}else{
	 COPY(x31,1);
	 x32=x31;
	 FRPRD(x25,1);}
	COPY(x1,1);
	COPY(x2,1);
	COPY(x26,2);
	CPCLS(__AIsFlatInst_5,1);
	CPCLS(__AIsFlatInst_6,1);
	CPCLS(__AIsFlatInst_33,1);
	CPCLS(__AIsFlatInst_34,1);
	CPCLS(__AIsFlatInst_36,1);}}
      x33=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_34,2))(__AIsFlatInst_34,x2,x26);
      x34=_ADEBUG_2(x30,x33,x2);
      COPY(x34,1);
      x35=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_6,3))(__AIsFlatInst_6,x1,x34,x26);
      x36=_AIsFlatInst_13(x1,x34,x26);
      x37=_AAbsyFun2_7(__AIsFlatInst_33,x36);
      x38=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_5,2))(__AIsFlatInst_5,x35,x32);
      x39=_ASeq_40(x38,x37);
      x40=(*(OBJ(*)(OBJ,OBJ))METHOD(__AIsFlatInst_36,1))(__AIsFlatInst_36,x39);
      x41=_ADEBUG_2(x30,x40,x39);}}}
   if(ISTGPRM(x41,1)){
    r=__ABUILTIN_3;
   }else{
    r=__ABUILTIN_5;}}}
 return r;}

extern OBJ _AIsFlatInst_5(OBJ x1,OBJ x2,OBJ x3) /* ~ */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,4))){
  if(EXPRD(x2,1)){
   DSPRDF(x2);
  }else{
   DCPRD(x2,1);}
  FRCLS(x1,1);
  FREE(x3,1);
  r=__ABUILTIN_5;
 }else{
  r=_AAbsyFun2_6(x1,x2,x3);}
 return r;}

extern OBJ _AIsFlatInst_6(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* eqName */
{OBJ r;
 CPCLS(__AIsFlatInst_18,1);
 {OBJ x6;
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__AIsFlatInst_18,1))(__AIsFlatInst_18,__ABUILTIN_20);
  if(ISPRD(x5)&&(ISTGPRD(x5,4))){
   {OBJ x225=FLD(x5,3);
    {OBJ x249;OBJ x266;OBJ x288;OBJ x297;OBJ x305;OBJ x312;
     if(ISPRD(x4)&&(ISTGPRD(x4,4))){
      x249=__ABUILTIN_5;
     }else{
      x249=__ABUILTIN_3;}
     ANat_4(x225,x266);
     if(ISTGPRM(x249,1)){
      {OBJ x286;OBJ x287;
       if(ISPRD(x4)&&(ISTGPRD(x4,4))){
	{OBJ x284=FLD(x4,3);
	 if(EXPRD(x4,1)){
	  x286=x284;
	  DSPRDF(x4);
	 }else{
	  x286=x284;
	  FRPRD(x4,1);}
	 COPY(x2,1);
	 COPY(x3,1);
	 CPCLS(__AIsFlatInst_23,1);}
       }else{
	if(ISPRD(x4)&&(ISTGPRD(x4,7))){
	 {OBJ x285=FLD(x4,1);
	  if(EXPRD(x4,1)){
	   x286=x285;
	   DSPRDF(x4);
	  }else{
	   x286=x285;
	   FRPRD(x4,1);}
	  COPY(x2,1);
	  COPY(x3,1);
	  CPCLS(__AIsFlatInst_23,1);}
	}else{
	 HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
       ANat_4(x286,x287);
       x288=_ASeqIndex_2(x2,x287);}
     }else{
      COPY(x3,1);
      CPCLS(__AIsFlatInst_23,1);
      x288=x4;}
     COPY(x288,1);
     x297=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_23,4))(__AIsFlatInst_23,x2,x3,x5,x288);
     x305=_ADEBUG_2(x6,x297,x3);
     COPY(x305,1);
     x312=_AName_12(x305);
     if(ISPRD(x305)&&(ISTGPRD(x305,2))){
      {OBJ x315=FLD(x305,3);
       if(EXPRD(x305,1)){
	DSPRDF(x305);
       }else{
	FRPRD(x305,1);}
       CPCLS(__AIsFlatInst_30,1);
       {OBJ x316;OBJ x317;
	x316=_AIsFlatInst_8(x288,x1,x312,x315,x266);
	x317=(*(OBJ(*)(OBJ,OBJ))METHOD(__AIsFlatInst_30,1))(__AIsFlatInst_30,x316);
	r=_ADEBUG_2(x6,x317,x316);}}
     }else{
      HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}}
  }else{
   {OBJ x371;OBJ x372;
    if(ISPRD(x5)&&(ISTGPRD(x5,2))){
     {OBJ x320=FLD(x5,3);
      {OBJ x324;OBJ x331;OBJ x332;
       if(ISPRD(x4)&&(ISTGPRD(x4,4))){
	x324=__ABUILTIN_5;
       }else{
	x324=__ABUILTIN_3;}
       if(ISTGPRM(x324,1)){
	{OBJ x329;OBJ x330;
	 if(ISPRD(x4)&&(ISTGPRD(x4,4))){
	  {OBJ x327=FLD(x4,3);
	   if(EXPRD(x4,1)){
	    x329=x327;
	    DSPRDF(x4);
	   }else{
	    x329=x327;
	    FRPRD(x4,1);}
	   COPY(x2,1);
	   CPPRD(x5,1);}
	 }else{
	  if(ISPRD(x4)&&(ISTGPRD(x4,7))){
	   {OBJ x328=FLD(x4,1);
	    if(EXPRD(x4,1)){
	     x329=x328;
	     DSPRDF(x4);
	    }else{
	     x329=x328;
	     FRPRD(x4,1);}
	    COPY(x2,1);
	    CPPRD(x5,1);}
	  }else{
	   HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
	 ANat_4(x329,x330);
	 x331=_ASeqIndex_2(x2,x330);}
       }else{
	CPPRD(x5,1);
	x331=x4;}
       COPY(x331,1);
       x332=_AImpDecl4SigAna_57(x331,x5);
       if(ISTGPRM(x332,1)){
	COPY(x1,1);
	COPY(x331,1);
	{OBJ x333;OBJ x334;
	 x333=_AName_12(x331);
	 x334=_AImpDecl4SigAna_50(x1,x333);
	 if(ISTGPRM(x334,1)){
	  FREE(x1,1);
	  FREE(x2,1);
	  FREE(x3,1);
	  if(EXPRD(x5,1)){
	   DSPRDF(x5);
	  }else{
	   DCPRD(x5,1);}
	  FREE(x331,1);
	  CPCLS(__AIsFlatInst_30,1);
	  x371=__ABUILTIN_5;
	 }else{
	  COPY(x1,1);
	  CPPRD(x5,1);
	  {OBJ x335;OBJ x336;
	   x335=_AIsFlatInst_7(x1,x5);
	   if(ISTGPRM(x335,1)){
	    COPY(x1,1);
	    COPY(x331,1);
	    x336=_AIsFlatInst_7(x1,x331);
	   }else{
	    x336=__ABUILTIN_3;}
	   if(ISTGPRM(x336,1)){
	    COPY(x1,2);
	    COPY(x2,1);
	    COPY(x3,1);
	    CPPRD(x5,1);
	    COPY(x331,1);
	    CPCLS(__AIsFlatInst_6,1);
	    CPCLS(__AIsFlatInst_24,1);
	    CPCLS(__AIsFlatInst_30,1);
	    {OBJ x337;OBJ x338;OBJ x339;OBJ x340;OBJ x341;
	     x337=_AName4SigAna_22(x1,x5);
	     x338=_AName4SigAna_22(x1,x331);
	     x339=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_24,4))(__AIsFlatInst_24,x2,x3,x5,x331);
	     x340=_ADEBUG_2(x6,x339,x3);
	     x341=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_6,3))(__AIsFlatInst_6,x1,x2,x340);
	     x371=_ASeq_44(x341,x338,x337);}
	   }else{
	    FREE(x2,1);
	    FREE(x3,1);
	    COPY(x1,1);
	    {OBJ x342;OBJ x343;
	     x342=_AName_12(x5);
	     x343=_AImpDecl4SigAna_4(x1,x342,x320);
	     if(ISTGPRM(x343,1)){
	      FREE(x1,1);
	      FREE(x331,1);
	      CPCLS(__AIsFlatInst_30,1);
	      x371=__ABUILTIN_5;
	     }else{
	      if(ISPRD(x331)&&(ISTGPRD(x331,2))){
	       {OBJ x346=FLD(x331,3);
		if(EXPRD(x331,1)){
		 DSPRDF(x331);
		}else{
		 FRPRD(x331,1);}
		CPCLS(__AIsFlatInst_30,1);
		x371=_AImpDecl4SigAna_56(x1,x333,x346,x320);}
	      }else{
	       HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}}}}}}
       }else{
	FREE(x1,1);
	FREE(x2,1);
	FREE(x3,1);
	if(EXPRD(x5,1)){
	 DSPRDF(x5);
	}else{
	 DCPRD(x5,1);}
	FREE(x331,1);
	CPCLS(__AIsFlatInst_30,1);
	x371=__ABUILTIN_3;}}}
    }else{
     if(ISPRD(x5)&&(ISTGPRD(x5,1))){
      FREE(x1,1);
      FREE(x3,1);
      {OBJ x351;OBJ x358;
       if(ISPRD(x4)&&(ISTGPRD(x4,4))){
	x351=__ABUILTIN_5;
       }else{
	x351=__ABUILTIN_3;}
       if(ISTGPRM(x351,1)){
	{OBJ x356;OBJ x357;
	 if(ISPRD(x4)&&(ISTGPRD(x4,4))){
	  {OBJ x354=FLD(x4,3);
	   if(EXPRD(x4,1)){
	    x356=x354;
	    DSPRDF(x4);
	   }else{
	    x356=x354;
	    FRPRD(x4,1);}
	   CPCLS(__AIsFlatInst_30,1);}
	 }else{
	  if(ISPRD(x4)&&(ISTGPRD(x4,7))){
	   {OBJ x355=FLD(x4,1);
	    if(EXPRD(x4,1)){
	     x356=x355;
	     DSPRDF(x4);
	    }else{
	     x356=x355;
	     FRPRD(x4,1);}
	    CPCLS(__AIsFlatInst_30,1);}
	  }else{
	   HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
	 ANat_4(x356,x357);
	 x358=_ASeqIndex_2(x2,x357);}
       }else{
	FREE(x2,1);
	CPCLS(__AIsFlatInst_30,1);
	x358=x4;}
       x371=_AName_31(x358,x5);}
     }else{
      if(ISPRD(x5)&&(ISTGPRD(x5,3))){
       {OBJ x359=FLD(x5,1);
	CPPRD(x359,1);
	COPY(x1,1);
	{OBJ x360;
	 x360=_AName4SigAna_35(x1,x359);
	 if(ISTGPRD(x360,1)){
	  {OBJ x362=FLD(x360,2);
	   if(EXPRD(x360,1)){
	    FRPRD(FLD(x360,1),1);DSPRDF(x360);
	   }else{
	    COPY(x362,1);
	    FRPRD(x360,1);}
	   CPCLS(__AIsFlatInst_26,1);
	   CPCLS(__AIsFlatInst_30,1);
	   CPCLS(__APartNameEntry_12,1);
	   {OBJ x363;OBJ x364;
	    x363=_ASeqMap_3(__APartNameEntry_12,x362);
	    x364=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_26,6))(__AIsFlatInst_26,x1,x2,x3,x4,x5,x6);
	    x371=_ASeq_40(x364,x363);}}
	 }else{
	  {OBJ x366=FLD(x360,2);
	   if(EXPRD(x360,1)){
	    FLD(x360,2)=NIL;DSPRD(x360);
	   }else{
	    COPY(x366,1);
	    FRPRD(x360,1);}
	   CPCLS(__AIsFlatInst_28,1);
	   CPCLS(__AIsFlatInst_30,1);
	   CPCLS(__APartNameEntry_27,1);
	   {OBJ x368;OBJ x369;OBJ x370;
	    x368=_ASeqMap_3(__APartNameEntry_27,x366);
	    x369=_ASeqOfSeq_2(x368);
	    x370=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_28,6))(__AIsFlatInst_28,x1,x2,x3,x4,x5,x6);
	    x371=_ASeq_40(x370,x369);}}}}}
      }else{
       HLT("IsFlatInst at <100,12-123,45> : missing else in eqName\'IsFlatInst:globSig**seq**name->name**name->bool");}}}
    x372=(*(OBJ(*)(OBJ,OBJ))METHOD(__AIsFlatInst_30,1))(__AIsFlatInst_30,x371);
    r=_ADEBUG_2(x6,x372,x371);}}}
 return r;}

extern OBJ _AIsFlatInst_7(OBJ x1,OBJ x2) /* hasInst? */
{OBJ r;
 COPY(x1,1);
 COPY(x2,1);
 {OBJ x3;OBJ x5;
  x3=_AName4SigAna_10(x1,x2);
  if(ISTGPRM(x3,1)){
   FREE(x1,1);
   FREE(x2,1);
   x5=__ABUILTIN_5;
  }else{
   COPY(x1,1);
   COPY(x2,1);
   {OBJ x4;
    x4=_AName4SigAna_11(x1,x2);
    if(ISTGPRM(x4,1)){
     FREE(x1,1);
     FREE(x2,1);
     x5=__ABUILTIN_5;
    }else{
     x5=_AName4SigAna_14(x1,x2);}}}
  if(ISTGPRM(x5,1)){
   r=__ABUILTIN_5;
  }else{
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AIsFlatInst_8(register OBJ x1,register OBJ x2,register OBJ x3,register OBJ x4,register OBJ x5) /* eqOwnActParam */
{OBJ r;
 for(;;){
  COPY(x2,1);
  {OBJ x6;
   x6=_AImpDecl4SigAna_1(x2,x3,x4);
   if(ISTGPRM(x6,1)){
    COPY(x2,2);
    {OBJ x7;OBJ x8;
     x7=_AImpDecl4SigAna_21(x2,x3,x4);
     CPPRD(x7,1);
     x8=_AName4SigAna_47(x2,x7);
     if(ISTGPRM(x8,1)){
      COPY(x2,1);
      CPCLS(__AIsFlatInst_10,1);
      {OBJ x9;OBJ x10;
       x9=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_10,3))(__AIsFlatInst_10,x2,x1,x5);
       x10=_AName4SigAna_49(x2,x7);
       r=_ASeq_40(x9,x10);}
     }else{
      COPY(x2,1);
      {OBJ x11;OBJ x12;
       x11=_AName4SigAna_43(x2,x7);
       x12=_ASeqIndex_2(x11,x5);
       r=_AIsFlatInst_11(x2,x1,x12);}}}
   }else{
    COPY(x2,1);
    {OBJ x13;
     x13=_AImpDecl4SigAna_4(x2,x3,x4);
     if(ISTGPRM(x13,1)){
      FREE(x1,1);
      FREE(x2,1);
      r=__ABUILTIN_5;
     }else{
      COPY(x2,1);
      {OBJ x14;
       x14=_AImpDecl4SigAna_7(x2,x3,x4);
       if(ISTGPRM(x14,1)){
	COPY(x2,1);
	{OBJ x15;OBJ x16;
	 x15=_AImpDecl4SigAna_22(x2,x3,x4);
	 x16=_ASeqIndex_2(x15,x5);
	 r=_AImpDecl4SigAna_55(x2,x1,x16);}
       }else{
	COPY(x2,1);
	{OBJ x17;
	 x17=_AImpDecl4SigAna_6(x2,x3,x4);
	 if(ISTGPRM(x17,1)){
	  COPY(x2,1);
	  {OBJ x18;OBJ x19;
	   x18=_AImpDecl4SigAna_22(x2,x3,x4);
	   x19=_ASeqIndex_2(x18,x5);
	   r=_AImpDecl4SigAna_55(x2,x1,x19);}
	 }else{
	  COPY(x2,1);
	  {OBJ x20;
	   x20=_AImpDecl4SigAna_2(x2,x3,x4);
	   if(ISTGPRM(x20,1)){
	    COPY(x2,1);
	    {TUP2 x30;
	     x30=_AImpDecl4SigAna_26(x2,x3,x4);
	     x3=x30.c1;x4=x30.c2;continue;}
	   }else{
	    COPY(x2,1);
	    {OBJ x33;
	     x33=_AImpDecl4SigAna_3(x2,x3,x4);
	     if(ISTGPRM(x33,1)){
	      COPY(x2,1);
	      CPCLS(__AIsFlatInst_9,1);
	      {OBJ x34;OBJ x35;
	       x34=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_9,4))(__AIsFlatInst_9,x1,x2,x3,x5);
	       x35=_AImpDecl4SigAna_24(x2,x3,x4);
	       r=_ASeq_40(x34,x35);}
	     }else{
	      HLT("IsFlatInst at <137,14-154,53> : missing else in eqOwnActParam\'IsFlatInst:name**globSig**struct**inst**nat->bool");}}}}}}}}}}}}
  break;}
 return r;}

extern OBJ _AIsFlatInst_9(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* eqFun */
{OBJ r;
 COPY(x2,1);
 {TUP2 x15;
  x15=_AImpDecl4SigAna_26(x2,x3,x5);
  r=_AIsFlatInst_8(x1,x2,x15.c1,x15.c2,x4);}
 return r;}

extern OBJ _AIsFlatInst_10(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* hh */
{OBJ r;
 {OBJ x5;
  x5=_ASeqIndex_2(x4,x3);
  {OBJ x6=FLD1(x5,1);
   if(EXPRD(x5,1)){
    FLD1(x5,1)=NIL;DSPRD(x5);
   }else{
    COPY(x6,1);
    FRPRD(x5,1);}
   {OBJ x10;
    x10=x6;
    r=_AImpDecl4SigAna_55(x1,x2,x10);}}}
 return r;}

extern OBJ _AIsFlatInst_11(OBJ x1,OBJ x2,OBJ x3) /* = */
{OBJ r;
 {OBJ x11;OBJ x12;OBJ x13;
  if(ISTGPRD(x3,0)){
   {OBJ x5=FLD(x3,2);
    if(EXPRD(x3,1)){
     x11=x5;
     FLD(x3,2)=NIL;DSPRD(x3);
    }else{
     COPY(x5,1);
     x11=x5;
     FRPRD(x3,1);}
    CPCLS(__AIsFlatInst_16,1);
    CPCLS(__APartNameEntry_27,1);
    CPCLS(__ACompose_4,1);}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  x12=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_16,2))(__AIsFlatInst_16,x1,x2);
  x13=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,x12,__APartNameEntry_27);
  r=_ASeq_40(x13,x11);}
 return r;}

extern OBJ _AIsFlatInst_13(OBJ x1,OBJ x2,OBJ x3) /* instFct,1 */
{OBJ r;
 CPCLS(__AIsFlatInst_31,1);
 COPY(x1,1);
 COPY(x3,1);
 {OBJ x4;OBJ x5;
  x4=_AName4SigAna_5(x1,x3);
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_31,3))(__AIsFlatInst_31,x1,x2,x3);
  r=_AAbsyFun2_3(x5,x4);}
 return r;}

extern OBJ _AIsFlatInst_14(OBJ x1) /* getNames */
{OBJ r;
 if(ISTGPRD(x1,1)){
  {OBJ x33=FLD(x1,2);
   if(EXPRD(x1,1)){
    FRPRD(FLD(x1,1),1);DSPRDF(x1);
   }else{
    COPY(x33,1);
    FRPRD(x1,1);}
   CPCLS(__APartNameEntry_12,1);
   r=_ASeqMap_3(__APartNameEntry_12,x33);}
 }else{
  {OBJ x35=FLD(x1,2);
   if(EXPRD(x1,1)){
    FLD(x1,2)=NIL;DSPRD(x1);
   }else{
    COPY(x35,1);
    FRPRD(x1,1);}
   CPCLS(__APartNameEntry_27,1);
   {OBJ x37;
    x37=_ASeqMap_3(__APartNameEntry_27,x35);
    r=_ASeqOfSeq_2(x37);}}}
 return r;}

extern OBJ _AIsFlatInst_15(OBJ x1,OBJ x2,OBJ x3) /* ='15 */
{OBJ r;
 r=_AImpDecl4SigAna_55(x1,x3,x2);
 return r;}

extern OBJ _AIsFlatInst_16(OBJ x1,OBJ x2,OBJ x3) /* ='16 */
{OBJ r;
 CPCLS(__AIsFlatInst_15,1);
 {OBJ x4;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_15,2))(__AIsFlatInst_15,x1,x2);
  r=_ASeq_40(x4,x3);}
 return r;}

extern OBJ _AIsFlatInst_18(OBJ x1) /* eqName'18 */
{OBJ r;
 CPPRD(__AIsFlatInst_17,1);
 r=_ADEBUG_10(__AIsFlatInst_17);
 return r;}

extern OBJ _AIsFlatInst_23(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* eqName'23 */
{OBJ r;
 CPPRD(__AIsFlatInst_19,1);
 CPPRD(__AIsFlatInst_20,1);
 CPPRD(__AIsFlatInst_21,1);
 CPPRD(__AIsFlatInst_22,1);
 CPCLS(__AName_34,1);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x15;
  x6=_ASeqConv_2(__AName_34,x1);
  x7=_AName_34(x2);
  x8=_AName_34(x3);
  ADenotation_4(__AIsFlatInst_19,x8,x9);
  x10=_AName_34(x4);
  ADenotation_4(x10,x9,x11);
  ADenotation_4(__AIsFlatInst_20,x11,x12);
  ADenotation_4(x7,x12,x13);
  ADenotation_4(__AIsFlatInst_21,x13,x14);
  ADenotation_4(x6,x14,x15);
  ADenotation_4(__AIsFlatInst_22,x15,r);}
 return r;}

extern OBJ _AIsFlatInst_24(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* eqName'24 */
{OBJ r;
 CPPRD(__AIsFlatInst_19,1);
 CPPRD(__AIsFlatInst_20,1);
 CPPRD(__AIsFlatInst_21,1);
 CPPRD(__AIsFlatInst_22,1);
 CPCLS(__AName_34,1);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x15;
  x6=_ASeqConv_2(__AName_34,x1);
  x7=_AName_34(x2);
  x8=_AName_34(x3);
  ADenotation_4(__AIsFlatInst_19,x8,x9);
  x10=_AName_34(x4);
  ADenotation_4(x10,x9,x11);
  ADenotation_4(__AIsFlatInst_20,x11,x12);
  ADenotation_4(x7,x12,x13);
  ADenotation_4(__AIsFlatInst_21,x13,x14);
  ADenotation_4(x6,x14,x15);
  ADenotation_4(__AIsFlatInst_22,x15,r);}
 return r;}

extern OBJ _AIsFlatInst_25(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* eqName'25 */
{OBJ r;
 CPPRD(__AIsFlatInst_19,1);
 CPPRD(__AIsFlatInst_20,1);
 CPPRD(__AIsFlatInst_21,1);
 CPPRD(__AIsFlatInst_22,1);
 CPCLS(__AName_34,1);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x15;
  x6=_ASeqConv_2(__AName_34,x1);
  x7=_AName_34(x2);
  x8=_AName_34(x3);
  ADenotation_4(__AIsFlatInst_19,x8,x9);
  x10=_AName_34(x4);
  ADenotation_4(x10,x9,x11);
  ADenotation_4(__AIsFlatInst_20,x11,x12);
  ADenotation_4(x7,x12,x13);
  ADenotation_4(__AIsFlatInst_21,x13,x14);
  ADenotation_4(x6,x14,x15);
  ADenotation_4(__AIsFlatInst_22,x15,r);}
 return r;}

extern OBJ _AIsFlatInst_26(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* eqName'26 */
{OBJ r;
 {OBJ x11;OBJ x18;OBJ x19;OBJ x20;
  if(ISPRD(x4)&&(ISTGPRD(x4,4))){
   x11=__ABUILTIN_5;
  }else{
   x11=__ABUILTIN_3;}
  if(ISTGPRM(x11,1)){
   {OBJ x16;OBJ x17;
    if(ISPRD(x4)&&(ISTGPRD(x4,4))){
     {OBJ x14=FLD(x4,3);
      if(EXPRD(x4,1)){
       x16=x14;
       DSPRDF(x4);
      }else{
       x16=x14;
       FRPRD(x4,1);}
      COPY(x2,2);
      COPY(x3,1);
      CPCLS(__AIsFlatInst_25,1);}
    }else{
     if(ISPRD(x4)&&(ISTGPRD(x4,7))){
      {OBJ x15=FLD(x4,1);
       if(EXPRD(x4,1)){
	x16=x15;
	DSPRDF(x4);
       }else{
	x16=x15;
	FRPRD(x4,1);}
       COPY(x2,2);
       COPY(x3,1);
       CPCLS(__AIsFlatInst_25,1);}
     }else{
      HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
    ANat_4(x16,x17);
    x18=_ASeqIndex_2(x2,x17);}
  }else{
   COPY(x2,1);
   COPY(x3,1);
   CPCLS(__AIsFlatInst_25,1);
   x18=x4;}
  COPY(x18,1);
  x19=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_25,4))(__AIsFlatInst_25,x2,x3,x5,x18);
  x20=_ADEBUG_2(x6,x19,x3);
  r=_AIsFlatInst_6(x1,x2,x20,x18,x7);}
 return r;}

extern OBJ _AIsFlatInst_27(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* eqName'27 */
{OBJ r;
 CPPRD(__AIsFlatInst_19,1);
 CPPRD(__AIsFlatInst_20,1);
 CPPRD(__AIsFlatInst_21,1);
 CPPRD(__AIsFlatInst_22,1);
 CPCLS(__AName_34,1);
 {OBJ x6;OBJ x7;OBJ x8;OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x13;OBJ x14;OBJ x15;
  x6=_ASeqConv_2(__AName_34,x1);
  x7=_AName_34(x2);
  x8=_AName_34(x3);
  ADenotation_4(__AIsFlatInst_19,x8,x9);
  x10=_AName_34(x4);
  ADenotation_4(x10,x9,x11);
  ADenotation_4(__AIsFlatInst_20,x11,x12);
  ADenotation_4(x7,x12,x13);
  ADenotation_4(__AIsFlatInst_21,x13,x14);
  ADenotation_4(x6,x14,x15);
  ADenotation_4(__AIsFlatInst_22,x15,r);}
 return r;}

extern OBJ _AIsFlatInst_28(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* eqName'28 */
{OBJ r;
 {OBJ x11;OBJ x18;OBJ x19;OBJ x20;
  if(ISPRD(x4)&&(ISTGPRD(x4,4))){
   x11=__ABUILTIN_5;
  }else{
   x11=__ABUILTIN_3;}
  if(ISTGPRM(x11,1)){
   {OBJ x16;OBJ x17;
    if(ISPRD(x4)&&(ISTGPRD(x4,4))){
     {OBJ x14=FLD(x4,3);
      if(EXPRD(x4,1)){
       x16=x14;
       DSPRDF(x4);
      }else{
       x16=x14;
       FRPRD(x4,1);}
      COPY(x2,2);
      COPY(x3,1);
      CPCLS(__AIsFlatInst_27,1);}
    }else{
     if(ISPRD(x4)&&(ISTGPRD(x4,7))){
      {OBJ x15=FLD(x4,1);
       if(EXPRD(x4,1)){
	x16=x15;
	DSPRDF(x4);
       }else{
	x16=x15;
	FRPRD(x4,1);}
       COPY(x2,2);
       COPY(x3,1);
       CPCLS(__AIsFlatInst_27,1);}
     }else{
      HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
    ANat_4(x16,x17);
    x18=_ASeqIndex_2(x2,x17);}
  }else{
   COPY(x2,1);
   COPY(x3,1);
   CPCLS(__AIsFlatInst_27,1);
   x18=x4;}
  COPY(x18,1);
  x19=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__AIsFlatInst_27,4))(__AIsFlatInst_27,x2,x3,x5,x18);
  x20=_ADEBUG_2(x6,x19,x3);
  r=_AIsFlatInst_6(x1,x2,x20,x18,x7);}
 return r;}

extern OBJ _AIsFlatInst_30(OBJ x1,OBJ x2) /* eqName'30 */
{OBJ r;
 {OBJ x3;
  if(ISTGPRM(x1,1)){
   CPPRD(__AIsFlatInst_29,1);
   CPPRD(__ABoolConv_2,1);
   x3=__ABoolConv_2;
  }else{
   CPPRD(__AIsFlatInst_29,1);
   CPPRD(__ABoolConv_3,1);
   x3=__ABoolConv_3;}
  ADenotation_4(__AIsFlatInst_29,x3,r);}
 return r;}

extern OBJ _AIsFlatInst_31(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* instFct,1'31 */
{OBJ r;
 {OBJ x8;OBJ x20;
  if(ISPRD(x4)&&(ISTGPRD(x4,2))){
   x8=__ABUILTIN_5;
  }else{
   x8=__ABUILTIN_3;}
  if(ISTGPRM(x8,1)){
   if(ISPRD(x3)&&(ISTGPRD(x3,2))){
    CPPRD(x3,1);
    COPY(x4,1);
    {OBJ x18;OBJ x19;
     x18=_AName_12(x4);
     x19=_AName_12(x3);
     ANat_76(x19,x18,x20);}
   }else{
    x20=__ABUILTIN_3;}
  }else{
   x20=__ABUILTIN_3;}
  if(ISTGPRM(x20,1)){
   FREE(x1,1);
   FREE(x2,1);
   COPY(x4,1);
   {OBJ x21;OBJ x22;
    x21=_AName_12(x4);
    x22=_AName_11(x4);
    if(ISPRD(x3)&&(ISTGPRD(x3,2))){
     {OBJ x25=FLD(x3,3);FLAG x_x3=EXPRD(x3,1);
      if(x_x3){
      }else{}
      {OBJ x26;OBJ x27;
       x26=x25;
       if(x_x3){
	RPRDF(x3,x27);FLD(x27,1)=x21;FLD(x27,2)=x22;FLD(x27,3)=x26;
       }else{
	FRPRD(x3,1);PRDF(3,2,x27);FLD(x27,1)=x21;FLD(x27,2)=x22;FLD(x27,3)=x26;}
       PRD1(2,r);FLD1(r,1)=x27;FLD1(r,2)=__ASeq_6;}}
    }else{
     HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
  }else{
   {OBJ x31;OBJ x43;
    if(ISPRD(x4)&&(ISTGPRD(x4,4))){
     x31=__ABUILTIN_5;
    }else{
     x31=__ABUILTIN_3;}
    if(ISTGPRM(x31,1)){
     if(ISPRD(x3)&&(ISTGPRD(x3,2))){
      CPPRD(x3,1);
      COPY(x4,1);
      {OBJ x41;OBJ x42;
       x41=_AName_12(x4);
       x42=_AName_12(x3);
       ANat_76(x41,x42,x43);}
     }else{
      x43=__ABUILTIN_3;}
    }else{
     x43=__ABUILTIN_3;}
    if(ISTGPRM(x43,1)){
     FREE(x2,1);
     COPY(x1,1);
     COPY(x3,1);
     {OBJ x44;OBJ x45;
      x44=_AName4SigAna_10(x1,x3);
      if(ISTGPRM(x44,1)){
       x45=__ABUILTIN_5;
      }else{
       COPY(x1,1);
       COPY(x3,1);
       x45=_AName4SigAna_11(x1,x3);}
      if(ISTGPRM(x45,1)){
       {OBJ x51;OBJ x46;OBJ x52;
	if(ISPRD(x4)&&(ISTGPRD(x4,4))){
	 {OBJ x49=FLD(x4,3);
	  if(EXPRD(x4,1)){
	   x51=x49;
	   DSPRDF(x4);
	  }else{
	   x51=x49;
	   FRPRD(x4,1);}}
	}else{
	 if(ISPRD(x4)&&(ISTGPRD(x4,7))){
	  {OBJ x50=FLD(x4,1);
	   if(EXPRD(x4,1)){
	    x51=x50;
	    DSPRDF(x4);
	   }else{
	    x51=x50;
	    FRPRD(x4,1);}}
	 }else{
	  HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
	x46=_AName4SigAna_22(x1,x3);
	ANat_4(x51,x52);
	PRD1(2,r);FLD1(r,2)=__ASeq_6;
	FLD1(r,1)=_ASeqIndex_2(x46,x52);}
      }else{
       COPY(x1,1);
       COPY(x3,1);
       {OBJ x54;
	x54=_AName4SigAna_8(x1,x3);
	if(ISTGPRM(x54,1)){
	 {OBJ x59;OBJ x60;OBJ x61;OBJ x62;OBJ x63;
	  if(ISPRD(x4)&&(ISTGPRD(x4,4))){
	   {OBJ x57=FLD(x4,3);
	    if(EXPRD(x4,1)){
	     x59=x57;
	     DSPRDF(x4);
	    }else{
	     x59=x57;
	     FRPRD(x4,1);}
	    COPY(x1,1);}
	  }else{
	   if(ISPRD(x4)&&(ISTGPRD(x4,7))){
	    {OBJ x58=FLD(x4,1);
	     if(EXPRD(x4,1)){
	      x59=x58;
	      DSPRDF(x4);
	     }else{
	      x59=x58;
	      FRPRD(x4,1);}
	     COPY(x1,1);}
	   }else{
	    HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
	  x60=_AName4SigAna_20(x1,x3);
	  ANat_4(x59,x61);
	  x62=_AName4SigAna_43(x1,x60);
	  x63=_ASeqIndex_2(x62,x61);
	  r=_AIsFlatInst_14(x63);}
	}else{
	 FREE(x1,1);
	 FREE(x3,1);
	 PRD1(2,r);FLD1(r,1)=x4;FLD1(r,2)=__ASeq_6;}}}}
    }else{
     if(ISTGPRM(x31,1)){
      FREE(x1,1);
      FREE(x3,1);
      {OBJ x68;OBJ x69;
       if(ISPRD(x4)&&(ISTGPRD(x4,4))){
	{OBJ x66=FLD(x4,3);
	 if(EXPRD(x4,1)){
	  x68=x66;
	  DSPRDF(x4);
	 }else{
	  x68=x66;
	  FRPRD(x4,1);}}
       }else{
	if(ISPRD(x4)&&(ISTGPRD(x4,7))){
	 {OBJ x67=FLD(x4,1);
	  if(EXPRD(x4,1)){
	   x68=x67;
	   DSPRDF(x4);
	  }else{
	   x68=x67;
	   FRPRD(x4,1);}}
	}else{
	 HLT("Name at <unknown> : undefined selection no\'Name:name->nat");}}
       ANat_4(x68,x69);
       PRD1(2,r);FLD1(r,2)=__ASeq_6;
       FLD1(r,1)=_ASeqIndex_2(x2,x69);}
     }else{
      FREE(x2,1);
      if(ISTGPRM(x8,1)){
       {OBJ x74;OBJ x77;
	if(ISPRD(x3)&&(ISTGPRD(x3,2))){
	 x74=__ABUILTIN_5;
	}else{
	 x74=__ABUILTIN_3;}
	if(ISTGPRM(x74,1)){
	 COPY(x3,1);
	 COPY(x4,1);
	 {OBJ x75;OBJ x76;
	  x75=_AName_12(x3);
	  x76=_AName_12(x4);
	  ANat_76(x75,x76,x77);}
	}else{
	 x77=__ABUILTIN_3;}
	if(ISTGPRM(x77,1)){
	 FREE(x1,1);
	 COPY(x4,1);
	 {OBJ x78;OBJ x79;
	  x78=_AName_12(x4);
	  x79=_AName_11(x4);
	  if(ISPRD(x3)&&(ISTGPRD(x3,2))){
	   {OBJ x82=FLD(x3,3);FLAG x_x3=EXPRD(x3,1);
	    if(x_x3){
	    }else{}
	    {OBJ x83;OBJ x84;
	     x83=x82;
	     if(x_x3){
	      RPRDF(x3,x84);FLD(x84,1)=x78;FLD(x84,2)=x79;FLD(x84,3)=x83;
	     }else{
	      FRPRD(x3,1);PRDF(3,2,x84);FLD(x84,1)=x78;FLD(x84,2)=x79;FLD(x84,3)=x83;}
	     PRD1(2,r);FLD1(r,1)=x84;FLD1(r,2)=__ASeq_6;}}
	  }else{
	   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
	}else{
	 FREE(x3,1);
	 r=_AName4SigAna_19(x1,x4);}}
      }else{
       FREE(x1,1);
       FREE(x3,1);
       PRD1(2,r);FLD1(r,1)=x4;FLD1(r,2)=__ASeq_6;}}}}}}
 return r;}

extern OBJ _AIsFlatInst_32(OBJ x1) /* noMatch'32 */
{OBJ r;
 CPPRD(__AIsFlatInst_17,1);
 r=_ADEBUG_10(__AIsFlatInst_17);
 return r;}

extern OBJ _AIsFlatInst_33(OBJ x1) /* noMatch'33 */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AIsFlatInst_34(OBJ x1,OBJ x2,OBJ x3) /* noMatch'34 */
{OBJ r;
 CPPRD(__AIsFlatInst_21,1);
 CPPRD(__AIsFlatInst_22,1);
 CPCLS(__AName_34,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;
  x4=_ASeqConv_2(__AName_34,x1);
  x5=_AName_34(x2);
  ADenotation_4(__AIsFlatInst_21,x5,x6);
  ADenotation_4(x4,x6,x7);
  ADenotation_4(__AIsFlatInst_22,x7,r);}
 return r;}

extern OBJ _AIsFlatInst_36(OBJ x1,OBJ x2) /* noMatch'36 */
{OBJ r;
 {OBJ x3;
  if(ISTGPRM(x1,1)){
   CPPRD(__AIsFlatInst_35,1);
   CPPRD(__ABoolConv_2,1);
   x3=__ABoolConv_2;
  }else{
   CPPRD(__AIsFlatInst_35,1);
   CPPRD(__ABoolConv_3,1);
   x3=__ABoolConv_3;}
  ADenotation_4(__AIsFlatInst_35,x3,r);}
 return r;}

extern OBJ _AIsFlatInst_37(OBJ x1,OBJ x2) /* instFct'37 */
{OBJ r;
 {OBJ x6;OBJ x9;
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   x6=__ABUILTIN_5;
  }else{
   x6=__ABUILTIN_3;}
  if(ISTGPRM(x6,1)){
   COPY(x1,1);
   COPY(x2,1);
   {OBJ x7;OBJ x8;
    x7=_AName_12(x1);
    x8=_AName_12(x2);
    ANat_76(x7,x8,x9);}
  }else{
   x9=__ABUILTIN_3;}
  if(ISTGPRM(x9,1)){
   COPY(x2,1);
   {OBJ x10;OBJ x11;
    x10=_AName_12(x2);
    x11=_AName_11(x2);
    if(ISPRD(x1)&&(ISTGPRD(x1,2))){
     {OBJ x14=FLD(x1,3);
      if(EXPRD(x1,1)){
       {OBJ x15;
	x15=x14;
	RPRDF(x1,r);FLD(r,1)=x10;FLD(r,2)=x11;FLD(r,3)=x15;}
      }else{
       {OBJ x15;
	x15=x14;
	FRPRD(x1,1);PRDF(3,2,r);FLD(r,1)=x10;FLD(r,2)=x11;FLD(r,3)=x15;}}}
    }else{
     HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
  }else{
   FREE(x1,1);
   r=x2;}}
 return r;}

static OBJ _mt_7_0_6(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,6);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 FLDCLS(r,4)=t4;
 FLDCLS(r,5)=t5;
 FLDCLS(r,6)=t6;
 return r;}

static OBJ _mt_7_6_1(OBJ t,OBJ t1) 
{OBJ r;
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  COPY(FLDCLS(t,1),1);
  COPY(FLDCLS(t,2),1);
  COPY(FLDCLS(t,3),1);
  COPY(FLDCLS(t,4),1);
  COPY(FLDCLS(t,5),1);
  COPY(FLDCLS(t,6),1);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),t1);
 return r;}
static OBJ _mt_7_6_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),FLDCLS(t,4),FLDCLS(t,5),FLDCLS(t,6),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;FLDCLS(t,4)=NIL;FLDCLS(t,5)=NIL;FLDCLS(t,6)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

init_AIsFlatInst()
{
 static int visited=0; if(visited) return; visited=1;
 init_APartName();
 init_AAbsyFun2();
 init_ABoolConv();
 init_ACompose();
 init_AGlobSig();
 init_ADEBUG();
 init_AName();
 init_ADenotation();
 init_ASeq();
 init_AImpDecl4SigAna();
 init_AOption();
 init_AName4SigAna();
 init_AFct();
 init_ASeqConv();
 init_ANat();
 init_ASeqIndex();
 init_AObjects();
 init_ASeqMap();
 init_AOcPos();
 init_ASeqOfSeq();
 init_AChar();
 init_ASeqZip();
 init_ATable();
 init_AMaps4SigAna();
 init_AUniqueTable();
 init_ACom();
 init_ADeclEntry();
 init_AVoid();
 init_APartNameEntry();
 init_ASetByBST();
 init_AImpExpEntry();
 init_ABSTree();
 init_AGlobSigImpl();
 init_ATree();
 init_ARep();
 init_AInt();
 init_APragma();
 init_AImpl();
 init_AGlobPragma();
 init_APair();
 init_AMap();
 init_ASet();
 init_ABitset();
 init_APatterns();
 init_AAttributes();
 init_ADArray();
 init_ANatMap();
 init_AString();
 init_AArray();
 CLS(4,_AIsFlatInst_31,__AIsFlatInst_31);
 LCLS(2,_AIsFlatInst_30,__AIsFlatInst_30);
 DEN("eqName: ",__AIsFlatInst_29);
 CLS(7,_AIsFlatInst_28,__AIsFlatInst_28);
 LCLS(5,_AIsFlatInst_27,__AIsFlatInst_27);
 CLS(7,_AIsFlatInst_26,__AIsFlatInst_26);
 LCLS(5,_AIsFlatInst_25,__AIsFlatInst_25);
 LCLS(5,_AIsFlatInst_24,__AIsFlatInst_24);
 LCLS(5,_AIsFlatInst_23,__AIsFlatInst_23);
 DEN("InstCand: ",__AIsFlatInst_22);
 DEN("\nActFct: ",__AIsFlatInst_21);
 DEN("\nFormFctComp: ",__AIsFlatInst_20);
 DEN("\nActFctComp: ",__AIsFlatInst_19);
 LCLS(1,_AIsFlatInst_18,__AIsFlatInst_18);
 DEN("-zisFlatInst",__AIsFlatInst_17);
 CLS(3,_AIsFlatInst_16,__AIsFlatInst_16);
 CLS(3,_AIsFlatInst_15,__AIsFlatInst_15);
 CLS(1,_AIsFlatInst_14,__AIsFlatInst_14);
 CLS(3,_AIsFlatInst_13,__AIsFlatInst_13);
 CLS(3,_AIsFlatInst_11,__AIsFlatInst_11);
 CLS(4,_AIsFlatInst_10,__AIsFlatInst_10);
 CLS(5,_AIsFlatInst_9,__AIsFlatInst_9);
 CLS(5,_AIsFlatInst_8,__AIsFlatInst_8);
 CLS(2,_AIsFlatInst_7,__AIsFlatInst_7);
 CLS(5,_AIsFlatInst_6,__AIsFlatInst_6);
 CLS(2,_AIsFlatInst_37,__AIsFlatInst_37);
 CLS(3,_AIsFlatInst_5,__AIsFlatInst_5);
 LCLS(2,_AIsFlatInst_36,__AIsFlatInst_36);
 CLS(3,_AIsFlatInst_4,__AIsFlatInst_4);
 DEN("noMatch: ",__AIsFlatInst_35);
 LCLS(3,_AIsFlatInst_34,__AIsFlatInst_34);
 CLS(2,_AIsFlatInst_2,__AIsFlatInst_2);
 CLS(1,_AIsFlatInst_33,__AIsFlatInst_33);
 CLS(3,_AIsFlatInst_1,__AIsFlatInst_1);
 LCLS(1,_AIsFlatInst_32,__AIsFlatInst_32);
 MTH(7,0,6,_mt_7_0_6);LZYMTH(7,0,6,_mt_7_0_6);
 MTH(7,6,1,_mt_7_6_1);LZYMTH(7,6,1,_mt_7_6_1_l);}

