

#include "BUILTIN.h"
extern OBJ _AFct_21(OBJ,OBJ,OBJ);extern OBJ __AFct_21;
extern OBJ _AFct_22(OBJ,OBJ,OBJ);extern OBJ __AFct_22;
extern OBJ _AFct_45(OBJ,OBJ,OBJ);extern OBJ __AFct_45;
extern OBJ _ARep_24(OBJ,OBJ);extern OBJ __ARep_24;
extern OBJ _ARep_27(OBJ,OBJ);extern OBJ __ARep_27;
extern OBJ _ARep_119(OBJ);extern OBJ __ARep_119;
extern OBJ __ARep_187;
extern OBJ __AOcPos_9;
extern OBJ _APragma_10(OBJ);extern OBJ __APragma_10;
extern OBJ _AOption_10(OBJ,OBJ,OBJ);extern OBJ __AOption_10;
extern OBJ _AOption_11(OBJ,OBJ,OBJ);extern OBJ __AOption_11;

#include "Nat.h"

#include "Char.h"
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;

#include "Denotation.h"
extern OBJ _ASeqCompare_2(OBJ,OBJ,OBJ);extern OBJ __ASeqCompare_2;
extern OBJ _ASeqCompare_3(OBJ,OBJ,OBJ);extern OBJ __ASeqCompare_3;
extern OBJ __ALexem_20;
extern OBJ __ALexem_27;
extern OBJ __ALexem_38;
extern OBJ __ALexem_48;
extern OBJ __ALexem_61;
extern OBJ _ASeqConv_3(OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __ASeqConv_3;
extern OBJ __ASeqConv_8;
extern OBJ __ARelCmp_3;
extern OBJ __ARelCmp_7;

#include "Array.h"

#include "Int.h"
OBJ __APartName_2; /* none */
extern OBJ _APartName_3(OBJ);OBJ __APartName_3; /* none? */
OBJ __APartName_4; /* proof */
extern OBJ _APartName_5(OBJ);OBJ __APartName_5; /* proof? */
OBJ __APartName_6; /* law */
extern OBJ _APartName_7(OBJ);OBJ __APartName_7; /* law? */
extern OBJ _APartName_8(OBJ);OBJ __APartName_8; /* op */
extern OBJ _APartName_9(OBJ);OBJ __APartName_9; /* op? */
extern OBJ _APartName_10(OBJ);OBJ __APartName_10; /* fct */
OBJ __APartName_11; /* sort */
extern OBJ _APartName_12(OBJ);OBJ __APartName_12; /* sort? */
extern OBJ _APartName_14(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __APartName_14; /* partName */
extern OBJ _APartName_15(OBJ);OBJ __APartName_15; /* partName? */
extern OBJ _APartName_16(OBJ);OBJ __APartName_16; /* pos */
extern OBJ _APartName_17(OBJ);OBJ __APartName_17; /* pragma */
extern OBJ _APartName_18(OBJ);OBJ __APartName_18; /* kind */
extern OBJ _APartName_19(OBJ);OBJ __APartName_19; /* instPos */
extern OBJ _APartName_20(OBJ);OBJ __APartName_20; /* paramS */
extern OBJ _APartName_21(OBJ);OBJ __APartName_21; /* structIde */
extern OBJ _APartName_22(OBJ);OBJ __APartName_22; /* ide */
OBJ __APartName_23; /* noName */
extern OBJ _APartName_24(OBJ);OBJ __APartName_24; /* noName? */
extern OBJ _APartName_25(OBJ,OBJ);OBJ __APartName_25; /* = */
extern OBJ _APartName_26(OBJ,OBJ);OBJ __APartName_26; /* =,1 */
extern OBJ _APartName_27(OBJ,OBJ);OBJ __APartName_27; /* < */
extern OBJ _APartName_28(OBJ);OBJ __APartName_28; /* ` */
extern OBJ _APartName_29(OBJ);OBJ __APartName_29; /* `,1 */
extern OBJ _APartName_30(OBJ);OBJ __APartName_30; /* `` */
extern OBJ _APartName_31(OBJ);OBJ __APartName_31; /* tPos */
extern OBJ _APartName_54(OBJ,OBJ);OBJ __APartName_54; /* <,1 */
extern OBJ _APartName_55(OBJ);OBJ __APartName_55; /* `_pSeq */
extern OBJ _APartName_56(OBJ);OBJ __APartName_56; /* ``,1 */
extern OBJ _APartName_57(OBJ);OBJ __APartName_57; /* ``_pSeq */
OBJ __APartName_58; /* `'58 */
extern OBJ _APartName_59(OBJ,OBJ);OBJ __APartName_59; /* `_pSeq'59 */
OBJ __APartName_60; /* `_pSeq'60 */
OBJ __APartName_61; /* `_pSeq'61 */
extern OBJ _APartName_62(OBJ);OBJ __APartName_62; /* `,1'62 */
extern OBJ _APartName_63(OBJ);OBJ __APartName_63; /* `,1'63 */
extern OBJ _APartName_64(OBJ);OBJ __APartName_64; /* `,1'64 */
OBJ __APartName_65; /* ``'65 */
OBJ __APartName_66; /* ``_pSeq'66 */
extern OBJ _APartName_67(OBJ);OBJ __APartName_67; /* ``,1'67 */
extern OBJ _APartName_68(OBJ);OBJ __APartName_68; /* ``,1'68 */
extern OBJ _APartName_69(OBJ);OBJ __APartName_69; /* ``,1'69 */

extern OBJ _APartName_3(OBJ x1) /* none? */
{OBJ r;
 if(ISPRM(x1)&&(ISTGPRM(x1,4))){
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _APartName_5(OBJ x1) /* proof? */
{OBJ r;
 if(ISPRM(x1)&&(ISTGPRM(x1,3))){
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _APartName_7(OBJ x1) /* law? */
{OBJ r;
 if(ISPRM(x1)&&(ISTGPRM(x1,2))){
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _APartName_8(OBJ x1) /* op */
{OBJ r;
 PRD1(1,r);FLD1(r,1)=x1;
 return r;}

extern OBJ _APartName_9(OBJ x1) /* op? */
{OBJ r;
 if(ISPRD(x1)){
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,1),1);DSPRDF(x1);
  }else{
   DCPRD(x1,1);}
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _APartName_10(OBJ x1) /* fct */
{OBJ r;
 if(ISPRD(x1)){
  {OBJ x2=FLD1(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    DSPRDF(x1);
   }else{
    COPY(x2,1);
    r=x2;
    FRPRD(x1,1);}}
 }else{
  HLT("PartName at <unknown> : undefined selection fct\'PartName:kind->fct");}
 return r;}

extern OBJ _APartName_12(OBJ x1) /* sort? */
{OBJ r;
 if(ISPRM(x1)&&(ISTGPRM(x1,0))){
  r=__ABUILTIN_5;
 }else{
  FREE(x1,1);
  r=__ABUILTIN_3;}
 return r;}

extern OBJ _APartName_14(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* partName */
{OBJ r;
 PRD1(7,r);FLD1(r,1)=x1;FLD1(r,2)=x2;FLD1(r,3)=x3;FLD1(r,4)=x4;FLD1(r,5)=x5;FLD1(r,6)=x6;FLD1(r,7)=x7;
 return r;}

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

extern OBJ _APartName_16(OBJ x1) /* pos */
{OBJ r;
 if(ISPRM(x1)){
  HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
 }else{
  {OBJ x8=FLD1(x1,7);
   if(EXPRD(x1,1)){
    r=x8;
    FLD1(x1,7)=NIL;DSPRD(x1);
   }else{
    COPY(x8,1);
    r=x8;
    FRPRD(x1,1);}}}
 return r;}

extern OBJ _APartName_17(OBJ x1) /* pragma */
{OBJ r;
 if(ISPRM(x1)){
  HLT("PartName at <unknown> : undefined selection pragma\'PartName:partName->pragma");
 }else{
  {OBJ x7=FLD1(x1,6);
   if(EXPRD(x1,1)){
    r=x7;
    FLD1(x1,6)=NIL;DSPRD(x1);
   }else{
    COPY(x7,1);
    r=x7;
    FRPRD(x1,1);}}}
 return r;}

extern OBJ _APartName_18(OBJ x1) /* kind */
{OBJ r;
 if(ISPRM(x1)){
  HLT("PartName at <unknown> : undefined selection kind\'PartName:partName->kind");
 }else{
  {OBJ x6=FLD1(x1,5);
   if(EXPRD(x1,1)){
    r=x6;
    FLD1(x1,5)=NIL;DSPRD(x1);
   }else{
    COPY(x6,1);
    r=x6;
    FRPRD(x1,1);}}}
 return r;}

extern OBJ _APartName_19(OBJ x1) /* instPos */
{OBJ r;
 if(ISPRM(x1)){
  HLT("PartName at <unknown> : undefined selection instPos\'PartName:partName->pos");
 }else{
  {OBJ x5=FLD1(x1,4);
   if(EXPRD(x1,1)){
    r=x5;
    FLD1(x1,4)=NIL;DSPRD(x1);
   }else{
    COPY(x5,1);
    r=x5;
    FRPRD(x1,1);}}}
 return r;}

extern OBJ _APartName_20(OBJ x1) /* paramS */
{OBJ r;
 if(ISPRM(x1)){
  HLT("PartName at <unknown> : undefined selection paramS\'PartName:partName->seq");
 }else{
  {OBJ x4=FLD1(x1,3);
   if(EXPRD(x1,1)){
    r=x4;
    FLD1(x1,3)=NIL;DSPRD(x1);
   }else{
    COPY(x4,1);
    r=x4;
    FRPRD(x1,1);}}}
 return r;}

extern OBJ _APartName_21(OBJ x1) /* structIde */
{OBJ r;
 if(ISPRM(x1)){
  HLT("PartName at <unknown> : undefined selection structIde\'PartName:partName->option");
 }else{
  {OBJ x3=FLD1(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FLD1(x1,2)=NIL;DSPRD(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}}
 return r;}

extern OBJ _APartName_22(OBJ x1) /* ide */
{OBJ r;
 if(ISPRM(x1)){
  HLT("PartName at <unknown> : undefined selection ide\'PartName:partName->rep");
 }else{
  {OBJ x2=FLD1(x1,1);
   if(EXPRD(x1,1)){
    r=x2;
    FLD1(x1,1)=NIL;DSPRD(x1);
   }else{
    CPPRD(x2,1);
    r=x2;
    FRPRD(x1,1);}}}
 return r;}

extern OBJ _APartName_24(OBJ x1) /* noName? */
{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 _APartName_25(OBJ x1,OBJ x2) /* = */
{OBJ r;
 if(ISPRM(x1)){
  if(ISPRM(x2)){
   r=__ABUILTIN_5;
  }else{
   if(EXPRD(x2,1)){
    DSPRD(x2);
   }else{
    DCPRD(x2,1);}
   r=__ABUILTIN_3;}
 }else{
  {OBJ x196=FLD1(x1,1);OBJ x197=FLD1(x1,2);OBJ x198=FLD1(x1,3);OBJ x200=FLD1(x1,5);
   if(EXPRD(x1,1)){
    FLD1(x1,1)=NIL;FLD1(x1,2)=NIL;FLD1(x1,3)=NIL;FLD1(x1,5)=NIL;DSPRD(x1);
   }else{
    CPPRD(x196,1);COPY(x197,1);COPY(x198,1);COPY(x200,1);
    FRPRD(x1,1);}
   if(ISPRM(x2)){
    FRPRD(x196,1);
    FREE(x197,1);
    FREE(x198,1);
    FREE(x200,1);
    r=__ABUILTIN_3;
   }else{
    {OBJ x203=FLD1(x2,1);OBJ x204=FLD1(x2,2);OBJ x205=FLD1(x2,3);OBJ x207=FLD1(x2,5);
     if(EXPRD(x2,1)){
      FLD1(x2,1)=NIL;FLD1(x2,2)=NIL;FLD1(x2,3)=NIL;FLD1(x2,5)=NIL;DSPRD(x2);
     }else{
      CPPRD(x203,1);COPY(x204,1);COPY(x205,1);COPY(x207,1);
      FRPRD(x2,1);}
     {OBJ x212;
      x212=_ARep_24(x196,x203);
      if(ISTGPRM(x212,1)){
       CPCLS(__ARep_24,1);
       {OBJ x213;
	x213=_AOption_11(__ARep_24,x197,x204);
	if(ISTGPRM(x213,1)){
	 {OBJ x214;
	  x214=_APartName_26(x200,x207);
	  if(ISTGPRM(x214,1)){
	   CPCLS(__APartName_25,1);
	   r=_ASeqCompare_3(__APartName_25,x198,x205);
	  }else{
	   FREE(x198,1);
	   FREE(x205,1);
	   r=__ABUILTIN_3;}}
	}else{
	 FREE(x198,1);
	 FREE(x200,1);
	 FREE(x205,1);
	 FREE(x207,1);
	 r=__ABUILTIN_3;}}
      }else{
       FREE(x197,1);
       FREE(x198,1);
       FREE(x200,1);
       FREE(x204,1);
       FREE(x205,1);
       FREE(x207,1);
       r=__ABUILTIN_3;}}}}}}
 return r;}

extern OBJ _APartName_26(OBJ x1,OBJ x2) /* =,1 */
{OBJ r;
 if(ISPRM(x1)){
  switch(TGPRM(x1)){
   case 4:
    if(ISPRM(x2)&&(ISTGPRM(x2,4))){
     r=__ABUILTIN_5;
    }else{
     FREE(x2,1);
     r=__ABUILTIN_3;}break;
   case 2:
    if(ISPRM(x2)&&(ISTGPRM(x2,2))){
     r=__ABUILTIN_5;
    }else{
     FREE(x2,1);
     r=__ABUILTIN_3;}break;
   case 3:
    if(ISPRM(x2)&&(ISTGPRM(x2,3))){
     r=__ABUILTIN_5;
    }else{
     FREE(x2,1);
     r=__ABUILTIN_3;}break;
   default: 
    if(ISPRM(x2)&&(ISTGPRM(x2,0))){
     r=__ABUILTIN_5;
    }else{
     FREE(x2,1);
     r=__ABUILTIN_3;}}
 }else{
  {OBJ x23=FLD1(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x23,1);
    FRPRD(x1,1);}
   if(ISPRD(x2)){
    {OBJ x24=FLD1(x2,1);
     if(EXPRD(x2,1)){
      DSPRDF(x2);
     }else{
      COPY(x24,1);
      FRPRD(x2,1);}
     CPCLS(__APartName_25,1);
     r=_AFct_21(__APartName_25,x23,x24);}
   }else{
    FREE(x2,1);
    FREE(x23,1);
    r=__ABUILTIN_3;}}}
 return r;}

extern OBJ _APartName_27(OBJ x1,OBJ x2) /* < */
{OBJ r;
 {OBJ x18;OBJ x10;OBJ x19;
  if(ISPRM(x2)){
   HLT("PartName at <unknown> : undefined selection ide\'PartName:partName->rep");
  }else{
   {OBJ x11=FLD1(x2,1);
    CPPRD(x11,1);
    x18=x11;}}
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection ide\'PartName:partName->rep");
  }else{
   {OBJ x3=FLD1(x1,1);
    CPPRD(x3,1);
    x10=x3;
    CPPRD(x18,1);}}
  CPPRD(x10,1);
  x19=_ARep_27(x10,x18);
  if(ISTGPRM(x19,1)){
   FREE(x1,1);
   FREE(x2,1);
   FRPRD(x10,1);
   FRPRD(x18,1);
   r=__ABUILTIN_5;
  }else{
   {OBJ x20;
    x20=_ARep_27(x18,x10);
    if(ISTGPRM(x20,1)){
     FREE(x1,1);
     FREE(x2,1);
     r=__ABUILTIN_3;
    }else{
     {OBJ x36;OBJ x28;OBJ x37;
      if(ISPRM(x2)){
       HLT("PartName at <unknown> : undefined selection kind\'PartName:partName->kind");
      }else{
       {OBJ x33=FLD1(x2,5);
	COPY(x33,1);
	x36=x33;}}
      if(ISPRM(x1)){
       HLT("PartName at <unknown> : undefined selection kind\'PartName:partName->kind");
      }else{
       {OBJ x25=FLD1(x1,5);
	COPY(x25,1);
	x28=x25;
	COPY(x36,1);}}
      COPY(x28,1);
      x37=_APartName_54(x28,x36);
      if(ISTGPRM(x37,1)){
       FREE(x1,1);
       FREE(x2,1);
       FREE(x28,1);
       FREE(x36,1);
       r=__ABUILTIN_5;
      }else{
       {OBJ x38;
	x38=_APartName_54(x36,x28);
	if(ISTGPRM(x38,1)){
	 FREE(x1,1);
	 FREE(x2,1);
	 r=__ABUILTIN_3;
	}else{
	 {OBJ x54;OBJ x46;OBJ x55;OBJ x56;
	  if(ISPRM(x2)){
	   HLT("PartName at <unknown> : undefined selection paramS\'PartName:partName->seq");
	  }else{
	   {OBJ x49=FLD1(x2,3);
	    COPY(x49,1);
	    x54=x49;}}
	  if(ISPRM(x1)){
	   HLT("PartName at <unknown> : undefined selection paramS\'PartName:partName->seq");
	  }else{
	   {OBJ x41=FLD1(x1,3);
	    COPY(x41,1);
	    x46=x41;
	    CPCLS(__APartName_27,1);
	    CPCLS(__ARelCmp_7,1);}}
	  x55=_ASeqCompare_2(__APartName_27,x46,x54);
	  COPY(x55,1);
	  x56=(*(OBJ(*)(OBJ,OBJ))METHOD(__ARelCmp_7,1))(__ARelCmp_7,x55);
	  if(ISTGPRM(x56,1)){
	   FREE(x1,1);
	   FREE(x2,1);
	   FREE(x55,1);
	   r=__ABUILTIN_5;
	  }else{
	   CPCLS(__ARelCmp_3,1);
	   {OBJ x57;
	    x57=(*(OBJ(*)(OBJ,OBJ))METHOD(__ARelCmp_3,1))(__ARelCmp_3,x55);
	    if(ISTGPRM(x57,1)){
	     FREE(x1,1);
	     FREE(x2,1);
	     r=__ABUILTIN_3;
	    }else{
	     {OBJ x73;OBJ x65;
	      if(ISPRM(x2)){
	       HLT("PartName at <unknown> : undefined selection structIde\'PartName:partName->option");
	      }else{
	       {OBJ x67=FLD1(x2,2);
		if(EXPRD(x2,1)){
		 x73=x67;
		 FLD1(x2,2)=NIL;DSPRD(x2);
		}else{
		 COPY(x67,1);
		 x73=x67;
		 FRPRD(x2,1);}}}
	      if(ISPRM(x1)){
	       HLT("PartName at <unknown> : undefined selection structIde\'PartName:partName->option");
	      }else{
	       {OBJ x59=FLD1(x1,2);
		if(EXPRD(x1,1)){
		 x65=x59;
		 FLD1(x1,2)=NIL;DSPRD(x1);
		}else{
		 COPY(x59,1);
		 x65=x59;
		 FRPRD(x1,1);}
		CPCLS(__ARep_27,1);}}
	      r=_AOption_10(__ARep_27,x65,x73);}}}}}}}}}}}}}
 return r;}

extern OBJ _APartName_28(OBJ x1) /* ` */
{OBJ r;
 if(ISPRM(x1)){
  CPPRD(__APartName_58,1);
  r=__APartName_58;
 }else{
  {OBJ x212=FLD1(x1,1);OBJ x213=FLD1(x1,2);OBJ x214=FLD1(x1,3);OBJ x216=FLD1(x1,5);OBJ x217=FLD1(x1,6);
   if(EXPRD(x1,1)){
    FLD1(x1,1)=NIL;FLD1(x1,2)=NIL;FLD1(x1,3)=NIL;FLD1(x1,5)=NIL;FLD1(x1,6)=NIL;DSPRD(x1);
   }else{
    CPPRD(x212,1);COPY(x213,1);COPY(x214,1);COPY(x216,1);COPY(x217,1);
    FRPRD(x1,1);}
   if(ISPRM(x213)){
    {OBJ x220;OBJ x221;OBJ x222;OBJ x223;OBJ x224;OBJ x225;
     x220=_APragma_10(x217);
     x221=_APartName_29(x216);
     x222=_APartName_55(x214);
     x223=_ARep_119(x212);
     ADenotation_4(x221,x220,x224);
     ADenotation_4(x222,x224,x225);
     ADenotation_4(x223,x225,r);}
   }else{
    {OBJ x226=FLD1(x213,1);
     if(EXPRD(x213,1)){
      DSPRDF(x213);
     }else{
      CPPRD(x226,1);
      FRPRD(x213,1);}
     CPPRD(__ALexem_38,1);
     {OBJ x228;OBJ x229;OBJ x230;OBJ x231;OBJ x232;OBJ x233;OBJ x234;OBJ x235;OBJ x236;
      x228=_APragma_10(x217);
      x229=_APartName_29(x216);
      x230=_APartName_55(x214);
      x231=_ARep_119(x212);
      x232=_ARep_119(x226);
      ADenotation_4(x229,x228,x233);
      ADenotation_4(__ALexem_38,x232,x234);
      ADenotation_4(x230,x233,x235);
      ADenotation_4(x231,x234,x236);
      ADenotation_4(x236,x235,r);}}}}}
 return r;}

extern OBJ _APartName_29(OBJ x1) /* `,1 */
{OBJ r;
 if(ISPRM(x1)){
  switch(TGPRM(x1)){
   case 4:
    CPPRD(__ADenotation_3,1);
    r=__ADenotation_3;break;
   case 2:
    CPCLS(__APartName_63,1);
    r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartName_63,1))(__APartName_63,__ABUILTIN_20);break;
   case 0:
    CPCLS(__APartName_64,1);
    r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartName_64,1))(__APartName_64,__ABUILTIN_20);break;
   default: 
    CPCLS(__APartName_62,1);
    r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartName_62,1))(__APartName_62,__ABUILTIN_20);}
 }else{
  {OBJ x13=FLD1(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x13,1);
    FRPRD(x1,1);}
   CPCLS(__APartName_28,1);
   CPPRD(__ALexem_27,1);
   {OBJ x14;
    x14=_AFct_45(__APartName_28,__ABUILTIN_3,x13);
    ADenotation_4(__ALexem_27,x14,r);}}}
 return r;}

extern OBJ _APartName_30(OBJ x1) /* `` */
{OBJ r;
 if(ISPRM(x1)){
  CPPRD(__APartName_65,1);
  r=__APartName_65;
 }else{
  {OBJ x79=FLD1(x1,1);OBJ x80=FLD1(x1,2);OBJ x81=FLD1(x1,3);OBJ x83=FLD1(x1,5);
   if(EXPRD(x1,1)){
    FLD1(x1,1)=NIL;FLD1(x1,2)=NIL;FLD1(x1,3)=NIL;FLD1(x1,5)=NIL;DSPRD(x1);
   }else{
    CPPRD(x79,1);COPY(x80,1);COPY(x81,1);COPY(x83,1);
    FRPRD(x1,1);}
   {OBJ x93;OBJ x90;OBJ x87;OBJ x88;OBJ x94;OBJ x95;OBJ x99;OBJ x100;
    if(ISPRM(x81)){
     x93=__ABUILTIN_5;
    }else{
     x93=__ABUILTIN_3;}
    if(ISPRM(x80)){
     x90=__ABUILTIN_3;
    }else{
     x90=__ABUILTIN_5;}
    x87=_APartName_56(x83);
    x88=_ARep_119(x79);
    if(ISTGPRM(x93,1)){
     FREE(x81,1);
     CPPRD(__ARep_187,1);
     x94=__ARep_187;
    }else{
     x94=_APartName_57(x81);}
    ADenotation_4(x94,x87,x95);
    if(ISTGPRM(x90,1)){
     {OBJ x97;OBJ x98;
      if(ISPRM(x80)){
       HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
      }else{
       {OBJ x96=FLD1(x80,1);
	if(EXPRD(x80,1)){
	 x97=x96;
	 DSPRDF(x80);
	}else{
	 CPPRD(x96,1);
	 x97=x96;
	 FRPRD(x80,1);}
	CPPRD(__ALexem_38,1);}}
      x98=_ARep_119(x97);
      ADenotation_4(__ALexem_38,x98,x99);}
    }else{
     FREE(x80,1);
     CPPRD(__ARep_187,1);
     x99=__ARep_187;}
    ADenotation_4(x99,x95,x100);
    ADenotation_4(x88,x100,r);}}}
 return r;}

extern OBJ _APartName_31(OBJ x1) /* tPos */
{OBJ r;
 if(ISPRM(x1)){
  r=__AOcPos_9;
 }else{
  {OBJ x23=FLD1(x1,7);
   if(EXPRD(x1,1)){
    r=x23;
    FLD1(x1,7)=NIL;DSPRD(x1);
   }else{
    COPY(x23,1);
    r=x23;
    FRPRD(x1,1);}}}
 return r;}

extern OBJ _APartName_54(OBJ x1,OBJ x2) /* <,1 */
{OBJ r;
 if(ISPRM(x1)){
  switch(TGPRM(x1)){
   case 0:
    if(ISPRM(x2)&&(ISTGPRM(x2,3)||ISTGPRM(x2,2))){
     r=__ABUILTIN_5;
    }else{
     FREE(x2,1);
     r=__ABUILTIN_3;}break;
   case 2:
    if(ISPRM(x2)&&(ISTGPRM(x2,3))){
     r=__ABUILTIN_5;
    }else{
     FREE(x2,1);
     r=__ABUILTIN_3;}break;
   case 3:
    FREE(x2,1);
    r=__ABUILTIN_3;break;
   default: 
    if(ISPRM(x2)&&(ISTGPRM(x2,2)||ISTGPRM(x2,3)||ISTGPRM(x2,0))){
     r=__ABUILTIN_5;
    }else{
     FREE(x2,1);
     r=__ABUILTIN_3;}}
 }else{
  {OBJ x25=FLD1(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x25,1);
    FRPRD(x1,1);}
   if(ISPRD(x2)){
    {OBJ x26=FLD1(x2,1);
     if(EXPRD(x2,1)){
      DSPRDF(x2);
     }else{
      COPY(x26,1);
      FRPRD(x2,1);}
     CPCLS(__APartName_27,1);
     r=_AFct_22(__APartName_27,x25,x26);}
   }else{
    FREE(x2,1);
    FREE(x25,1);
    r=__ABUILTIN_5;}}}
 return r;}

extern OBJ _APartName_55(OBJ x1) /* `_pSeq */
{OBJ r;
 if(ISPRM(x1)){
  CPPRD(__ADenotation_3,1);
  r=__ADenotation_3;
 }else{
  {OBJ x22=FLD1(x1,1);OBJ x23=FLD1(x1,2);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x22,1);COPY(x23,1);
    FRPRD(x1,1);}
   CPCLS(__APartName_59,1);
   CPPRD(__APartName_60,1);
   CPPRD(__APartName_61,1);
   {OBJ x25;OBJ x26;OBJ x27;
    x25=_APartName_28(x22);
    x26=_ASeqReduce_3(__APartName_59,__APartName_60,x23);
    ADenotation_4(x25,x26,x27);
    ADenotation_4(__APartName_61,x27,r);}}}
 return r;}

