

#include "BUILTIN.h"
extern OBJ _ACompose_4(OBJ,OBJ,OBJ);extern OBJ __ACompose_4;

#include "Denotation.h"
extern OBJ _AMySeqFun1_20(OBJ,OBJ,OBJ,OBJ);extern OBJ __AMySeqFun1_20;
extern OBJ _AObjects_14(OBJ);extern OBJ __AObjects_14;
extern OBJ _AObjects_18(OBJ);extern OBJ __AObjects_18;
extern OBJ _AObjects_28(OBJ,OBJ);extern OBJ __AObjects_28;
extern OBJ _AObjects_31(OBJ,OBJ);extern OBJ __AObjects_31;
extern OBJ _AMySeqFun2_14(OBJ,OBJ,OBJ);extern OBJ __AMySeqFun2_14;
extern OBJ _AGlobSig_52(OBJ);extern OBJ __AGlobSig_52;
extern OBJ _AGlobSig_85(OBJ,OBJ);extern OBJ __AGlobSig_85;

#include "NatConv.h"
extern OBJ __AGlobSigImpl_22;
extern OBJ _APairConv_4(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);extern OBJ __APairConv_4;
extern OBJ _AImpExpEntry_6(OBJ);extern OBJ __AImpExpEntry_6;
extern OBJ _AImpExpEntry_10(OBJ);extern OBJ __AImpExpEntry_10;
extern OBJ _AImpExpEntry_11(OBJ);extern OBJ __AImpExpEntry_11;
extern OBJ _AImpExpEntry_16(OBJ);extern OBJ __AImpExpEntry_16;
extern OBJ _AImpExpEntry_49(OBJ);extern OBJ __AImpExpEntry_49;
extern OBJ __AImpExpEntry_84;
extern OBJ _AImpExpEntry_120(OBJ,OBJ);extern OBJ __AImpExpEntry_120;
extern OBJ _AImpExpEntry_125(OBJ);extern OBJ __AImpExpEntry_125;
extern OBJ _AImpExpEntry_126(OBJ);extern OBJ __AImpExpEntry_126;
extern OBJ _AImpExpEntry_131(OBJ,OBJ);extern OBJ __AImpExpEntry_131;
extern OBJ _AImpExpEntry_133(OBJ,OBJ);extern OBJ __AImpExpEntry_133;
extern OBJ _AImpExpEntry_134(OBJ,OBJ);extern OBJ __AImpExpEntry_134;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern TUP2 _ASeqFilter_8(OBJ,OBJ);extern OBJ __ASeqFilter_8;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _AName_31(OBJ,OBJ);extern OBJ __AName_31;
extern OBJ _ASeqOfSeq_2(OBJ);extern OBJ __ASeqOfSeq_2;
extern OBJ __ARep_187;

#include "Nat.h"

#include "Int.h"
extern OBJ __ASeq_6;
extern OBJ _ASeq_26(OBJ,OBJ);extern OBJ __ASeq_26;
extern OBJ _ASeq_40(OBJ,OBJ);extern OBJ __ASeq_40;

#include "Real.h"
extern OBJ _APair_4(OBJ);extern OBJ __APair_4;
extern OBJ __AOption_5;
extern TUP2 _ATable_8(OBJ,OBJ);extern OBJ __ATable_8;
extern OBJ __ATable_10;
extern OBJ _ATable_17(OBJ,OBJ,OBJ);extern OBJ __ATable_17;
extern OBJ _ADArray_15(OBJ,OBJ,OBJ);extern OBJ __ADArray_15;
extern OBJ _ADArray_20(OBJ,OBJ);extern OBJ __ADArray_20;
extern OBJ _ADArray_21(OBJ,OBJ);extern OBJ __ADArray_21;
extern OBJ _ADArrayReduce_6(OBJ,OBJ,OBJ);extern OBJ __ADArrayReduce_6;

#include "Char.h"

#include "Bitset.h"