extern OBJ _APartName_56(OBJ x1) /* ``,1 */
{OBJ r;
 if(ISPRM(x1)){
  switch(TGPRM(x1)){
   case 4:
    CPPRD(__ADenotation_3,1);
    r=__ADenotation_3;break;
   case 2:
    CPCLS(__APartName_68,1);
    r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartName_68,1))(__APartName_68,__ABUILTIN_20);break;
   case 0:
    CPCLS(__APartName_69,1);
    r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartName_69,1))(__APartName_69,__ABUILTIN_20);break;
   default: 
    CPCLS(__APartName_67,1);
    r=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartName_67,1))(__APartName_67,__ABUILTIN_20);}
 }else{
  {OBJ x13=FLD1(x1,1);
   if(EXPRD(x1,1)){
    DSPRDF(x1);
   }else{
    COPY(x13,1);
    FRPRD(x1,1);}
   CPCLS(__APartName_30,1);
   CPPRD(__ALexem_27,1);
   {OBJ x14;
    x14=_AFct_45(__APartName_30,__ABUILTIN_3,x13);
    ADenotation_4(__ALexem_27,x14,r);}}}
 return r;}

extern OBJ _APartName_57(OBJ x1) /* ``_pSeq */
{OBJ r;
 CPCLS(__APartName_30,1);
 CPPRD(__APartName_60,1);
 CPPRD(__APartName_61,1);
 CPPRD(__APartName_66,1);
 r=_ASeqConv_3(__APartName_61,__APartName_66,__APartName_60,__APartName_30,x1);
 return r;}