#include "Array.h"
extern OBJ __AAttributes_11;
extern OBJ _AAttributes_14(OBJ);extern OBJ __AAttributes_14;
extern OBJ _AMaps4SigAna_2(OBJ);OBJ __AMaps4SigAna_2; /* mtImpDeclMap */
extern TUP2 _AMaps4SigAna_3(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_3; /* defImpDeclSort */
extern TUP2 _AMaps4SigAna_4(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_4; /* defImpDeclOp */
extern TUP2 _AMaps4SigAna_5(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_5; /* defImpDeclOpCons */
extern OBJ _AMaps4SigAna_6(OBJ,OBJ);OBJ __AMaps4SigAna_6; /* mergeImpDecls */
extern TUP2 _AMaps4SigAna_7(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_7; /* defSignImpSort */
extern TUP2 _AMaps4SigAna_8(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_8; /* defSignImpOp */
extern TUP2 _AMaps4SigAna_9(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_9; /* defSignImpOpCons */
extern OBJ _AMaps4SigAna_10(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_10; /* addTransInstS */
OBJ __AMaps4SigAna_12; /* mtInstMap */
extern TUP2 _AMaps4SigAna_13(OBJ);OBJ __AMaps4SigAna_13; /* addPreInst */
extern OBJ _AMaps4SigAna_14(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_14; /* defGenTransInst */
extern OBJ _AMaps4SigAna_15(OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_15; /* defGenericTransitives */
extern OBJ _AMaps4SigAna_16(OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_16; /* defTransInst */
extern OBJ _AMaps4SigAna_17(OBJ,OBJ);OBJ __AMaps4SigAna_17; /* defSignIdentInst */
extern OBJ _AMaps4SigAna_18(OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_18; /* defSignGenTransInst */
extern OBJ _AMaps4SigAna_19(OBJ,OBJ);OBJ __AMaps4SigAna_19; /* isGenTransInsts */
OBJ __AMaps4SigAna_21; /* mtOnlyMap */
extern OBJ _AMaps4SigAna_22(OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_22; /* addOnly */
OBJ __AMaps4SigAna_24; /* mtStrDecTab */
extern OBJ _AMaps4SigAna_25(OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_25; /* def */
extern TUP2 _AMaps4SigAna_26(OBJ,OBJ);OBJ __AMaps4SigAna_26; /* ! */
extern OBJ _AMaps4SigAna_27(OBJ);OBJ __AMaps4SigAna_27; /* turbo */
extern OBJ _AMaps4SigAna_28(OBJ);OBJ __AMaps4SigAna_28; /* ` */
OBJ __AMaps4SigAna_30; /* mtInstDecTab */
extern OBJ _AMaps4SigAna_31(OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_31; /* def,1 */
extern OBJ _AMaps4SigAna_32(OBJ,OBJ);OBJ __AMaps4SigAna_32; /* !,1 */
extern OBJ _AMaps4SigAna_33(OBJ);OBJ __AMaps4SigAna_33; /* tabOf */
extern OBJ _AMaps4SigAna_34(OBJ);OBJ __AMaps4SigAna_34; /* tabOf,1 */
extern OBJ _AMaps4SigAna_35(OBJ);OBJ __AMaps4SigAna_35; /* tabOf,2 */
extern OBJ _AMaps4SigAna_36(OBJ);OBJ __AMaps4SigAna_36; /* tabOf,3 */
extern OBJ _AMaps4SigAna_37(OBJ);OBJ __AMaps4SigAna_37; /* tabOf,4 */
extern OBJ _AMaps4SigAna_38(OBJ);OBJ __AMaps4SigAna_38; /* instMap */
extern OBJ _AMaps4SigAna_39(OBJ);OBJ __AMaps4SigAna_39; /* impDeclMap */
extern OBJ _AMaps4SigAna_40(OBJ);OBJ __AMaps4SigAna_40; /* instDecTab */
extern OBJ _AMaps4SigAna_41(OBJ);OBJ __AMaps4SigAna_41; /* instDecTab? */
extern OBJ _AMaps4SigAna_43(OBJ);OBJ __AMaps4SigAna_43; /* strDecTab */
extern OBJ _AMaps4SigAna_44(OBJ);OBJ __AMaps4SigAna_44; /* strDecTab? */
extern OBJ _AMaps4SigAna_46(OBJ);OBJ __AMaps4SigAna_46; /* onlyMap */
extern OBJ _AMaps4SigAna_47(OBJ);OBJ __AMaps4SigAna_47; /* onlyMap? */
extern OBJ _AMaps4SigAna_50(OBJ);OBJ __AMaps4SigAna_50; /* instMap? */
extern OBJ _AMaps4SigAna_53(OBJ);OBJ __AMaps4SigAna_53; /* impDeclMap? */
extern OBJ _AMaps4SigAna_55(OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_55; /* mergeImpDecls,1 */
extern OBJ _AMaps4SigAna_57(OBJ,OBJ);OBJ __AMaps4SigAna_57; /* mergeTypes */
extern OBJ _AMaps4SigAna_58(OBJ,OBJ);OBJ __AMaps4SigAna_58; /* ID */
extern OBJ _AMaps4SigAna_59(OBJ,OBJ);OBJ __AMaps4SigAna_59; /* eqVariant */
extern OBJ _AMaps4SigAna_60(OBJ,OBJ);OBJ __AMaps4SigAna_60; /* insert */
extern OBJ _AMaps4SigAna_61(OBJ,OBJ);OBJ __AMaps4SigAna_61; /* notEq */
extern OBJ _AMaps4SigAna_62(OBJ);OBJ __AMaps4SigAna_62; /* toAppls */
extern OBJ _AMaps4SigAna_63(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_63; /* addInsts */
extern OBJ _AMaps4SigAna_64(OBJ,OBJ);OBJ __AMaps4SigAna_64; /* hasInst */
OBJ __AMaps4SigAna_65; /* firstInst */
extern OBJ _AMaps4SigAna_66(OBJ);OBJ __AMaps4SigAna_66; /* `,1 */
extern OBJ _AMaps4SigAna_67(OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_67; /* updLookupSort */
extern OBJ _AMaps4SigAna_68(OBJ,OBJ,OBJ,OBJ);OBJ __AMaps4SigAna_68; /* updLookupOp */
extern OBJ _AMaps4SigAna_69(OBJ,OBJ);OBJ __AMaps4SigAna_69; /* ins */
extern OBJ _AMaps4SigAna_70(OBJ,OBJ);OBJ __AMaps4SigAna_70; /* noEqStruct */
extern OBJ _AMaps4SigAna_71(OBJ,OBJ);OBJ __AMaps4SigAna_71; /* eqId */
extern OBJ _AMaps4SigAna_72(OBJ);OBJ __AMaps4SigAna_72; /* toAppls'72 */
extern OBJ _AMaps4SigAna_73(OBJ);OBJ __AMaps4SigAna_73; /* toAppls'73 */
extern OBJ _AMaps4SigAna_74(OBJ);OBJ __AMaps4SigAna_74; /* toAppls'74 */
extern OBJ _AMaps4SigAna_75(OBJ);OBJ __AMaps4SigAna_75; /* defSignImpSort'75 */
extern OBJ _AMaps4SigAna_76(OBJ);OBJ __AMaps4SigAna_76; /* defSignImpOp'76 */
extern OBJ _AMaps4SigAna_77(OBJ);OBJ __AMaps4SigAna_77; /* defSignImpOpCons'77 */
extern OBJ _AMaps4SigAna_78(OBJ,OBJ);OBJ __AMaps4SigAna_78; /* defGenericTransitives'78 */
extern OBJ _AMaps4SigAna_79(OBJ);OBJ __AMaps4SigAna_79; /* `,1'79 */
OBJ __AMaps4SigAna_80; /* `,1'80 */
extern OBJ _AMaps4SigAna_81(OBJ);OBJ __AMaps4SigAna_81; /* `'81 */
OBJ __AMaps4SigAna_82; /* `'82 */
extern OBJ _AMaps4SigAna_83(OBJ);OBJ __AMaps4SigAna_83; /* `'83 */
OBJ __AMaps4SigAna_84; /* `'84 */

extern OBJ _AMaps4SigAna_2(OBJ x1) /* mtImpDeclMap */
{OBJ r;
 CPPRD(__ATable_10,1);
 r=__ATable_10;
 return r;}

extern TUP2 _AMaps4SigAna_3(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* defImpDeclSort */
{TUP2 r;
 CPPRD(x3,1);
 CPPRD(x5,1);
 {OBJ x8;OBJ x10;
  PRD(3,0,x8);FLD(x8,1)=x5;FLD(x8,2)=x6;FLD(x8,3)=x7;
  r.c1=_AMaps4SigAna_67(x1,x5,x2,x4);
  x10=_AMaps4SigAna_55(x4,x3,x8);
  r.c2=_ADArray_15(x3,x4,x10);}
 return r;}
extern OBJ _AMaps4SigAna_3_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* defImpDeclSort */
{OBJ r;
 {TUP2 t=_AMaps4SigAna_3(x1,x2,x3,x4,x5,x6,x7);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AMaps4SigAna_4(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* defImpDeclOp */
{TUP2 r;
 CPPRD(x3,1);
 CPPRD(x5,1);
 {OBJ x9;OBJ x11;
  PRD(4,1,x9);FLD(x9,1)=x5;FLD(x9,2)=x6;FLD(x9,3)=x7;FLD(x9,4)=x8;
  r.c1=_AMaps4SigAna_68(x1,x5,x2,x4);
  x11=_AMaps4SigAna_55(x4,x3,x9);
  r.c2=_ADArray_15(x3,x4,x11);}
 return r;}
extern OBJ _AMaps4SigAna_4_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* defImpDeclOp */
{OBJ r;
 {TUP2 t=_AMaps4SigAna_4(x1,x2,x3,x4,x5,x6,x7,x8);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AMaps4SigAna_5(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8,OBJ x9) /* defImpDeclOpCons */
{TUP2 r;
 CPPRD(x3,1);
 CPPRD(x5,1);
 {OBJ x10;OBJ x12;
  PRD(5,2,x10);FLD(x10,1)=x5;FLD(x10,2)=x6;FLD(x10,3)=x7;FLD(x10,4)=x8;FLD(x10,5)=x9;
  r.c1=_AMaps4SigAna_68(x1,x5,x2,x4);
  x12=_AMaps4SigAna_55(x4,x3,x10);
  r.c2=_ADArray_15(x3,x4,x12);}
 return r;}
extern OBJ _AMaps4SigAna_5_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8,OBJ x9) /* defImpDeclOpCons */
{OBJ r;
 {TUP2 t=_AMaps4SigAna_5(x1,x2,x3,x4,x5,x6,x7,x8,x9);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AMaps4SigAna_6(OBJ x1,OBJ x2) /* mergeImpDecls */
{OBJ r;
 {OBJ x10;OBJ x3;OBJ x4;OBJ x11;
  if(ISTGPRD(x1,2)){
   CPPRD(x1,1);
   CPPRD(x2,1);
   CPCLS(__AImpExpEntry_131,1);
   CPCLS(__AImpExpEntry_134,1);
   x10=__ABUILTIN_5;
  }else{
   CPPRD(x1,1);
   CPPRD(x2,1);
   CPCLS(__AImpExpEntry_131,1);
   CPCLS(__AImpExpEntry_134,1);
   x10=__ABUILTIN_3;}
  x3=_AImpExpEntry_10(x1);
  x4=_AImpExpEntry_10(x2);
  x11=_AMySeqFun1_20(__AImpExpEntry_131,__AImpExpEntry_134,x3,x4);
  if(ISTGPRM(x10,1)){
   FRPRD(x2,1);
   r=_AImpExpEntry_120(x11,x1);
  }else{
   if(ISTGPRD(x2,2)){
    FRPRD(x1,1);
    r=_AImpExpEntry_120(x11,x2);
   }else{
    {OBJ x49;OBJ x50;
     if(ISTGPRD(x1,0)){
      x49=__ABUILTIN_5;
     }else{
      x49=__ABUILTIN_3;}
     if(ISTGPRM(x49,1)){
      x50=x49;
     }else{
      x50=__ABUILTIN_3;}
     if(ISTGPRM(x50,1)){
      CPPRD(x2,1);
      {OBJ x51;
       x51=_AImpExpEntry_11(x2);
       if(ISTGPRD(x1,0)){
	{OBJ x54=FLD(x1,3);
	 if(EXPRD(x1,1)){
	  FLD(x1,3)=NIL;DSPRD(x1);
	 }else{
	  COPY(x54,1);
	  FRPRD(x1,1);}
	 if(ISTGPRD(x2,0)){
	  {OBJ x57=FLD(x2,3);
	   if(EXPRD(x2,1)){
	    {
	     RPRD(x2,r);FRPRD(FLD(r,1),1);FLD(r,1)=x51;FREE(FLD(r,2),1);FLD(r,2)=x11;
	     FLD(r,3)=_AMaps4SigAna_57(x54,x57);}
	   }else{
	    COPY(x57,1);
	    {
	     FRPRD(x2,1);PRD(3,0,r);FLD(r,1)=x51;FLD(r,2)=x11;
	     FLD(r,3)=_AMaps4SigAna_57(x54,x57);}}}
	 }else{
	  HLT("ImpExpEntry at <unknown> : undefined selection type\'ImpExpEntry:impDeclE->impl");}}
       }else{
	HLT("ImpExpEntry at <unknown> : undefined selection type\'ImpExpEntry:impDeclE->impl");}}
     }else{
      FRPRD(x1,1);
      r=_AImpExpEntry_120(x11,x2);}}}}}
 return r;}

extern TUP2 _AMaps4SigAna_7(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* defSignImpSort */
{TUP2 r;
 {OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x15;OBJ x16;OBJ x17;
  if(ISPRM(x6)){
   CPPRD(x5,1);
   CPCLS(__AMaps4SigAna_75,1);
   x9=__ABUILTIN_5;
  }else{
   CPPRD(x5,1);
   CPCLS(__AMaps4SigAna_75,1);
   x9=__ABUILTIN_3;}
  x10=_AMaps4SigAna_67(x1,x5,x2,x4);
  x11=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_75,1))(__AMaps4SigAna_75,__ABUILTIN_20);
  x12=_ASeqMap_3(x11,x7);
  if(ISTGPRM(x9,1)){
   r.c1=x10;
   FREE(x6,1);
   x15=__AGlobSigImpl_22;
  }else{
   {OBJ x14;
    if(ISPRM(x6)){
     HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
    }else{
     {OBJ x13=FLD1(x6,1);
      if(EXPRD(x6,1)){
       r.c1=x10;x14=x13;
       DSPRDF(x6);
      }else{
       CPPRD(x13,1);
       r.c1=x10;x14=x13;
       FRPRD(x6,1);}}}
    PRD(1,3,x15);FLD(x15,1)=x14;}}
  PRD(3,0,x16);FLD(x16,1)=x5;FLD(x16,2)=x12;FLD(x16,3)=x15;
  r.c2=_ADArray_15(x3,x4,x16);}
 return r;}
extern OBJ _AMaps4SigAna_7_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7) /* defSignImpSort */
{OBJ r;
 {TUP2 t=_AMaps4SigAna_7(x1,x2,x3,x4,x5,x6,x7);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AMaps4SigAna_8(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* defSignImpOp */
{TUP2 r;
 CPCLS(__AMaps4SigAna_76,1);
 CPPRD(x5,1);
 {OBJ x10;OBJ x11;OBJ x12;
  r.c1=_AMaps4SigAna_68(x1,x5,x2,x4);
  x10=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_76,1))(__AMaps4SigAna_76,__ABUILTIN_20);
  x11=_ASeqMap_3(x10,x7);
  PRD(4,1,x12);FLD(x12,1)=x5;FLD(x12,2)=x11;FLD(x12,3)=x6;FLD(x12,4)=x8;
  r.c2=_ADArray_15(x3,x4,x12);}
 return r;}
extern OBJ _AMaps4SigAna_8_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8) /* defSignImpOp */
{OBJ r;
 {TUP2 t=_AMaps4SigAna_8(x1,x2,x3,x4,x5,x6,x7,x8);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern TUP2 _AMaps4SigAna_9(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8,OBJ x9) /* defSignImpOpCons */
{TUP2 r;
 CPCLS(__AMaps4SigAna_77,1);
 CPPRD(x5,1);
 {OBJ x11;OBJ x12;OBJ x13;
  r.c1=_AMaps4SigAna_68(x1,x5,x2,x4);
  x11=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_77,1))(__AMaps4SigAna_77,__ABUILTIN_20);
  x12=_ASeqMap_3(x11,x7);
  PRD(5,2,x13);FLD(x13,1)=x5;FLD(x13,2)=x12;FLD(x13,3)=x6;FLD(x13,4)=x8;FLD(x13,5)=x9;
  r.c2=_ADArray_15(x3,x4,x13);}
 return r;}
extern OBJ _AMaps4SigAna_9_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6,OBJ x7,OBJ x8,OBJ x9) /* defSignImpOpCons */
{OBJ r;
 {TUP2 t=_AMaps4SigAna_9(x1,x2,x3,x4,x5,x6,x7,x8,x9);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AMaps4SigAna_10(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* addTransInstS */
{OBJ r;
 CPCLS(__AMaps4SigAna_63,1);
 CPPRD(x1,1);
 {OBJ x6;
  x6=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AMaps4SigAna_63,3))(__AMaps4SigAna_63,x3,x4,x5);
  r=_ADArrayReduce_6(x6,x1,x1);}
 return r;}

extern TUP2 _AMaps4SigAna_13(OBJ x1) /* addPreInst */
{TUP2 r;
 CPPRD(__AAttributes_11,1);
 {
  PRD1(3,r.c2);FLD1(r.c2,2)=__ANat_5;FLD1(r.c2,3)=__AAttributes_11;
  {TUP2 t=_ATable_8(__AImpExpEntry_84,x1);
   FLD1(r.c2,1)=t.c1;
   r.c1=t.c2;}}
 return r;}
extern OBJ _AMaps4SigAna_13_c(OBJ x1) /* addPreInst */
{OBJ r;
 {TUP2 t=_AMaps4SigAna_13(x1);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AMaps4SigAna_14(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* defGenTransInst */
{OBJ r;
 {OBJ x6;
  PRD(3,6,x6);FLD(x6,1)=x3;FLD(x6,2)=x4;FLD(x6,3)=x5;
  r=_ADArray_15(x1,x2,x6);}
 return r;}

extern OBJ _AMaps4SigAna_15(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* defGenericTransitives */
{OBJ r;
 CPPRD(x1,1);
 {OBJ x5;
  x5=_ADArray_21(x1,x2);
  if(ISPRM(x5)){
   {OBJ x25;
    PRD(3,5,x25);FLD(x25,1)=x3;FLD(x25,2)=__ABUILTIN_5;FLD(x25,3)=x4;
    r=_ADArray_15(x1,x2,x25);}
  }else{
   if(EXPRD(x5,1)){
    FREE(FLD1(x5,1),1);DSPRDF(x5);
   }else{
    DCPRD(x5,1);}
   CPPRD(x1,1);
   {OBJ x27;
    x27=_ADArray_20(x1,x2);
    if(ISPRD(x27)&&(ISTGPRD(x27,5))){
     CPCLS(__AMaps4SigAna_78,1);
     CPCLS(__AObjects_31,1);
     {OBJ x31;OBJ x32;OBJ x33;
      x31=_AImpExpEntry_49(x27);
      x32=_AMySeqFun1_20(__AMaps4SigAna_78,__AObjects_31,x3,x31);
      PRD(3,5,x33);FLD(x33,1)=x32;FLD(x33,2)=__ABUILTIN_5;FLD(x33,3)=x4;
      r=_ADArray_15(x1,x2,x33);}
    }else{
     FREE(x27,1);
     {OBJ x34;
      PRD(3,5,x34);FLD(x34,1)=x3;FLD(x34,2)=__ABUILTIN_5;FLD(x34,3)=x4;
      r=_ADArray_15(x1,x2,x34);}}}}}
 return r;}

extern OBJ _AMaps4SigAna_16(OBJ x1,OBJ x2,OBJ x3) /* defTransInst */
{OBJ r;
 {OBJ x4;
  PRD(1,4,x4);FLD(x4,1)=x3;
  r=_ADArray_15(x1,x2,x4);}
 return r;}

extern OBJ _AMaps4SigAna_17(OBJ x1,OBJ x2) /* defSignIdentInst */
{OBJ r;
 {OBJ x10=FLD1(x1,1);OBJ x11=FLD1(x1,2);
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   COPY(x11,1);
   FRPRD(x1,1);}
  {OBJ x12;
   PRD(1,4,x12);FLD(x12,1)=x11;
   r=_ADArray_15(x2,x10,x12);}}
 return r;}

extern OBJ _AMaps4SigAna_18(OBJ x1,OBJ x2,OBJ x3) /* defSignGenTransInst */
{OBJ r;
 {OBJ x11=FLD1(x1,1);OBJ x12=FLD1(x1,2);
  if(EXPRD(x1,1)){
   DSPRDF(x1);
  }else{
   COPY(x12,1);
   FRPRD(x1,1);}
  {OBJ x13;
   PRD(3,5,x13);FLD(x13,1)=x12;FLD(x13,2)=__ABUILTIN_5;FLD(x13,3)=x2;
   r=_ADArray_15(x3,x11,x13);}}
 return r;}

extern OBJ _AMaps4SigAna_19(OBJ x1,OBJ x2) /* isGenTransInsts */
{OBJ r;
 {OBJ x3;
  x3=_ADArray_20(x1,x2);
  if(ISPRD(x3)&&(ISTGPRD(x3,5))){
   if(EXPRD(x3,1)){
    DSPRD(x3);
   }else{
    DCPRD(x3,1);}
   r=__ABUILTIN_5;
  }else{
   FREE(x3,1);
   r=__ABUILTIN_3;}}
 return r;}

extern OBJ _AMaps4SigAna_22(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* addOnly */
{OBJ r;
 {OBJ x5;OBJ x6;TUP2 x8;
  PRD1(2,x5);FLD1(x5,1)=x2;FLD1(x5,2)=x3;
  PRD1(2,x6);FLD1(x6,1)=x4;FLD1(x6,2)=x5;
  x8=_ATable_8(x6,x1);r=x8.c2;}
 return r;}

extern OBJ _AMaps4SigAna_25(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* def */
{OBJ r;
 {OBJ x5;
  PRD1(2,x5);FLD1(x5,1)=x3;FLD1(x5,2)=x4;
  r=_ADArray_15(x1,x2,x5);}
 return r;}

extern TUP2 _AMaps4SigAna_26(OBJ x1,OBJ x2) /* ! */
{TUP2 r;
 {OBJ x3;
  x3=_ADArray_20(x1,x2);
  {OBJ x10=FLD1(x3,1);OBJ x11=FLD1(x3,2);
   if(EXPRD(x3,1)){
    r.c1=x10;r.c2=x11;
    DSPRDF(x3);
   }else{
    CPPRD(x11,1);
    r.c1=x10;r.c2=x11;
    FRPRD(x3,1);}}}
 return r;}
extern OBJ _AMaps4SigAna_26_c(OBJ x1,OBJ x2) /* ! */
{OBJ r;
 {TUP2 t=_AMaps4SigAna_26(x1,x2);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AMaps4SigAna_27(OBJ x1) /* turbo */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_28(OBJ x1) /* ` */
{OBJ r;
 CPCLS(__AMaps4SigAna_83,1);
 CPPRD(__AMaps4SigAna_84,1);
 CPPRD(__ARep_187,1);
 {OBJ x3;OBJ x4;
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_83,1))(__AMaps4SigAna_83,__ABUILTIN_20);
  x4=_ATable_17(__ARep_187,x3,x1);
  ADenotation_4(__AMaps4SigAna_84,x4,r);}
 return r;}

extern OBJ _AMaps4SigAna_31(OBJ x1,OBJ x2,OBJ x3) /* def,1 */
{OBJ r;
 r=_ADArray_15(x1,x2,x3);
 return r;}

extern OBJ _AMaps4SigAna_32(OBJ x1,OBJ x2) /* !,1 */
{OBJ r;
 r=_ADArray_20(x1,x2);
 return r;}

extern OBJ _AMaps4SigAna_33(OBJ x1) /* tabOf */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_34(OBJ x1) /* tabOf,1 */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_35(OBJ x1) /* tabOf,2 */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_36(OBJ x1) /* tabOf,3 */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_37(OBJ x1) /* tabOf,4 */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_38(OBJ x1) /* instMap */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_39(OBJ x1) /* impDeclMap */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_40(OBJ x1) /* instDecTab */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_41(OBJ x1) /* instDecTab? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AMaps4SigAna_43(OBJ x1) /* strDecTab */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_44(OBJ x1) /* strDecTab? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AMaps4SigAna_46(OBJ x1) /* onlyMap */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_47(OBJ x1) /* onlyMap? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AMaps4SigAna_50(OBJ x1) /* instMap? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AMaps4SigAna_53(OBJ x1) /* impDeclMap? */
{OBJ r;
 FRPRD(x1,1);
 r=__ABUILTIN_5;
 return r;}

extern OBJ _AMaps4SigAna_55(OBJ x1,OBJ x2,OBJ x3) /* mergeImpDecls,1 */
{OBJ r;
 {OBJ x4;
  x4=_ADArray_21(x2,x1);
  if(ISPRM(x4)){
   r=x3;
  }else{
   {OBJ x9=FLD1(x4,1);
    if(EXPRD(x4,1)){
     DSPRDF(x4);
    }else{
     CPPRD(x9,1);
     FRPRD(x4,1);}
    r=_AMaps4SigAna_6(x9,x3);}}}
 return r;}

extern OBJ _AMaps4SigAna_57(OBJ x1,OBJ x2) /* mergeTypes */
{OBJ r;
 if(ISPRM(x1)&&(ISTGPRM(x1,0))){
  r=x2;
 }else{
  if(ISPRM(x2)&&(ISTGPRM(x2,0))){
   r=x1;
  }else{
   if(ISPRD(x1)&&(ISTGPRD(x1,3))){
    {OBJ x66=FLD(x1,1);
     if(EXPRD(x1,1)){
      DSPRDF(x1);
     }else{
      CPPRD(x66,1);
      FRPRD(x1,1);}
     if(ISPRD(x2)&&(ISTGPRD(x2,3))){
      {OBJ x67=FLD(x2,1);FLAG x_x2=EXPRD(x2,1);
       if(x_x2){
       }else{
	CPPRD(x67,1);}
       {OBJ x68=FLD1(x66,1);OBJ x69=FLD1(x66,2);OBJ x70=FLD1(x66,3);FLAG x_x66=EXPRD(x66,1);
	if(x_x66){
	}else{
	 COPY(x68,1);COPY(x69,1);COPY(x70,1);}
	{OBJ x72=FLD1(x67,2);
	 if(EXPRD(x67,1)){
	  FLD1(x67,2)=NIL;DSPRD(x67);
	 }else{
	  COPY(x72,1);
	  FRPRD(x67,1);}
	 CPCLS(__AMaps4SigAna_58,1);
	 CPCLS(__AMaps4SigAna_59,1);
	 {OBJ x74;OBJ x75;
	  x74=_AMySeqFun1_20(__AMaps4SigAna_58,__AMaps4SigAna_59,x69,x72);
	  if(x_x66){
	   RSOME(x66,x75);FLD1(x75,2)=x74;
	  }else{
	   FRPRD(x66,1);PRD1(3,x75);FLD1(x75,1)=x68;FLD1(x75,2)=x74;FLD1(x75,3)=x70;}
	  if(x_x2){
	   RPRD(x2,r);FLD(r,1)=x75;
	  }else{
	   FRPRD(x2,1);PRD(1,3,r);FLD(r,1)=x75;}}}}}
     }else{
      HLT("GlobSigImpl at <unknown> : undefined selection impl\'GlobSigImpl:impl->sortImpl");}}
   }else{
    HLT("GlobSigImpl at <unknown> : undefined selection impl\'GlobSigImpl:impl->sortImpl");}}}
 return r;}

extern OBJ _AMaps4SigAna_58(OBJ x1,OBJ x2) /* ID */
{OBJ r;
 FRPRD(x2,1);
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_59(OBJ x1,OBJ x2) /* eqVariant */
{OBJ r;
 {OBJ x13=FLD1(x1,1);
  if(EXPRD(x1,1)){
   FLD1(x1,1)=NIL;DSPRD(x1);
  }else{
   COPY(x13,1);
   FRPRD(x1,1);}
  {OBJ x17=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FLD1(x2,1)=NIL;DSPRD(x2);
   }else{
    COPY(x17,1);
    FRPRD(x2,1);}
   {OBJ x21;
    x21=x17;
    r=_AName_31(x13,x21);}}}
 return r;}

extern OBJ _AMaps4SigAna_60(register OBJ x1,register OBJ x2) /* insert */
{OBJ r;
 for(;;){
  if(ISPRM(x2)){
   r=x1;
  }else{
   {OBJ x46=FLD1(x2,1);OBJ x47=FLD1(x2,2);FLAG x_x2=EXPRD(x2,1);
    if(x_x2){
     CPPRD(x46,1);
    }else{
     CPPRD(x46,2);COPY(x47,1);}
    CPCLS(__AMaps4SigAna_61,1);
    {OBJ x49;TUP2 x51;
     x49=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_61,1))(__AMaps4SigAna_61,x46);
     x51=_ASeqFilter_8(x49,x1);
     if(ISPRM(x51.c2)){
      {OBJ x53;
       if(x_x2){
	RSOME(x2,x53);FLD1(x53,2)=x51.c1;
       }else{
	FRPRD(x2,1);PRD1(2,x53);FLD1(x53,1)=x46;FLD1(x53,2)=x51.c1;}
       x1=x53;x2=x47;continue;}
     }else{
      {OBJ x54=FLD1(x51.c2,1);OBJ x55=FLD1(x51.c2,2);FLAG x_x51_c2=EXPRD(x51.c2,1);
       if(x_x51_c2){
       }else{
	CPPRD(x54,1);COPY(x55,1);}
       if(x_x2){
	DSPRDF(x2);
       }else{
	FRPRD(x2,1);}
       {OBJ x57;OBJ x58;OBJ x59;
	x57=_AImpExpEntry_131(x54,x46);
	x58=_ASeq_26(x51.c1,x55);
	if(x_x51_c2){
	 RSOME(x51.c2,x59);FLD1(x59,1)=x57;FLD1(x59,2)=x58;
	}else{
	 FRPRD(x51.c2,1);PRD1(2,x59);FLD1(x59,1)=x57;FLD1(x59,2)=x58;}
	x1=x59;x2=x47;continue;}}}}}}
  break;}
 return r;}

extern OBJ _AMaps4SigAna_61(OBJ x1,OBJ x2) /* notEq */
{OBJ r;
 {OBJ x11=FLD1(x1,1);
  if(EXPRD(x1,1)){
   FRPRD(FLD1(x1,3),1);DSPRDF(x1);
  }else{
   FRPRD(x1,1);}
  {OBJ x14=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FRPRD(FLD1(x2,3),1);DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   {OBJ x17;
    x17=x14;
    ANat_77(x11,x17,r);}}}
 return r;}

extern OBJ _AMaps4SigAna_62(OBJ x1) /* toAppls */
{OBJ r;
 CPCLS(__AMaps4SigAna_74,1);
 {OBJ x4;
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_74,1))(__AMaps4SigAna_74,__ABUILTIN_20);
  r=_ASeqMap_3(x4,x1);}
 return r;}

extern OBJ _AMaps4SigAna_63(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5,OBJ x6) /* addInsts */
{OBJ r;
 CPCLS(__AObjects_28,1);
 {OBJ x7;
  x7=_AMySeqFun2_14(__AObjects_28,x4,x3);
  if(ISTGPRM(x7,1)){
   FREE(x1,1);
   FREE(x2,1);
   FRPRD(x5,1);
   r=x6;
  }else{
   if(ISTGPRD(x5,0)){
    {OBJ x151=FLD(x5,3);
     COPY(x151,1);
     CPPRD(x5,1);
     CPCLS(__AMaps4SigAna_64,1);
     CPCLS(__AImpExpEntry_131,2);
     CPCLS(__AImpExpEntry_134,2);
     CPCLS(__APair_4,1);
     {OBJ x161;OBJ x162;OBJ x170;OBJ x177;OBJ x183;OBJ x188;OBJ x192;OBJ x195;OBJ x196;
      x161=_AImpExpEntry_10(x5);
      x162=_AImpExpEntry_11(x5);
      x170=_AMySeqFun1_20(__AImpExpEntry_131,__AImpExpEntry_134,x1,x161);
      COPY(x170,1);
      x177=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_64,1))(__AMaps4SigAna_64,x170);
      x183=_ASeqFilter_2(x177,x2);
      x188=_ASeqMap_3(__APair_4,x183);
      x192=_ASeqOfSeq_2(x188);
      x195=_AMySeqFun1_20(__AImpExpEntry_131,__AImpExpEntry_134,x192,x170);
      PRD(3,0,x196);FLD(x196,1)=x162;FLD(x196,2)=x195;FLD(x196,3)=x151;
      r=_ADArray_15(x6,x4,x196);}}
   }else{
    {OBJ x225;
     if(ISTGPRD(x5,1)){
      {OBJ x200=FLD(x5,4);
       COPY(x200,1);
       CPPRD(x5,2);
       CPCLS(__AMaps4SigAna_64,1);
       CPCLS(__AImpExpEntry_131,2);
       CPCLS(__AImpExpEntry_134,2);
       CPCLS(__APair_4,1);
       {OBJ x201;OBJ x202;OBJ x203;OBJ x204;OBJ x205;OBJ x206;OBJ x207;OBJ x208;OBJ x209;
	x201=_AImpExpEntry_10(x5);
	x202=_AImpExpEntry_11(x5);
	x203=_AImpExpEntry_16(x5);
	x204=_AMySeqFun1_20(__AImpExpEntry_131,__AImpExpEntry_134,x1,x201);
	COPY(x204,1);
	x205=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_64,1))(__AMaps4SigAna_64,x204);
	x206=_ASeqFilter_2(x205,x2);
	x207=_ASeqMap_3(__APair_4,x206);
	x208=_ASeqOfSeq_2(x207);
	x209=_AMySeqFun1_20(__AImpExpEntry_131,__AImpExpEntry_134,x208,x204);
	PRD(4,1,x225);FLD(x225,1)=x202;FLD(x225,2)=x209;FLD(x225,3)=x203;FLD(x225,4)=x200;}}
     }else{
      if(ISTGPRD(x5,2)){
       {OBJ x213=FLD(x5,4);OBJ x214=FLD(x5,5);
	COPY(x214,1);
	CPPRD(x5,2);
	CPCLS(__AMaps4SigAna_64,1);
	CPCLS(__AImpExpEntry_131,2);
	CPCLS(__AImpExpEntry_134,2);
	CPCLS(__APair_4,1);
	{OBJ x215;OBJ x216;OBJ x217;OBJ x219;OBJ x220;OBJ x221;OBJ x222;OBJ x223;OBJ x224;
	 x215=_AImpExpEntry_16(x5);
	 x216=_AImpExpEntry_11(x5);
	 x217=_AImpExpEntry_10(x5);
	 x219=_AMySeqFun1_20(__AImpExpEntry_131,__AImpExpEntry_134,x1,x217);
	 COPY(x219,1);
	 x220=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_64,1))(__AMaps4SigAna_64,x219);
	 x221=_ASeqFilter_2(x220,x2);
	 x222=_ASeqMap_3(__APair_4,x221);
	 x223=_ASeqOfSeq_2(x222);
	 x224=_AMySeqFun1_20(__AImpExpEntry_131,__AImpExpEntry_134,x223,x219);
	 PRD(5,2,x225);FLD(x225,1)=x216;FLD(x225,2)=x224;FLD(x225,3)=x215;FLD(x225,4)=x213;FLD(x225,5)=x214;}}
      }else{
       HLT("Maps4SigAna at <155,16-158,65> : missing else in addInsts\'Maps4SigAna:seq**seq**seq->nat**impDeclE**table->table");}}
     r=_ADArray_15(x6,x4,x225);}}}}
 return r;}

extern OBJ _AMaps4SigAna_64(OBJ x1,OBJ x2) /* hasInst */
{OBJ r;
 CPCLS(__AImpExpEntry_6,1);
 {OBJ x6;
  x6=_ASeqMap_3(__AImpExpEntry_6,x1);
  {OBJ x3=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FREE(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   CPCLS(__AObjects_31,1);
   {OBJ x5;
    x5=x3;
    r=_AMySeqFun2_14(__AObjects_31,x5,x6);}}}
 return r;}

extern OBJ _AMaps4SigAna_66(OBJ x1) /* `,1 */
{OBJ r;
 CPCLS(__AMaps4SigAna_79,1);
 CPPRD(__AMaps4SigAna_80,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_79,1))(__AMaps4SigAna_79,__ABUILTIN_20);
  r=_ATable_17(__AMaps4SigAna_80,x2,x1);}
 return r;}

extern OBJ _AMaps4SigAna_67(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* updLookupSort */
{OBJ r;
 COPY(x1,1);
 {OBJ x5;OBJ x10;
  PRD1F(2,x5);FLD1(x5,1)=x4;FLD1(x5,2)=__ASeq_6;
  x10=_AGlobSig_52(x1);
  {OBJ x6=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FRPRD(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   CPPRD(x10,1);
   {OBJ x9;OBJ x11;OBJ x12;OBJ x14;OBJ x55;OBJ x56;
    x9=x6;
    PRD1(2,x11);FLD1(x11,1)=x3;FLD1(x11,2)=x5;
    x12=_ADArray_21(x10,x9);
    if(ISPRM(x12)){
     x14=__ABUILTIN_5;
    }else{
     x14=__ABUILTIN_3;}
    if(ISTGPRM(x14,1)){
     FREE(x12,1);
     {OBJ x15;
      PRD1(2,x15);FLD1(x15,1)=x11;FLD1(x15,2)=__ASeq_6;
      PRD1(5,x55);FLD1(x55,1)=__AOption_5;FLD1(x55,2)=__ASeq_6;FLD1(x55,3)=__ASeq_6;FLD1(x55,4)=x15;FLD1(x55,5)=__ASeq_6;}
    }else{
     {OBJ x17;
      if(ISPRM(x12)){
       HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
      }else{
       {OBJ x16=FLD1(x12,1);
	if(EXPRD(x12,1)){
	 x17=x16;
	 DSPRDF(x12);
	}else{
	 CPPRD(x16,1);
	 x17=x16;
	 FRPRD(x12,1);}}}
      {OBJ x49;OBJ x50;OBJ x51;OBJ x52=FLD1(x17,4);OBJ x53;
       if(EXPRD(x17,1)){
	{
	 RSOME(x17,x55);
	 FLD1(x55,4)=_AMaps4SigAna_69(x11,x52);}
       }else{
	x49=FLD1(x17,1);x50=FLD1(x17,2);x51=FLD1(x17,3);x53=FLD1(x17,5);COPY(x49,1);COPY(x50,1);COPY(x51,1);COPY(x52,1);COPY(x53,1);
	{
	 FRPRD(x17,1);PRD1(5,x55);FLD1(x55,1)=x49;FLD1(x55,2)=x50;FLD1(x55,3)=x51;FLD1(x55,5)=x53;
	 FLD1(x55,4)=_AMaps4SigAna_69(x11,x52);}}}}}
    x56=_ADArray_15(x10,x9,x55);
    r=_AGlobSig_85(x1,x56);}}}
 return r;}

extern OBJ _AMaps4SigAna_68(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* updLookupOp */
{OBJ r;
 COPY(x1,1);
 {OBJ x5;OBJ x10;
  PRD1F(2,x5);FLD1(x5,1)=x4;FLD1(x5,2)=__ASeq_6;
  x10=_AGlobSig_52(x1);
  {OBJ x6=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FRPRD(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   CPPRD(x10,1);
   {OBJ x9;OBJ x11;OBJ x12;OBJ x14;OBJ x55;OBJ x56;
    x9=x6;
    PRD1(2,x11);FLD1(x11,1)=x3;FLD1(x11,2)=x5;
    x12=_ADArray_21(x10,x9);
    if(ISPRM(x12)){
     x14=__ABUILTIN_5;
    }else{
     x14=__ABUILTIN_3;}
    if(ISTGPRM(x14,1)){
     FREE(x12,1);
     {OBJ x15;
      PRD1(2,x15);FLD1(x15,1)=x11;FLD1(x15,2)=__ASeq_6;
      PRD1(5,x55);FLD1(x55,1)=__AOption_5;FLD1(x55,2)=__ASeq_6;FLD1(x55,3)=__ASeq_6;FLD1(x55,4)=__ASeq_6;FLD1(x55,5)=x15;}
    }else{
     {OBJ x17;
      if(ISPRM(x12)){
       HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
      }else{
       {OBJ x16=FLD1(x12,1);
	if(EXPRD(x12,1)){
	 x17=x16;
	 DSPRDF(x12);
	}else{
	 CPPRD(x16,1);
	 x17=x16;
	 FRPRD(x12,1);}}}
      {OBJ x49;OBJ x50;OBJ x51;OBJ x52;OBJ x53=FLD1(x17,5);
       if(EXPRD(x17,1)){
	{
	 RSOME(x17,x55);
	 FLD1(x55,5)=_AMaps4SigAna_69(x11,x53);}
       }else{
	x49=FLD1(x17,1);x50=FLD1(x17,2);x51=FLD1(x17,3);x52=FLD1(x17,4);COPY(x49,1);COPY(x50,1);COPY(x51,1);COPY(x52,1);COPY(x53,1);
	{
	 FRPRD(x17,1);PRD1(5,x55);FLD1(x55,1)=x49;FLD1(x55,2)=x50;FLD1(x55,3)=x51;FLD1(x55,4)=x52;
	 FLD1(x55,5)=_AMaps4SigAna_69(x11,x53);}}}}}
    x56=_ADArray_15(x10,x9,x55);
    r=_AGlobSig_85(x1,x56);}}}
 return r;}

extern OBJ _AMaps4SigAna_69(OBJ x1,OBJ x2) /* ins */
{OBJ r;
 {OBJ x61=FLD1(x1,1);OBJ x62=FLD1(x1,2);
  COPY(x62,1);
  CPCLS(__AMaps4SigAna_70,1);
  {OBJ x63;TUP2 x65;
   x63=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_70,1))(__AMaps4SigAna_70,x61);
   x65=_ASeqFilter_8(x63,x2);
   if(ISPRM(x65.c2)){
    FREE(x62,1);
    PRD1(2,r);FLD1(r,1)=x1;FLD1(r,2)=x65.c1;
   }else{
    {OBJ x67=FLD1(x65.c2,1);OBJ x68=FLD1(x65.c2,2);FLAG x_x65_c2=EXPRD(x65.c2,1);
     if(x_x65_c2){
     }else{
      CPPRD(x67,1);COPY(x68,1);}
     if(EXPRD(x1,1)){
      FREE(FLD1(x1,2),1);DSPRDF(x1);
     }else{
      DCPRD(x1,1);}
     {OBJ x71=FLD1(x67,2);
      COPY(x71,1);
      {OBJ x74;OBJ x75;OBJ x76;OBJ x78;OBJ x79;
       if(ISPRM(x62)){
	HLT("Seq at <unknown> : undefined selection ft\'Seq:seq->data");
       }else{
	{OBJ x72=FLD1(x62,1);
	 x74=x72;
	 COPY(x71,1);
	 CPCLS(__AMaps4SigAna_71,1);}}
       x75=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_71,1))(__AMaps4SigAna_71,x74);
       x76=_ASeq_40(x75,x71);
       if(ISTGPRM(x76,1)){
	x78=x67;
	FREE(x62,1);
	FREE(x71,1);
       }else{
	if(EXPRD(x67,1)){
	 FREE(FLD1(x67,2),1);DSPRDF(x67);
	}else{
	 DCPRD(x67,1);}
	{OBJ x77;
	 x77=_ASeq_26(x62,x71);
	 PRD1(2,x78);FLD1(x78,1)=x61;FLD1(x78,2)=x77;}}
       if(x_x65_c2){
	RSOME(x65.c2,x79);FLD1(x79,1)=x78;
       }else{
	FRPRD(x65.c2,1);PRD1(2,x79);FLD1(x79,1)=x78;FLD1(x79,2)=x68;}
       r=_ASeq_26(x65.c1,x79);}}}}}}
 return r;}

extern OBJ _AMaps4SigAna_70(OBJ x1,OBJ x2) /* noEqStruct */
{OBJ r;
 {OBJ x3=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FREE(FLD1(x2,2),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  {OBJ x5;
   x5=x3;
   ANat_77(x1,x5,r);}}
 return r;}

extern OBJ _AMaps4SigAna_71(OBJ x1,OBJ x2) /* eqId */
{OBJ r;
 ANat_76(x1,x2,r);
 return r;}

extern OBJ _AMaps4SigAna_72(OBJ x1) /* toAppls'72 */
{OBJ r;
 CPCLS(__AImpExpEntry_133,1);
 CPCLS(__AAttributes_14,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_133,1))(__AImpExpEntry_133,__AAttributes_14);
 return r;}

extern OBJ _AMaps4SigAna_73(OBJ x1) /* toAppls'73 */
{OBJ r;
 CPCLS(__AImpExpEntry_125,1);
 CPCLS(__AImpExpEntry_126,1);
 CPCLS(__ACompose_4,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__AImpExpEntry_126,__AImpExpEntry_125);
 return r;}

extern OBJ _AMaps4SigAna_74(OBJ x1) /* toAppls'74 */
{OBJ r;
 CPCLS(__AMaps4SigAna_72,1);
 CPCLS(__AMaps4SigAna_73,1);
 CPCLS(__ACompose_4,1);
 {OBJ x2;OBJ x3;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_72,1))(__AMaps4SigAna_72,__ABUILTIN_20);
  x3=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_73,1))(__AMaps4SigAna_73,__ABUILTIN_20);
  r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,x2,x3);}
 return r;}

extern OBJ _AMaps4SigAna_75(OBJ x1) /* defSignImpSort'75 */
{OBJ r;
 CPCLS(__AMaps4SigAna_74,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_74,1))(__AMaps4SigAna_74,__ABUILTIN_20);
 return r;}

extern OBJ _AMaps4SigAna_76(OBJ x1) /* defSignImpOp'76 */
{OBJ r;
 CPCLS(__AMaps4SigAna_74,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_74,1))(__AMaps4SigAna_74,__ABUILTIN_20);
 return r;}

extern OBJ _AMaps4SigAna_77(OBJ x1) /* defSignImpOpCons'77 */
{OBJ r;
 CPCLS(__AMaps4SigAna_74,1);
 r=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_74,1))(__AMaps4SigAna_74,__ABUILTIN_20);
 return r;}

extern OBJ _AMaps4SigAna_78(OBJ x1,OBJ x2) /* defGenericTransitives'78 */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _AMaps4SigAna_79(OBJ x1) /* `,1'79 */
{OBJ r;
 CPCLS(__AObjects_14,1);
 CPCLS(__ACompose_4,1);
 CPCLS(__ANatConv_1,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__ANatConv_1,__AObjects_14);
 return r;}

extern OBJ _AMaps4SigAna_81(OBJ x1) /* `'81 */
{OBJ r;
 CPCLS(__AObjects_18,1);
 CPCLS(__ACompose_4,1);
 CPCLS(__ANatConv_1,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,__ANatConv_1,__AObjects_18);
 return r;}

extern OBJ _AMaps4SigAna_83(OBJ x1) /* `'83 */
{OBJ r;
 CPCLS(__AMaps4SigAna_66,1);
 CPCLS(__AMaps4SigAna_81,1);
 CPPRD(__AMaps4SigAna_82,1);
 CPPRD(__ARep_187,2);
 CPCLS(__APairConv_4,1);
 {OBJ x2;
  x2=(*(OBJ(*)(OBJ,OBJ))METHOD(__AMaps4SigAna_81,1))(__AMaps4SigAna_81,__ABUILTIN_20);
  r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))METHOD(__APairConv_4,5))(__APairConv_4,__ARep_187,__AMaps4SigAna_82,__ARep_187,x2,__AMaps4SigAna_66);}
 return r;}






static OBJ _mt_1_0_2(OBJ t,OBJ t1,OBJ t2) 
{OBJ r;
 {OBJ t3;
  DCCLS(t,1);
  t3=(*(OBJ(*)(OBJ))ENTRY(t))(t1);
  r=(*(OBJ(*)(OBJ,OBJ))METHOD(t3,1))(t3,t2);}
 return r;}

static OBJ _mt_9_0_9(OBJ t,OBJ t1,OBJ t2,OBJ t3,OBJ t4,OBJ t5,OBJ t6,OBJ t7,OBJ t8,OBJ t9) 
{OBJ r;
 DCCLS(t,1);
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ,OBJ))ENTRY(t))(t1,t2,t3,t4,t5,t6,t7,t8,t9);
 return r;}

init_AMaps4SigAna()
{
 static int visited=0; if(visited) return; visited=1;
 init_AMap();
 init_ACompose();
 init_ADenotation();
 init_AMySeqFun1();
 init_AObjects();
 init_AMySeqFun2();
 init_AGlobSig();
 init_ANatConv();
 init_AGlobSigImpl();
 init_APairConv();
 init_AImpExpEntry();
 init_ASeqFilter();
 init_APartNameEntry();
 init_ASeqMap();
 init_AName();
 init_ASeqOfSeq();
 init_AFct();
 init_ASeqReduce();
 init_AImpl();
 init_ATableFun2();
 init_ARep();
 init_ACom();
 init_AOcPos();
 init_AVoid();
 init_ANat();
 init_AInt();
 init_ASeq();
 init_AReal();
 init_APair();
 init_ASetByBST();
 init_AOption();
 init_ABSTree();
 init_ATable();
 init_ATree();
 init_ADArray();
 init_ADArrayReduce();
 init_ANatMap();
 init_ALexem();
 init_AString();
 init_AChar();
 init_ASet();
 init_ABitset();
 init_AArray();
 init_APartName();
 init_APragma();
 init_AAttributes();
 init_APatterns();
 init_AUniqueTable();
 init_ADeclEntry();
 init_AGlobPragma();
 CLS(3,_AMaps4SigAna_31,__AMaps4SigAna_31);
 CLS(6,_AMaps4SigAna_63,__AMaps4SigAna_63);
 CLS(1,_AMaps4SigAna_62,__AMaps4SigAna_62);
 CLS(2,_AMaps4SigAna_61,__AMaps4SigAna_61);
 CLS(1,_AMaps4SigAna_28,__AMaps4SigAna_28);
 CLS(2,_AMaps4SigAna_60,__AMaps4SigAna_60);
 CLS(1,_AMaps4SigAna_27,__AMaps4SigAna_27);
 CLS(2,_AMaps4SigAna_59,__AMaps4SigAna_59);
 CLS(2,_AMaps4SigAna_26_c,__AMaps4SigAna_26);
 CLS(2,_AMaps4SigAna_58,__AMaps4SigAna_58);
 CLS(4,_AMaps4SigAna_25,__AMaps4SigAna_25);
 CLS(2,_AMaps4SigAna_57,__AMaps4SigAna_57);
 CLS(3,_AMaps4SigAna_55,__AMaps4SigAna_55);
 CLS(4,_AMaps4SigAna_22,__AMaps4SigAna_22);
 CLS(1,_AMaps4SigAna_53,__AMaps4SigAna_53);
 DEN("StrDecTab..\n",__AMaps4SigAna_84);
 LCLS(1,_AMaps4SigAna_83,__AMaps4SigAna_83);
 CLS(2,_AMaps4SigAna_19,__AMaps4SigAna_19);
 DEN("\n",__AMaps4SigAna_82);
 CLS(3,_AMaps4SigAna_18,__AMaps4SigAna_18);
 CLS(1,_AMaps4SigAna_50,__AMaps4SigAna_50);
 LCLS(1,_AMaps4SigAna_81,__AMaps4SigAna_81);
 CLS(2,_AMaps4SigAna_17,__AMaps4SigAna_17);
 DEN("  ",__AMaps4SigAna_80);
 CLS(3,_AMaps4SigAna_16,__AMaps4SigAna_16);
 LCLS(1,_AMaps4SigAna_79,__AMaps4SigAna_79);
 CLS(4,_AMaps4SigAna_15,__AMaps4SigAna_15);
 CLS(1,_AMaps4SigAna_47,__AMaps4SigAna_47);
 CLS(2,_AMaps4SigAna_78,__AMaps4SigAna_78);
 CLS(5,_AMaps4SigAna_14,__AMaps4SigAna_14);
 CLS(1,_AMaps4SigAna_46,__AMaps4SigAna_46);
 LCLS(1,_AMaps4SigAna_77,__AMaps4SigAna_77);
 CLS(1,_AMaps4SigAna_13_c,__AMaps4SigAna_13);
 LCLS(1,_AMaps4SigAna_76,__AMaps4SigAna_76);
 CLS(1,_AMaps4SigAna_44,__AMaps4SigAna_44);
 LCLS(1,_AMaps4SigAna_75,__AMaps4SigAna_75);
 CLS(1,_AMaps4SigAna_43,__AMaps4SigAna_43);
 LCLS(1,_AMaps4SigAna_74,__AMaps4SigAna_74);
 CLS(5,_AMaps4SigAna_10,__AMaps4SigAna_10);
 LCLS(1,_AMaps4SigAna_73,__AMaps4SigAna_73);
 CLS(9,_AMaps4SigAna_9_c,__AMaps4SigAna_9);
 CLS(1,_AMaps4SigAna_41,__AMaps4SigAna_41);
 LCLS(1,_AMaps4SigAna_72,__AMaps4SigAna_72);
 CLS(8,_AMaps4SigAna_8_c,__AMaps4SigAna_8);
 CLS(1,_AMaps4SigAna_40,__AMaps4SigAna_40);
 CLS(2,_AMaps4SigAna_71,__AMaps4SigAna_71);
 CLS(7,_AMaps4SigAna_7_c,__AMaps4SigAna_7);
 CLS(1,_AMaps4SigAna_39,__AMaps4SigAna_39);
 CLS(2,_AMaps4SigAna_70,__AMaps4SigAna_70);
 CLS(2,_AMaps4SigAna_6,__AMaps4SigAna_6);
 CLS(1,_AMaps4SigAna_38,__AMaps4SigAna_38);
 CLS(2,_AMaps4SigAna_69,__AMaps4SigAna_69);
 CLS(9,_AMaps4SigAna_5_c,__AMaps4SigAna_5);
 CLS(1,_AMaps4SigAna_37,__AMaps4SigAna_37);
 CLS(4,_AMaps4SigAna_68,__AMaps4SigAna_68);
 CLS(8,_AMaps4SigAna_4_c,__AMaps4SigAna_4);
 CLS(1,_AMaps4SigAna_36,__AMaps4SigAna_36);
 CLS(4,_AMaps4SigAna_67,__AMaps4SigAna_67);
 CLS(7,_AMaps4SigAna_3_c,__AMaps4SigAna_3);
 CLS(1,_AMaps4SigAna_35,__AMaps4SigAna_35);
 CLS(1,_AMaps4SigAna_66,__AMaps4SigAna_66);
 CLS(1,_AMaps4SigAna_2,__AMaps4SigAna_2);
 CLS(1,_AMaps4SigAna_34,__AMaps4SigAna_34);
 CLS(1,_AMaps4SigAna_33,__AMaps4SigAna_33);
 CLS(2,_AMaps4SigAna_32,__AMaps4SigAna_32);
 CLS(2,_AMaps4SigAna_64,__AMaps4SigAna_64);
 MTH(1,0,2,_mt_1_0_2);LZYMTH(1,0,2,_mt_1_0_2);
 MTH(9,0,9,_mt_9_0_9);LZYMTH(9,0,9,_mt_9_0_9);
 CPPRD(__ATable_10,1);
 __AMaps4SigAna_12=__ATable_10;
 CPPRD(__ATable_10,1);
 __AMaps4SigAna_21=__ATable_10;
 CPPRD(__ATable_10,1);
 __AMaps4SigAna_24=__ATable_10;
 CPPRD(__ATable_10,1);
 __AMaps4SigAna_30=_ADArray_15(__ATable_10,__ANat_5,__ANat_5);
 __AMaps4SigAna_65=__ANat_8;}