extern OBJ _APartName_59(OBJ x1,OBJ x2) /* `_pSeq'59 */
{OBJ r;
 CPPRD(__ASeqConv_8,1);
 {OBJ x3;OBJ x4;
  x3=_APartName_28(x1);
  ADenotation_4(x3,x2,x4);
  ADenotation_4(__ASeqConv_8,x4,r);}
 return r;}

extern OBJ _APartName_62(OBJ x1) /* `,1'62 */
{OBJ r;
 CPPRD(__ALexem_27,1);
 CPPRD(__ALexem_61,1);
 ADenotation_4(__ALexem_27,__ALexem_61,r);
 return r;}

extern OBJ _APartName_63(OBJ x1) /* `,1'63 */
{OBJ r;
 CPPRD(__ALexem_27,1);
 CPPRD(__ALexem_48,1);
 ADenotation_4(__ALexem_27,__ALexem_48,r);
 return r;}

extern OBJ _APartName_64(OBJ x1) /* `,1'64 */
{OBJ r;
 CPPRD(__ALexem_20,1);
 CPPRD(__ALexem_27,1);
 ADenotation_4(__ALexem_27,__ALexem_20,r);
 return r;}

extern OBJ _APartName_67(OBJ x1) /* ``,1'67 */
{OBJ r;
 CPPRD(__ALexem_27,1);
 CPPRD(__ALexem_61,1);
 ADenotation_4(__ALexem_27,__ALexem_61,r);
 return r;}

extern OBJ _APartName_68(OBJ x1) /* ``,1'68 */
{OBJ r;
 CPPRD(__ALexem_27,1);
 CPPRD(__ALexem_48,1);
 ADenotation_4(__ALexem_27,__ALexem_48,r);
 return r;}

extern OBJ _APartName_69(OBJ x1) /* ``,1'69 */
{OBJ r;
 CPPRD(__ALexem_20,1);
 CPPRD(__ALexem_27,1);
 ADenotation_4(__ALexem_27,__ALexem_20,r);
 return r;}






init_APartName()
{
 static int visited=0; if(visited) return; visited=1;
 init_AFct();
 init_ASeq();
 init_ARep();
 init_AOcPos();
 init_APragma();
 init_AOption();
 init_ANat();
 init_AChar();
 init_ASeqReduce();
 init_ADenotation();
 init_ASeqCompare();
 init_ALexem();
 init_ASeqConv();
 init_AString();
 init_ARelCmp();
 init_AArray();
 init_ASet();
 init_AInt();
 LCLS(1,_APartName_63,__APartName_63);
 CLS(1,_APartName_31,__APartName_31);
 LCLS(1,_APartName_62,__APartName_62);
 CLS(1,_APartName_30,__APartName_30);
 DEN("[",__APartName_61);
 CLS(1,_APartName_29,__APartName_29);
 DEN("]",__APartName_60);
 CLS(1,_APartName_28,__APartName_28);
 CLS(2,_APartName_59,__APartName_59);
 CLS(2,_APartName_27,__APartName_27);
 DEN("noName available",__APartName_58);
 CLS(2,_APartName_26,__APartName_26);
 CLS(2,_APartName_25,__APartName_25);
 CLS(1,_APartName_57,__APartName_57);
 CLS(1,_APartName_24,__APartName_24);
 CLS(1,_APartName_56,__APartName_56);
 CLS(1,_APartName_55,__APartName_55);
 CLS(1,_APartName_22,__APartName_22);
 CLS(2,_APartName_54,__APartName_54);
 CLS(1,_APartName_21,__APartName_21);
 CLS(1,_APartName_20,__APartName_20);
 CLS(1,_APartName_19,__APartName_19);
 CLS(1,_APartName_18,__APartName_18);
 CLS(1,_APartName_17,__APartName_17);
 CLS(1,_APartName_16,__APartName_16);
 CLS(1,_APartName_15,__APartName_15);
 CLS(7,_APartName_14,__APartName_14);
 CLS(1,_APartName_12,__APartName_12);
 CLS(1,_APartName_10,__APartName_10);
 CLS(1,_APartName_9,__APartName_9);
 CLS(1,_APartName_8,__APartName_8);
 CLS(1,_APartName_7,__APartName_7);
 LCLS(1,_APartName_69,__APartName_69);
 CLS(1,_APartName_5,__APartName_5);
 LCLS(1,_APartName_68,__APartName_68);
 LCLS(1,_APartName_67,__APartName_67);
 CLS(1,_APartName_3,__APartName_3);
 DEN(", ",__APartName_66);
 DEN("noName",__APartName_65);
 LCLS(1,_APartName_64,__APartName_64);
 PRM(4,__APartName_2);
 PRM(3,__APartName_4);
 PRM(2,__APartName_6);
 PRM(0,__APartName_11);
 PRM1(__APartName_23);}

