

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

#include "Denotation.h"
extern OBJ _AName_11(OBJ);extern OBJ __AName_11;
extern OBJ _AName_12(OBJ);extern OBJ __AName_12;
extern OBJ _AName_34(OBJ);extern OBJ __AName_34;
extern OBJ _ASeqFilter_2(OBJ,OBJ);extern OBJ __ASeqFilter_2;
extern OBJ _AGlobSig_55(OBJ);extern OBJ __AGlobSig_55;
extern OBJ _AGlobSig_56(OBJ);extern OBJ __AGlobSig_56;
extern OBJ _AGlobSig_58(OBJ);extern OBJ __AGlobSig_58;
extern OBJ _AGlobSig_81(OBJ,OBJ);extern OBJ __AGlobSig_81;
extern OBJ _AGlobSig_82(OBJ,OBJ);extern OBJ __AGlobSig_82;
extern OBJ _AGlobSig_83(OBJ,OBJ);extern OBJ __AGlobSig_83;
extern OBJ _ASeqMap_3(OBJ,OBJ);extern OBJ __ASeqMap_3;
extern OBJ _APartNameEntry_26(OBJ);extern OBJ __APartNameEntry_26;
extern OBJ _APartNameEntry_50(OBJ,OBJ);extern OBJ __APartNameEntry_50;
extern OBJ _APartNameEntry_51(OBJ,OBJ);extern OBJ __APartNameEntry_51;
extern OBJ _APartNameEntry_52(OBJ,OBJ);extern OBJ __APartNameEntry_52;
extern OBJ _APartNameEntry_54(OBJ,OBJ);extern OBJ __APartNameEntry_54;
extern OBJ _APartNameEntry_55(OBJ,OBJ);extern OBJ __APartNameEntry_55;
extern OBJ _ASeqOfSeq_2(OBJ);extern OBJ __ASeqOfSeq_2;
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_91(OBJ);extern OBJ __AImpExpEntry_91;
extern OBJ _AImpExpEntry_92(OBJ);extern OBJ __AImpExpEntry_92;
extern OBJ _AImpExpEntry_93(OBJ);extern OBJ __AImpExpEntry_93;
extern OBJ _AImpExpEntry_116(OBJ,OBJ);extern OBJ __AImpExpEntry_116;
extern OBJ _AImpExpEntry_121(OBJ,OBJ);extern OBJ __AImpExpEntry_121;
extern OBJ _AImpExpEntry_123(OBJ,OBJ,OBJ);extern OBJ __AImpExpEntry_123;
extern OBJ _AImpExpEntry_126(OBJ);extern OBJ __AImpExpEntry_126;
extern OBJ _AImpExpEntry_127(OBJ);extern OBJ __AImpExpEntry_127;
extern OBJ _ASeqReduce_3(OBJ,OBJ,OBJ);extern OBJ __ASeqReduce_3;
extern OBJ __AObjects_30;
extern OBJ __AObjects_34;
extern OBJ _AObjects_37(OBJ,OBJ);extern OBJ __AObjects_37;
extern OBJ _ADEBUG_2(OBJ,OBJ,OBJ);extern OBJ __ADEBUG_2;
extern OBJ _ADEBUG_10(OBJ);extern OBJ __ADEBUG_10;
extern OBJ __AAttributes_11;
extern OBJ _AAttributes_15(OBJ);extern OBJ __AAttributes_15;
extern OBJ _AAttributes_16(OBJ);extern OBJ __AAttributes_16;
extern OBJ __AAttributes_26;
extern OBJ __AAttributes_27;

#include "Int.h"
extern OBJ __ASeq_6;
extern OBJ __AOption_5;

#include "Nat.h"
extern OBJ _ADArray_15(OBJ,OBJ,OBJ);extern OBJ __ADArray_15;
extern OBJ _ADArray_16(OBJ,OBJ,OBJ);extern OBJ __ADArray_16;
extern OBJ _ADArray_20(OBJ,OBJ);extern OBJ __ADArray_20;

#include "Char.h"

#include "Bitset.h"

#include "Array.h"
extern TUP2 _AUniqueTable_13(OBJ,OBJ,OBJ);extern OBJ __AUniqueTable_13;
extern OBJ _AUniqueTable_15(OBJ,OBJ,OBJ);extern OBJ __AUniqueTable_15;
extern OBJ _AUniqueTable_17(OBJ,OBJ,OBJ,OBJ);extern OBJ __AUniqueTable_17;
extern OBJ _AUniqueTable_19(OBJ,OBJ,OBJ);extern OBJ __AUniqueTable_19;
extern OBJ _ADeclEntry_12(OBJ);extern OBJ __ADeclEntry_12;
extern OBJ _ADeclEntry_14(OBJ);extern OBJ __ADeclEntry_14;
extern OBJ _AName4SigAna_1(OBJ,OBJ);OBJ __AName4SigAna_1; /* getIde */
extern OBJ _AName4SigAna_2(OBJ,OBJ);OBJ __AName4SigAna_2; /* getOrig */
extern OBJ _AName4SigAna_3(OBJ,OBJ);OBJ __AName4SigAna_3; /* getOrig,1 */
extern OBJ _AName4SigAna_4(OBJ,OBJ);OBJ __AName4SigAna_4; /* sort? */
extern OBJ _AName4SigAna_5(OBJ,OBJ);OBJ __AName4SigAna_5; /* fct */
extern OBJ _AName4SigAna_6(OBJ,OBJ);OBJ __AName4SigAna_6; /* onlyApplied */
extern OBJ _AName4SigAna_7(OBJ,OBJ);OBJ __AName4SigAna_7; /* onlyUnApplied */
extern OBJ _AName4SigAna_8(OBJ,OBJ);OBJ __AName4SigAna_8; /* explInst? */
extern OBJ _AName4SigAna_9(OBJ,OBJ);OBJ __AName4SigAna_9; /* explUninst? */
extern OBJ _AName4SigAna_10(OBJ,OBJ);OBJ __AName4SigAna_10; /* transitive? */
extern OBJ _AName4SigAna_11(OBJ,OBJ);OBJ __AName4SigAna_11; /* identInst? */
extern OBJ _AName4SigAna_12(OBJ,OBJ);OBJ __AName4SigAna_12; /* identUninst? */
extern OBJ _AName4SigAna_13(OBJ,OBJ);OBJ __AName4SigAna_13; /* genericTransitive? */
extern OBJ _AName4SigAna_14(OBJ,OBJ);OBJ __AName4SigAna_14; /* genericTransitives? */
extern OBJ _AName4SigAna_15(OBJ,OBJ);OBJ __AName4SigAna_15; /* realInst */
extern OBJ _AName4SigAna_16(OBJ,OBJ);OBJ __AName4SigAna_16; /* realInst,1 */
extern OBJ _AName4SigAna_17(OBJ,OBJ);OBJ __AName4SigAna_17; /* realInst2 */
extern OBJ _AName4SigAna_18(OBJ,OBJ,OBJ);OBJ __AName4SigAna_18; /* realInst3 */
extern OBJ _AName4SigAna_19(OBJ,OBJ);OBJ __AName4SigAna_19; /* expandGenericTransitives */
extern OBJ _AName4SigAna_20(OBJ,OBJ);OBJ __AName4SigAna_20; /* getInstPN */
extern OBJ _AName4SigAna_21(OBJ,OBJ);OBJ __AName4SigAna_21; /* getInsts */
extern OBJ _AName4SigAna_22(OBJ,OBJ);OBJ __AName4SigAna_22; /* getInst */
extern OBJ _AName4SigAna_23(OBJ,OBJ);OBJ __AName4SigAna_23; /* getOtherInst */
extern OBJ _AName4SigAna_24(OBJ,OBJ);OBJ __AName4SigAna_24; /* getIde,1 */
extern OBJ _AName4SigAna_25(OBJ,OBJ);OBJ __AName4SigAna_25; /* getAttr */
extern OBJ _AName4SigAna_26(OBJ,OBJ);OBJ __AName4SigAna_26; /* isClosed? */
extern OBJ _AName4SigAna_27(OBJ,OBJ);OBJ __AName4SigAna_27; /* isUnclosed? */
extern OBJ _AName4SigAna_28(OBJ,OBJ);OBJ __AName4SigAna_28; /* closed */
extern OBJ _AName4SigAna_29(OBJ,OBJ);OBJ __AName4SigAna_29; /* unclosed */
extern OBJ _AName4SigAna_30(OBJ,OBJ);OBJ __AName4SigAna_30; /* setApplied */
extern OBJ _AName4SigAna_31(OBJ,OBJ);OBJ __AName4SigAna_31; /* getInstApplS */
extern OBJ _AName4SigAna_32(OBJ,OBJ,OBJ);OBJ __AName4SigAna_32; /* updVariants */
extern TUP2 _AName4SigAna_33(OBJ,OBJ,OBJ);OBJ __AName4SigAna_33; /* addSortPN */
extern OBJ _AName4SigAna_34(OBJ,OBJ);OBJ __AName4SigAna_34; /* delSortPN */
extern OBJ _AName4SigAna_35(OBJ,OBJ);OBJ __AName4SigAna_35; /* getPN */
extern OBJ _AName4SigAna_36(OBJ,OBJ);OBJ __AName4SigAna_36; /* syntax */
extern OBJ _AName4SigAna_37(OBJ,OBJ,OBJ);OBJ __AName4SigAna_37; /* updPN */
extern OBJ _AName4SigAna_38(OBJ,OBJ);OBJ __AName4SigAna_38; /* getCands */
extern OBJ _AName4SigAna_39(OBJ,OBJ,OBJ);OBJ __AName4SigAna_39; /* updCands */
extern OBJ _AName4SigAna_40(OBJ);OBJ __AName4SigAna_40; /* noInstPN? */
extern TUP2 _AName4SigAna_41(OBJ,OBJ,OBJ,OBJ,OBJ);OBJ __AName4SigAna_41; /* addInstPN */
extern OBJ _AName4SigAna_42(OBJ,OBJ);OBJ __AName4SigAna_42; /* delInstPN */
extern OBJ _AName4SigAna_43(OBJ,OBJ);OBJ __AName4SigAna_43; /* getCands,1 */
extern OBJ _AName4SigAna_44(OBJ,OBJ,OBJ);OBJ __AName4SigAna_44; /* updCands,1 */
extern OBJ _AName4SigAna_45(OBJ,OBJ);OBJ __AName4SigAna_45; /* context */
extern OBJ _AName4SigAna_46(OBJ,OBJ);OBJ __AName4SigAna_46; /* syntax,1 */
extern OBJ _AName4SigAna_47(OBJ,OBJ);OBJ __AName4SigAna_47; /* flatInstPN? */
extern OBJ _AName4SigAna_48(OBJ,OBJ,OBJ);OBJ __AName4SigAna_48; /* toFlatCands */
extern OBJ _AName4SigAna_49(OBJ,OBJ);OBJ __AName4SigAna_49; /* getFlatCands */
extern OBJ _AName4SigAna_50(OBJ,OBJ);OBJ __AName4SigAna_50; /* defPN */
extern OBJ _AName4SigAna_51(OBJ,OBJ,OBJ);OBJ __AName4SigAna_51; /* defPNOp */
extern OBJ _AName4SigAna_52(OBJ);OBJ __AName4SigAna_52; /* pNOp? */
extern OBJ _AName4SigAna_53(OBJ);OBJ __AName4SigAna_53; /* getPNFct */
extern OBJ _AName4SigAna_54(OBJ);OBJ __AName4SigAna_54; /* getCands,2 */
extern OBJ _AName4SigAna_55(OBJ,OBJ);OBJ __AName4SigAna_55; /* updCands,2 */
extern OBJ _AName4SigAna_56(OBJ,OBJ);OBJ __AName4SigAna_56; /* toFlatPN */
extern OBJ _AName4SigAna_57(OBJ);OBJ __AName4SigAna_57; /* getFlatPN */
extern OBJ _AName4SigAna_58(OBJ);OBJ __AName4SigAna_58; /* errInfo */
extern OBJ _AName4SigAna_59(OBJ,OBJ);OBJ __AName4SigAna_59; /* realDecl */
extern OBJ _AName4SigAna_60(OBJ,OBJ,OBJ);OBJ __AName4SigAna_60; /* toName */
extern OBJ _AName4SigAna_61(OBJ,OBJ,OBJ);OBJ __AName4SigAna_61; /* onlyHandle */
extern OBJ _AName4SigAna_62(OBJ,OBJ,OBJ);OBJ __AName4SigAna_62; /* newImpDecls2 */
extern OBJ _AName4SigAna_63(OBJ,OBJ,OBJ);OBJ __AName4SigAna_63; /* newInsts */
extern OBJ _AName4SigAna_64(OBJ,OBJ,OBJ);OBJ __AName4SigAna_64; /* handleH */
extern OBJ _AName4SigAna_65(OBJ,OBJ);OBJ __AName4SigAna_65; /* eq */
extern OBJ _AName4SigAna_66(OBJ,OBJ,OBJ);OBJ __AName4SigAna_66; /* newImpDecls */
extern OBJ _AName4SigAna_67(OBJ,OBJ,OBJ);OBJ __AName4SigAna_67; /* newImpDecls3 */
extern OBJ _AName4SigAna_68(OBJ,OBJ,OBJ);OBJ __AName4SigAna_68; /* setApplied,1 */
extern OBJ _AName4SigAna_69(OBJ,OBJ);OBJ __AName4SigAna_69; /* setApplied,2 */
extern OBJ _AName4SigAna_70(OBJ,OBJ,OBJ,OBJ);OBJ __AName4SigAna_70; /* updVariants,1 */
extern OBJ _AName4SigAna_71(OBJ,OBJ);OBJ __AName4SigAna_71; /* delPN */
OBJ __AName4SigAna_72; /* getAttr'72 */
extern OBJ _AName4SigAna_73(OBJ);OBJ __AName4SigAna_73; /* getAttr'73 */
OBJ __AName4SigAna_74; /* getAttr'74 */
extern OBJ _AName4SigAna_75(OBJ,OBJ);OBJ __AName4SigAna_75; /* getAttr'75 */

extern OBJ _AName4SigAna_1(OBJ x1,OBJ x2) /* getIde */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,1))){
  {OBJ x16=FLD(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   COPY(x1,1);
   {OBJ x17;OBJ x18;OBJ x19;
    x17=_AGlobSig_56(x1);
    x18=_AName4SigAna_59(x1,x16);
    x19=_ADArray_20(x17,x18);
    r=_ADeclEntry_14(x19);}}
 }else{
  COPY(x2,1);
  {OBJ x20;OBJ x21;OBJ x22;OBJ x23;OBJ x24;OBJ x25;
   x20=_AGlobSig_55(x1);
   x21=_AName_12(x2);
   x22=_AName_11(x2);
   x23=_ADArray_20(x20,x21);
   x24=_AImpExpEntry_92(x23);
   x25=_ADArray_20(x24,x22);
   r=_AImpExpEntry_11(x25);}}
 return r;}

extern OBJ _AName4SigAna_2(OBJ x1,OBJ x2) /* getOrig */
{OBJ r;
 {OBJ x3;
  x3=_AName4SigAna_3(x1,x2);
  {OBJ x5=FLD1(x3,2);
   if(EXPRD(x3,1)){
    r=x5;
    DSPRDF(x3);
   }else{
    CPPRD(x5,1);
    r=x5;
    FRPRD(x3,1);}}}
 return r;}

extern OBJ _AName4SigAna_3(OBJ x1,OBJ x2) /* getOrig,1 */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,1))){
  if(EXPRD(x2,1)){
   DSPRDF(x2);
  }else{
   DCPRD(x2,1);}
  r=_AGlobSig_58(x1);
 }else{
  {OBJ x12;OBJ x13;OBJ x14;OBJ x15;
   x12=_AGlobSig_55(x1);
   x13=_AName_12(x2);
   x14=_ADArray_20(x12,x13);
   x15=_AImpExpEntry_93(x14);
   {OBJ x16=FLD1(x15,1);
    if(EXPRD(x15,1)){
     r=x16;
     FREE(FLD1(x15,2),1);DSPRDF(x15);
    }else{
     CPPRD(x16,1);
     r=x16;
     FRPRD(x15,1);}}}}
 return r;}

extern OBJ _AName4SigAna_4(OBJ x1,OBJ x2) /* sort? */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,1))){
  {OBJ x24=FLD(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   COPY(x1,1);
   {OBJ x25;OBJ x26;OBJ x27;
    x25=_AGlobSig_56(x1);
    x26=_AName4SigAna_59(x1,x24);
    x27=_ADArray_20(x25,x26);
    if(ISTGPRD(x27,0)){
     if(EXPRD(x27,1)){
      DSPRD(x27);
     }else{
      DCPRD(x27,1);}
     r=__ABUILTIN_5;
    }else{
     FRPRD(x27,1);
     r=__ABUILTIN_3;}}}
 }else{
  COPY(x2,1);
  {OBJ x33;OBJ x34;OBJ x35;OBJ x36;OBJ x37;OBJ x38;
   x33=_AGlobSig_55(x1);
   x34=_AName_12(x2);
   x35=_AName_11(x2);
   x36=_ADArray_20(x33,x34);
   x37=_AImpExpEntry_92(x36);
   x38=_ADArray_20(x37,x35);
   if(ISTGPRD(x38,0)){
    if(EXPRD(x38,1)){
     DSPRD(x38);
    }else{
     DCPRD(x38,1);}
    r=__ABUILTIN_5;
   }else{
    FRPRD(x38,1);
    r=__ABUILTIN_3;}}}
 return r;}

extern OBJ _AName4SigAna_5(OBJ x1,OBJ x2) /* fct */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,1))){
  {OBJ x70=FLD(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   COPY(x1,1);
   {OBJ x71;OBJ x72;OBJ x73;
    x71=_AGlobSig_56(x1);
    x72=_AName4SigAna_59(x1,x70);
    x73=_ADArray_20(x71,x72);
    if(ISTGPRD(x73,2)||ISTGPRD(x73,1)){
     {OBJ x78=FLD(x73,5);
      if(EXPRD(x73,1)){
       r=x78;
       FLD(x73,5)=NIL;DSPRD(x73);
      }else{
       COPY(x78,1);
       r=x78;
       FRPRD(x73,1);}}
    }else{
     HLT("DeclEntry at <unknown> : undefined selection fct\'DeclEntry:declE->fct");}}}
 }else{
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   CPPRD(x2,1);
   {OBJ x90;OBJ x91;OBJ x92;OBJ x93;OBJ x94;OBJ x95;
    x90=_AName_11(x2);
    x91=_AName_12(x2);
    x92=_AGlobSig_55(x1);
    x93=_ADArray_20(x92,x91);
    x94=_AImpExpEntry_92(x93);
    x95=_ADArray_20(x94,x90);
    r=_AImpExpEntry_16(x95);}
  }else{
   if(ISPRD(x2)&&(ISTGPRD(x2,5))){
    CPPRD(x2,1);
    {OBJ x99;OBJ x100;OBJ x101;OBJ x102;OBJ x103;OBJ x104;
     x99=_AGlobSig_55(x1);
     x100=_AName_12(x2);
     x101=_AName_11(x2);
     x102=_ADArray_20(x99,x100);
     x103=_AImpExpEntry_92(x102);
     x104=_ADArray_20(x103,x101);
     r=_AImpExpEntry_16(x104);}
   }else{
    HLT("Name4SigAna at <62,12-67,79> : missing else in fct\'Name4SigAna:globSig**name->fct");}}}
 return r;}

extern OBJ _AName4SigAna_6(OBJ x1,OBJ x2) /* onlyApplied */
{OBJ r;
 CPCLS(__AImpExpEntry_126,1);
 r=_AName4SigAna_61(__AImpExpEntry_126,x1,x2);
 return r;}

extern OBJ _AName4SigAna_7(OBJ x1,OBJ x2) /* onlyUnApplied */
{OBJ r;
 CPCLS(__AImpExpEntry_127,1);
 r=_AName4SigAna_61(__AImpExpEntry_127,x1,x2);
 return r;}

extern OBJ _AName4SigAna_8(OBJ x1,OBJ x2) /* explInst? */
{OBJ r;
 COPY(x2,1);
 {OBJ x7;OBJ x8;
  x7=_AName_12(x2);
  x8=_AGlobSig_55(x1);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x5=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    {OBJ x6;OBJ x9;OBJ x10;OBJ x11;
     x6=x5;
     x9=_ADArray_20(x8,x7);
     x10=_AImpExpEntry_91(x9);
     x11=_ADArray_20(x10,x6);
     if(ISPRD(x11)&&(ISTGPRD(x11,1))){
      if(EXPRD(x11,1)){
       DSPRD(x11);
      }else{
       DCPRD(x11,1);}
      r=__ABUILTIN_5;
     }else{
      FREE(x11,1);
      r=__ABUILTIN_3;}}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_9(OBJ x1,OBJ x2) /* explUninst? */
{OBJ r;
 COPY(x2,1);
 {OBJ x7;OBJ x8;
  x7=_AName_12(x2);
  x8=_AGlobSig_55(x1);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x5=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    {OBJ x6;OBJ x9;OBJ x10;OBJ x11;
     x6=x5;
     x9=_ADArray_20(x8,x7);
     x10=_AImpExpEntry_91(x9);
     x11=_ADArray_20(x10,x6);
     if(ISPRD(x11)&&(ISTGPRD(x11,3))){
      if(EXPRD(x11,1)){
       FREE(FLD(x11,1),1);DSPRDF(x11);
      }else{
       DCPRD(x11,1);}
      r=__ABUILTIN_5;
     }else{
      FREE(x11,1);
      r=__ABUILTIN_3;}}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_10(OBJ x1,OBJ x2) /* transitive? */
{OBJ r;
 COPY(x2,1);
 {OBJ x7;OBJ x8;
  x7=_AName_12(x2);
  x8=_AGlobSig_55(x1);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x5=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    {OBJ x6;OBJ x9;OBJ x10;OBJ x11;
     x6=x5;
     x9=_ADArray_20(x8,x7);
     x10=_AImpExpEntry_91(x9);
     x11=_ADArray_20(x10,x6);
     if(ISPRD(x11)&&(ISTGPRD(x11,4))){
      if(EXPRD(x11,1)){
       FREE(FLD(x11,1),1);DSPRDF(x11);
      }else{
       DCPRD(x11,1);}
      r=__ABUILTIN_5;
     }else{
      FREE(x11,1);
      r=__ABUILTIN_3;}}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_11(OBJ x1,OBJ x2) /* identInst? */
{OBJ r;
 COPY(x2,1);
 {OBJ x7;OBJ x8;
  x7=_AName_12(x2);
  x8=_AGlobSig_55(x1);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x5=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    {OBJ x6;OBJ x9;OBJ x10;OBJ x11;
     x6=x5;
     x9=_ADArray_20(x8,x7);
     x10=_AImpExpEntry_91(x9);
     x11=_ADArray_20(x10,x6);
     if(ISPRD(x11)&&(ISTGPRD(x11,8))){
      if(EXPRD(x11,1)){
       FREE(FLD(x11,1),1);DSPRDF(x11);
      }else{
       DCPRD(x11,1);}
      r=__ABUILTIN_5;
     }else{
      FREE(x11,1);
      r=__ABUILTIN_3;}}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_12(OBJ x1,OBJ x2) /* identUninst? */
{OBJ r;
 COPY(x2,1);
 {OBJ x7;OBJ x8;
  x7=_AName_12(x2);
  x8=_AGlobSig_55(x1);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x5=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    {OBJ x6;OBJ x9;OBJ x10;OBJ x11;
     x6=x5;
     x9=_ADArray_20(x8,x7);
     x10=_AImpExpEntry_91(x9);
     x11=_ADArray_20(x10,x6);
     if(ISPRD(x11)&&(ISTGPRD(x11,9))){
      if(EXPRD(x11,1)){
       FREE(FLD(x11,1),1);DSPRDF(x11);
      }else{
       DCPRD(x11,1);}
      r=__ABUILTIN_5;
     }else{
      FREE(x11,1);
      r=__ABUILTIN_3;}}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_13(OBJ x1,OBJ x2) /* genericTransitive? */
{OBJ r;
 COPY(x2,1);
 {OBJ x7;OBJ x8;
  x7=_AName_12(x2);
  x8=_AGlobSig_55(x1);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x5=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    {OBJ x6;OBJ x9;OBJ x10;OBJ x11;
     x6=x5;
     x9=_ADArray_20(x8,x7);
     x10=_AImpExpEntry_91(x9);
     x11=_ADArray_20(x10,x6);
     if(ISPRD(x11)&&(ISTGPRD(x11,6))){
      if(EXPRD(x11,1)){
       FREE(FLD(x11,3),1);DSPRDF(x11);
      }else{
       DCPRD(x11,1);}
      r=__ABUILTIN_5;
     }else{
      FREE(x11,1);
      r=__ABUILTIN_3;}}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_14(OBJ x1,OBJ x2) /* genericTransitives? */
{OBJ r;
 COPY(x2,1);
 {OBJ x7;OBJ x8;
  x7=_AName_12(x2);
  x8=_AGlobSig_55(x1);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x5=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    {OBJ x6;OBJ x9;OBJ x10;OBJ x11;
     x6=x5;
     x9=_ADArray_20(x8,x7);
     x10=_AImpExpEntry_91(x9);
     x11=_ADArray_20(x10,x6);
     if(ISPRD(x11)&&(ISTGPRD(x11,5))){
      if(EXPRD(x11,1)){
       DSPRD(x11);
      }else{
       DCPRD(x11,1);}
      r=__ABUILTIN_5;
     }else{
      FREE(x11,1);
      r=__ABUILTIN_3;}}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_15(OBJ x1,OBJ x2) /* realInst */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,2))){
  {OBJ x23=FLD(x2,3);
   CPPRD(x2,1);
   {OBJ x24;OBJ x25;
    x24=_AName_11(x2);
    x25=_AName_12(x2);
    PRDF(3,2,r);FLD(r,1)=x25;FLD(r,2)=x24;
    FLD(r,3)=_AName4SigAna_18(x1,x25,x23);}}
 }else{
  if(ISPRD(x2)&&(ISTGPRD(x2,1))){
   {OBJ x27=FLD(x2,1);
    if(EXPRD(x2,1)){
     {
      RPRDF(x2,r);
      FLD(r,1)=_AName4SigAna_59(x1,x27);}
    }else{
     {
      FRPRD(x2,1);PRDF(1,1,r);
      FLD(r,1)=_AName4SigAna_59(x1,x27);}}}
  }else{
   FREE(x1,1);
   r=x2;}}
 return r;}

extern OBJ _AName4SigAna_16(OBJ x1,OBJ x2) /* realInst,1 */
{OBJ r;
 r=_AName4SigAna_15(x1,x2);
 return r;}

extern OBJ _AName4SigAna_17(register OBJ x1,register OBJ x2) /* realInst2 */
{OBJ r;
 for(;;){
  {OBJ x3;
   ANat_76(__AObjects_30,x2,x3);
   if(ISTGPRM(x3,1)){
    FRPRD(x1,1);
    r=x2;
   }else{
    CPPRD(x1,1);
    {OBJ x4;OBJ x6;OBJ x10;
     x4=_ADArray_20(x1,x2);
     if(ISPRD(x4)&&(ISTGPRD(x4,10))){
      x6=__ABUILTIN_5;
     }else{
      x6=__ABUILTIN_3;}
     if(ISTGPRM(x6,1)){
      if(ISPRD(x4)&&(ISTGPRD(x4,10)||ISTGPRD(x4,7))){
       {OBJ x7=FLD(x4,1);
	if(EXPRD(x4,1)){
	 x10=x7;
	 FLD(x4,1)=NIL;DSPRD(x4);
	}else{
	 COPY(x7,1);
	 x10=x7;
	 FRPRD(x4,1);}}
      }else{
       HLT("ImpExpEntry at <unknown> : undefined selection same\'ImpExpEntry:instE->instE");}
     }else{
      x10=x4;}
     if(ISPRD(x10)&&(ISTGPRD(x10,7))){
      {OBJ x21=FLD(x10,2);
       if(EXPRD(x10,1)){
	FREE(FLD(x10,1),1);DSPRDF(x10);
       }else{
	FRPRD(x10,1);}
       x2=x21;continue;}
     }else{
      FRPRD(x1,1);
      FREE(x10,1);
      r=x2;}}}}
  break;}
 return r;}

extern OBJ _AName4SigAna_18(OBJ x1,OBJ x2,OBJ x3) /* realInst3 */
{OBJ r;
 {OBJ x4;
  ANat_76(__AObjects_30,x3,x4);
  if(ISTGPRM(x4,1)){
   FREE(x1,1);
   r=x3;
  }else{
   {OBJ x5;OBJ x6;OBJ x7;
    x5=_AGlobSig_55(x1);
    x6=_ADArray_20(x5,x2);
    x7=_AImpExpEntry_91(x6);
    r=_AName4SigAna_17(x7,x3);}}}
 return r;}

extern OBJ _AName4SigAna_19(OBJ x1,OBJ x2) /* expandGenericTransitives */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,2))){
  {OBJ x22=FLD(x2,3);
   {OBJ x23;
    ANat_76(x22,__AObjects_30,x23);
    if(ISTGPRM(x23,1)){
     FREE(x1,1);
     PRD1(2,r);FLD1(r,1)=x2;FLD1(r,2)=__ASeq_6;
    }else{
     COPY(x1,1);
     CPPRD(x2,1);
     {OBJ x24;
      x24=_AName4SigAna_14(x1,x2);
      if(ISTGPRM(x24,1)){
       COPY(x1,1);
       CPPRD(x2,2);
       CPCLS(__AName4SigAna_19,1);
       CPCLS(__AName4SigAna_60,1);
       CPCLS(__ACompose_4,1);
       {OBJ x25;OBJ x26;OBJ x27;OBJ x28;OBJ x29;OBJ x30;OBJ x31;
	x25=_AName4SigAna_21(x1,x2);
	x26=_AName_11(x2);
	x27=_AName_12(x2);
	x28=(*(OBJ(*)(OBJ,OBJ))METHOD(__AName4SigAna_19,1))(__AName4SigAna_19,x1);
	x29=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AName4SigAna_60,2))(__AName4SigAna_60,x27,x26);
	x30=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__ACompose_4,2))(__ACompose_4,x28,x29);
	x31=_ASeqMap_3(x30,x25);
	r=_ASeqOfSeq_2(x31);}
      }else{
       FREE(x1,1);
       PRD1(2,r);FLD1(r,1)=x2;FLD1(r,2)=__ASeq_6;}}}}}
 }else{
  FREE(x1,1);
  PRD1(2,r);FLD1(r,1)=x2;FLD1(r,2)=__ASeq_6;}
 return r;}

extern OBJ _AName4SigAna_20(OBJ x1,OBJ x2) /* getInstPN */
{OBJ r;
 COPY(x2,1);
 {OBJ x7;OBJ x8;
  x7=_AName_12(x2);
  x8=_AGlobSig_55(x1);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x5=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    {OBJ x6;OBJ x9;OBJ x10;OBJ x11;
     x6=x5;
     x9=_ADArray_20(x8,x7);
     x10=_AImpExpEntry_91(x9);
     x11=_ADArray_20(x10,x6);
     if(ISPRD(x11)&&(ISTGPRD(x11,2)||ISTGPRD(x11,1))){
      {OBJ x13=FLD(x11,2);
       if(EXPRD(x11,1)){
	r=x13;
	FLD(x11,2)=NIL;DSPRD(x11);
       }else{
	CPPRD(x13,1);
	r=x13;
	FRPRD(x11,1);}}
     }else{
      HLT("ImpExpEntry at <unknown> : undefined selection inst\'ImpExpEntry:instE->instPN");}}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_21(OBJ x1,OBJ x2) /* getInsts */
{OBJ r;
 COPY(x2,1);
 {OBJ x7;OBJ x8;
  x7=_AName_12(x2);
  x8=_AGlobSig_55(x1);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x5=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    {OBJ x6;OBJ x9;OBJ x10;OBJ x11;
     x6=x5;
     x9=_ADArray_20(x8,x7);
     x10=_AImpExpEntry_91(x9);
     x11=_ADArray_20(x10,x6);
     r=_AImpExpEntry_49(x11);}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_22(OBJ x1,OBJ x2) /* getInst */
{OBJ r;
 COPY(x1,1);
 {OBJ x3;OBJ x4;OBJ x9;
  x3=_AName4SigAna_15(x1,x2);
  COPY(x3,1);
  x4=_AGlobSig_55(x1);
  x9=_AName_12(x3);
  if(ISPRD(x3)&&(ISTGPRD(x3,2))){
   {OBJ x7=FLD(x3,3);
    if(EXPRD(x3,1)){
     DSPRDF(x3);
    }else{
     FRPRD(x3,1);}
    {OBJ x8;OBJ x10;OBJ x11;OBJ x12;
     x8=x7;
     x10=_ADArray_20(x4,x9);
     x11=_AImpExpEntry_91(x10);
     x12=_ADArray_20(x11,x8);
     if(ISPRD(x12)&&(ISTGPRD(x12,8)||ISTGPRD(x12,4))){
      {OBJ x53=FLD(x12,1);
       if(EXPRD(x12,1)){
	r=x53;
	FLD(x12,1)=NIL;DSPRD(x12);
       }else{
	COPY(x53,1);
	r=x53;
	FRPRD(x12,1);}}
     }else{
      if(ISPRD(x12)&&(ISTGPRD(x12,6)||ISTGPRD(x12,5))){
       {OBJ x56=FLD(x12,3);
	if(EXPRD(x12,1)){
	 r=x56;
	 FLD(x12,3)=NIL;DSPRD(x12);
	}else{
	 COPY(x56,1);
	 r=x56;
	 FRPRD(x12,1);}}
      }else{
       HLT("Name4SigAna at <156,12-159,43> : missing else in getInst\'Name4SigAna:globSig**name->seq");}}}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_23(OBJ x1,OBJ x2) /* getOtherInst */
{OBJ r;
 COPY(x1,1);
 COPY(x2,1);
 {OBJ x7;OBJ x8;
  x7=_AName_12(x2);
  x8=_AGlobSig_55(x1);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x5=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    CPPRD(x8,1);
    {OBJ x6;OBJ x9;OBJ x10;OBJ x11;
     x6=x5;
     x9=_ADArray_20(x8,x7);
     x10=_AImpExpEntry_91(x9);
     x11=_ADArray_20(x10,x6);
     if(ISPRD(x11)&&(ISTGPRD(x11,6))){
      {OBJ x32=FLD(x11,1);OBJ x33=FLD(x11,2);
       if(EXPRD(x11,1)){
	FREE(FLD(x11,3),1);DSPRDF(x11);
       }else{
	FRPRD(x11,1);}
       {OBJ x35;OBJ x36;OBJ x37;OBJ x44;
	x35=_ADArray_20(x8,x32);
	x36=_AImpExpEntry_91(x35);
	x37=_ADArray_20(x36,x33);
	if(ISPRD(x37)&&(ISTGPRD(x37,2)||ISTGPRD(x37,1))){
	 {OBJ x39=FLD(x37,2);
	  if(EXPRD(x37,1)){
	   x44=x39;
	   FLD(x37,2)=NIL;DSPRD(x37);
	  }else{
	   CPPRD(x39,1);
	   x44=x39;
	   FRPRD(x37,1);}}
	}else{
	 HLT("ImpExpEntry at <unknown> : undefined selection inst\'ImpExpEntry:instE->instPN");}
	r=_AName4SigAna_43(x1,x44);}}
     }else{
      HLT("ImpExpEntry at <unknown> : undefined selection struct\'ImpExpEntry:instE->struct");}}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_24(OBJ x1,OBJ x2) /* getIde,1 */
{OBJ r;
 {OBJ x3;
  x3=_AName4SigAna_1(x1,x2);
  {OBJ x5=FLD1(x3,2);
   if(EXPRD(x3,1)){
    r=x5;
    DSPRDF(x3);
   }else{
    CPPRD(x5,1);
    r=x5;
    FRPRD(x3,1);}}}
 return r;}

extern OBJ _AName4SigAna_25(OBJ x1,OBJ x2) /* getAttr */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,1))){
  {OBJ x67=FLD(x2,1);
   if(EXPRD(x2,1)){
    DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   COPY(x1,1);
   {OBJ x68;OBJ x69;OBJ x70;
    x68=_AGlobSig_56(x1);
    x69=_AName4SigAna_59(x1,x67);
    x70=_ADArray_20(x68,x69);
    r=_ADeclEntry_12(x70);}}
 }else{
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x73=FLD(x2,3);
    CPPRD(x2,2);
    CPCLS(__AName4SigAna_65,1);
    {OBJ x74;OBJ x75;OBJ x76;OBJ x77;OBJ x78;OBJ x79;OBJ x80;OBJ x81;OBJ x82;
     x74=_AName_11(x2);
     x75=_AName_12(x2);
     x76=_AGlobSig_55(x1);
     x77=_ADArray_20(x76,x75);
     x78=(*(OBJ(*)(OBJ,OBJ))METHOD(__AName4SigAna_65,1))(__AName4SigAna_65,x73);
     x79=_AImpExpEntry_92(x77);
     x80=_ADArray_20(x79,x74);
     x81=_AImpExpEntry_10(x80);
     x82=_ASeqFilter_2(x78,x81);
     if(ISPRM(x82)){
      CPCLS(__AName4SigAna_73,1);
      CPCLS(__AName4SigAna_75,1);
      CPPRD(__AAttributes_11,1);
      {OBJ x88;OBJ x89;
       x88=(*(OBJ(*)(OBJ,OBJ))METHOD(__AName4SigAna_73,1))(__AName4SigAna_73,__ABUILTIN_20);
       x89=(*(OBJ(*)(OBJ,OBJ))METHOD(__AName4SigAna_75,1))(__AName4SigAna_75,x2);
       r=_ADEBUG_2(x88,x89,__AAttributes_11);}
     }else{
      {OBJ x83=FLD1(x82,1);
       if(EXPRD(x82,1)){
	FREE(FLD1(x82,2),1);DSPRDF(x82);
       }else{
	CPPRD(x83,1);
	FRPRD(x82,1);}
       if(EXPRD(x2,1)){
	DSPRDF(x2);
       }else{
	DCPRD(x2,1);}
       {OBJ x87=FLD1(x83,3);
	if(EXPRD(x83,1)){
	 r=x87;
	 DSPRDF(x83);
	}else{
	 CPPRD(x87,1);
	 r=x87;
	 FRPRD(x83,1);}}}}}}
  }else{
   HLT("Name4SigAna at <187,12-193,96> : missing else in getAttr\'Name4SigAna:globSig**name->attr");}}
 return r;}

extern OBJ _AName4SigAna_26(OBJ x1,OBJ x2) /* isClosed? */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,4))){
  if(EXPRD(x2,1)){
   DSPRDF(x2);
  }else{
   DCPRD(x2,1);}
  FREE(x1,1);
  r=__ABUILTIN_5;
 }else{
  {OBJ x11;
   x11=_AName4SigAna_25(x1,x2);
   ABitset_21(__AAttributes_26,x11,r);}}
 return r;}

extern OBJ _AName4SigAna_27(OBJ x1,OBJ x2) /* isUnclosed? */
{OBJ r;
 {OBJ x3;
  x3=_AName4SigAna_25(x1,x2);
  ABitset_21(__AAttributes_27,x3,r);}
 return r;}

extern OBJ _AName4SigAna_28(OBJ x1,OBJ x2) /* closed */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,2))){
  {OBJ x19=FLD(x2,3);
   COPY(x1,1);
   CPPRD(x2,1);
   CPCLS(__AName4SigAna_66,1);
   CPCLS(__AImpExpEntry_116,1);
   {OBJ x20;OBJ x21;OBJ x22;OBJ x23;OBJ x24;OBJ x25;
    x20=_AGlobSig_55(x1);
    x21=_AName_11(x2);
    x22=_AName_12(x2);
    x23=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AName4SigAna_66,2))(__AName4SigAna_66,x21,x19);
    x24=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_116,1))(__AImpExpEntry_116,x23);
    x25=_ADArray_16(x22,x24,x20);
    r=_AGlobSig_81(x1,x25);}}
 }else{
  HLT("Name4SigAna at <unknown> : missing else in closed\'Name4SigAna:globSig**name->globSig");}
 return r;}

extern OBJ _AName4SigAna_29(OBJ x1,OBJ x2) /* unclosed */
{OBJ r;
 if(ISPRD(x2)&&(ISTGPRD(x2,2))){
  {OBJ x19=FLD(x2,3);
   COPY(x1,1);
   CPPRD(x2,1);
   CPCLS(__AName4SigAna_67,1);
   CPCLS(__AImpExpEntry_116,1);
   {OBJ x20;OBJ x21;OBJ x22;OBJ x23;OBJ x24;OBJ x25;
    x20=_AGlobSig_55(x1);
    x21=_AName_11(x2);
    x22=_AName_12(x2);
    x23=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AName4SigAna_67,2))(__AName4SigAna_67,x21,x19);
    x24=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_116,1))(__AImpExpEntry_116,x23);
    x25=_ADArray_16(x22,x24,x20);
    r=_AGlobSig_81(x1,x25);}}
 }else{
  HLT("Name4SigAna at <unknown> : missing else in unclosed\'Name4SigAna:globSig**name->globSig");}
 return r;}

extern OBJ _AName4SigAna_30(OBJ x1,OBJ x2) /* setApplied */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,2))){
  {OBJ x19=FLD(x1,3);
   CPPRD(x1,1);
   COPY(x2,1);
   CPCLS(__AName4SigAna_68,1);
   CPCLS(__AImpExpEntry_116,1);
   {OBJ x20;OBJ x21;OBJ x22;OBJ x23;OBJ x24;OBJ x25;
    x20=_AGlobSig_55(x2);
    x21=_AName_11(x1);
    x22=_AName_12(x1);
    x23=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AName4SigAna_68,2))(__AName4SigAna_68,x21,x19);
    x24=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_116,1))(__AImpExpEntry_116,x23);
    x25=_ADArray_16(x22,x24,x20);
    r=_AGlobSig_81(x2,x25);}}
 }else{
  FREE(x1,1);
  r=x2;}
 return r;}

extern OBJ _AName4SigAna_31(OBJ x1,OBJ x2) /* getInstApplS */
{OBJ r;
 if(ISPRD(x1)&&(ISTGPRD(x1,2))){
  CPPRD(x1,1);
  {OBJ x16;OBJ x17;OBJ x18;OBJ x19;OBJ x20;OBJ x21;
   x16=_AGlobSig_55(x2);
   x17=_AName_12(x1);
   x18=_AName_11(x1);
   x19=_ADArray_20(x16,x17);
   x20=_AImpExpEntry_92(x19);
   x21=_ADArray_20(x20,x18);
   r=_AImpExpEntry_10(x21);}
 }else{
  FREE(x1,1);
  FREE(x2,1);
  r=__ASeq_6;}
 return r;}

extern OBJ _AName4SigAna_32(OBJ x1,OBJ x2,OBJ x3) /* updVariants */
{OBJ r;
 COPY(x1,1);
 {OBJ x8;
  x8=_AGlobSig_55(x1);
  {OBJ x4=FLD1(x2,1);
   COPY(x4,1);
   CPCLS(__AName4SigAna_70,1);
   CPCLS(__AImpExpEntry_116,1);
   {OBJ x7;OBJ x9;OBJ x10;OBJ x11;OBJ x12;OBJ x13;
    x7=x4;
    COPY(x7,1);
    x9=_AName_12(x7);
    x10=_AName_11(x7);
    x11=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))METHOD(__AName4SigAna_70,3))(__AName4SigAna_70,x10,x2,x3);
    x12=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_116,1))(__AImpExpEntry_116,x11);
    x13=_ADArray_16(x9,x12,x8);
    r=_AGlobSig_81(x1,x13);}}}
 return r;}

extern TUP2 _AName4SigAna_33(OBJ x1,OBJ x2,OBJ x3) /* addSortPN */
{TUP2 r;
 COPY(x2,1);
 {OBJ x4;
  PRD1(2,x4);FLD1(x4,1)=x2;FLD1(x4,2)=x3;
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x42=FLD(x1,7);
    CPPRD(x42,1);
    {OBJ x60;OBJ x62;OBJ x63;OBJ x64;OBJ x65;
     if(ISPRM(x2)){
      HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
     }else{
      {OBJ x59=FLD1(x2,7);
       if(EXPRD(x2,1)){
	x60=x59;
	FLD1(x2,7)=NIL;DSPRD(x2);
       }else{
	COPY(x59,1);
	x60=x59;
	FRPRD(x2,1);}
       CPCLS(__APartNameEntry_54,1);}}
     {TUP2 t=_AUniqueTable_13(__APartNameEntry_54,x4,x42);
      x62=t.c1;
      x63=t.c2;}
     PRD1(2,r.c2);FLD1(r.c2,1)=x62;FLD1(r.c2,2)=x60;
     r.c1=_AGlobSig_82(x1,x63);}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}
extern OBJ _AName4SigAna_33_c(OBJ x1,OBJ x2,OBJ x3) /* addSortPN */
{OBJ r;
 {TUP2 t=_AName4SigAna_33(x1,x2,x3);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AName4SigAna_34(OBJ x1,OBJ x2) /* delSortPN */
{OBJ r;
 {OBJ x48=FLD1(x1,1);
  if(EXPRD(x1,1)){
   FREE(FLD1(x1,2),1);DSPRDF(x1);
  }else{
   FRPRD(x1,1);}
  if(ISPRD(x2)&&(ISTGPRD(x2,1))){
   {OBJ x56=FLD(x2,7);
    CPPRD(x56,1);
    CPCLS(__APartNameEntry_54,1);
    {OBJ x67;OBJ x68;
     x67=x56;
     x68=_AUniqueTable_15(__APartNameEntry_54,x48,x67);
     {OBJ x70=FLD1(x68,2);
      if(EXPRD(x68,1)){
       FREE(FLD1(x68,1),1);DSPRDF(x68);
      }else{
       CPPRD(x70,1);
       FRPRD(x68,1);}
      {OBJ x71;
       x71=_AName4SigAna_71(x70,x2);
       if(ISPRD(x71)&&(ISTGPRD(x71,1))){
	{OBJ x78=FLD(x71,7);
	 CPPRD(x78,1);
	 CPCLS(__APartNameEntry_54,1);
	 {OBJ x89;
	  x89=_AUniqueTable_19(__APartNameEntry_54,x48,x78);
	  r=_AGlobSig_82(x71,x89);}}
       }else{
	HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}}}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AName4SigAna_35(OBJ x1,OBJ x2) /* getPN */
{OBJ r;
 {OBJ x27=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FREE(FLD1(x2,2),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x35=FLD(x1,7);
    if(EXPRD(x1,1)){
     FLD(x1,7)=NIL;DSPRD(x1);
    }else{
     CPPRD(x35,1);
     FRPRD(x1,1);}
    CPCLS(__APartNameEntry_54,1);
    {OBJ x46;OBJ x47;
     x46=x35;
     x47=_AUniqueTable_15(__APartNameEntry_54,x27,x46);
     {OBJ x49=FLD1(x47,2);
      if(EXPRD(x47,1)){
       r=x49;
       FREE(FLD1(x47,1),1);DSPRDF(x47);
      }else{
       CPPRD(x49,1);
       r=x49;
       FRPRD(x47,1);}}}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AName4SigAna_36(OBJ x1,OBJ x2) /* syntax */
{OBJ r;
 {OBJ x27=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FREE(FLD1(x2,2),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x35=FLD(x1,7);
    if(EXPRD(x1,1)){
     FLD(x1,7)=NIL;DSPRD(x1);
    }else{
     CPPRD(x35,1);
     FRPRD(x1,1);}
    CPCLS(__APartNameEntry_54,1);
    {OBJ x46;OBJ x47;
     x46=x35;
     x47=_AUniqueTable_15(__APartNameEntry_54,x27,x46);
     {OBJ x48=FLD1(x47,1);
      if(EXPRD(x47,1)){
       r=x48;
       FRPRD(FLD1(x47,2),1);DSPRDF(x47);
      }else{
       COPY(x48,1);
       r=x48;
       FRPRD(x47,1);}}}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AName4SigAna_37(OBJ x1,OBJ x2,OBJ x3) /* updPN */
{OBJ r;
 CPCLS(__APartNameEntry_50,1);
 {OBJ x7;
  x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNameEntry_50,1))(__APartNameEntry_50,x3);
  {OBJ x27=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FREE(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   if(ISPRD(x1)&&(ISTGPRD(x1,1))){
    {OBJ x35=FLD(x1,7);
     CPPRD(x35,1);
     CPCLS(__APartNameEntry_54,1);
     {OBJ x46;OBJ x47;
      x46=x35;
      x47=_AUniqueTable_17(__APartNameEntry_54,x27,x7,x46);
      r=_AGlobSig_82(x1,x47);}}
   }else{
    HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}}
 return r;}

extern OBJ _AName4SigAna_38(OBJ x1,OBJ x2) /* getCands */
{OBJ r;
 {OBJ x44=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FREE(FLD1(x2,2),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x52=FLD(x1,7);
    if(EXPRD(x1,1)){
     FLD(x1,7)=NIL;DSPRD(x1);
    }else{
     CPPRD(x52,1);
     FRPRD(x1,1);}
    CPCLS(__APartNameEntry_54,1);
    {OBJ x63;OBJ x64;
     x63=x52;
     x64=_AUniqueTable_15(__APartNameEntry_54,x44,x63);
     {OBJ x66=FLD1(x64,2);
      if(EXPRD(x64,1)){
       FREE(FLD1(x64,1),1);DSPRDF(x64);
      }else{
       CPPRD(x66,1);
       FRPRD(x64,1);}
      if(ISTGPRD(x66,0)){
       {OBJ x68=FLD(x66,2);
	if(EXPRD(x66,1)){
	 r=x68;
	 FLD(x66,2)=NIL;DSPRD(x66);
	}else{
	 COPY(x68,1);
	 r=x68;
	 FRPRD(x66,1);}}
      }else{
       HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}}}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AName4SigAna_39(OBJ x1,OBJ x2,OBJ x3) /* updCands */
{OBJ r;
 {OBJ x32=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FREE(FLD1(x2,2),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x40=FLD(x1,7);
    CPPRD(x40,1);
    CPCLS(__APartNameEntry_54,1);
    {OBJ x51;OBJ x52;
     x51=x40;
     CPPRD(x51,1);
     x52=_AUniqueTable_15(__APartNameEntry_54,x32,x51);
     {OBJ x54=FLD1(x52,2);
      if(EXPRD(x52,1)){
       FREE(FLD1(x52,1),1);DSPRDF(x52);
      }else{
       CPPRD(x54,1);
       FRPRD(x52,1);}
      CPCLS(__APartNameEntry_50,1);
      CPCLS(__APartNameEntry_54,1);
      {OBJ x55;OBJ x56;OBJ x57;
       x55=_AName4SigAna_55(x54,x3);
       x56=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNameEntry_50,1))(__APartNameEntry_50,x55);
       x57=_AUniqueTable_17(__APartNameEntry_54,x32,x56,x51);
       r=_AGlobSig_82(x1,x57);}}}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection sortPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AName4SigAna_40(OBJ x1) /* noInstPN? */
{OBJ r;
 CPPRD(__AObjects_34,1);
 r=_AObjects_37(x1,__AObjects_34);
 return r;}

extern TUP2 _AName4SigAna_41(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* addInstPN */
{TUP2 r;
 COPY(x2,1);
 {OBJ x6;
  PRD(4,0,x6);FLD(x6,1)=x2;FLD(x6,2)=x3;FLD(x6,3)=x4;FLD(x6,4)=x5;
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x14=FLD(x1,8);
    CPPRD(x14,1);
    CPCLS(__APartNameEntry_55,1);
    {OBJ x24;TUP2 x26;
     x24=x14;
     x26=_AUniqueTable_13(__APartNameEntry_55,x6,x24);
     PRD1(2,r.c2);FLD1(r.c2,1)=x26.c1;FLD1(r.c2,2)=x2;
     r.c1=_AGlobSig_83(x1,x26.c2);}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}
 return r;}
extern OBJ _AName4SigAna_41_c(OBJ x1,OBJ x2,OBJ x3,OBJ x4,OBJ x5) /* addInstPN */
{OBJ r;
 {TUP2 t=_AName4SigAna_41(x1,x2,x3,x4,x5);
  PRD1(2,r);
  FLD1(r,1)=t.c1;
  FLD1(r,2)=t.c2;}
 return r;}

extern OBJ _AName4SigAna_42(OBJ x1,OBJ x2) /* delInstPN */
{OBJ r;
 CPPRD(__AObjects_34,1);
 CPPRD(x1,1);
 {OBJ x3;
  x3=_AObjects_37(x1,__AObjects_34);
  if(ISTGPRM(x3,1)){
   FRPRD(x1,1);
   r=x2;
  }else{
   {OBJ x39=FLD1(x1,1);
    if(EXPRD(x1,1)){
     FREE(FLD1(x1,2),1);DSPRDF(x1);
    }else{
     FRPRD(x1,1);}
    if(ISPRD(x2)&&(ISTGPRD(x2,1))){
     {OBJ x48=FLD(x2,8);
      CPPRD(x48,1);
      CPCLS(__APartNameEntry_55,2);
      {OBJ x58;OBJ x59;OBJ x60;OBJ x72;OBJ x61;
       x58=x48;
       CPPRD(x58,1);
       x59=_AUniqueTable_15(__APartNameEntry_55,x39,x58);
       x60=_AUniqueTable_19(__APartNameEntry_55,x39,x58);
       if(ISTGPRD(x59,0)){
	{OBJ x65=FLD(x59,4);
	 if(EXPRD(x59,1)){
	  x72=x65;
	  FLD(x59,4)=NIL;DSPRD(x59);
	 }else{
	  COPY(x65,1);
	  x72=x65;
	  FRPRD(x59,1);}
	 CPCLS(__AName4SigAna_71,1);}
       }else{
	HLT("PartNameEntry at <unknown> : undefined selection deepInsts\'PartNameEntry:instPNE->seq");}
       x61=_AGlobSig_83(x2,x60);
       r=_ASeqReduce_3(__AName4SigAna_71,x61,x72);}}
    }else{
     HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}}}
 return r;}

extern OBJ _AName4SigAna_43(OBJ x1,OBJ x2) /* getCands,1 */
{OBJ r;
 {OBJ x35=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FREE(FLD1(x2,2),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x44=FLD(x1,8);
    if(EXPRD(x1,1)){
     FLD(x1,8)=NIL;DSPRD(x1);
    }else{
     CPPRD(x44,1);
     FRPRD(x1,1);}
    CPCLS(__APartNameEntry_55,1);
    {OBJ x54;OBJ x55;
     x54=x44;
     x55=_AUniqueTable_15(__APartNameEntry_55,x35,x54);
     if(ISTGPRD(x55,0)){
      {OBJ x59=FLD(x55,4);
       if(EXPRD(x55,1)){
	r=x59;
	FLD(x55,4)=NIL;DSPRD(x55);
       }else{
	COPY(x59,1);
	r=x59;
	FRPRD(x55,1);}}
     }else{
      HLT("PartNameEntry at <unknown> : undefined selection deepInsts\'PartNameEntry:instPNE->seq");}}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AName4SigAna_44(OBJ x1,OBJ x2,OBJ x3) /* updCands,1 */
{OBJ r;
 CPCLS(__APartNameEntry_51,1);
 {OBJ x7;
  x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNameEntry_51,1))(__APartNameEntry_51,x3);
  {OBJ x27=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FREE(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   if(ISPRD(x1)&&(ISTGPRD(x1,1))){
    {OBJ x36=FLD(x1,8);
     CPPRD(x36,1);
     CPCLS(__APartNameEntry_55,1);
     {OBJ x46;OBJ x47;
      x46=x36;
      x47=_AUniqueTable_17(__APartNameEntry_55,x27,x7,x46);
      r=_AGlobSig_83(x1,x47);}}
   }else{
    HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}}
 return r;}

extern OBJ _AName4SigAna_45(OBJ x1,OBJ x2) /* context */
{OBJ r;
 {OBJ x32=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FREE(FLD1(x2,2),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x41=FLD(x1,8);
    if(EXPRD(x1,1)){
     FLD(x1,8)=NIL;DSPRD(x1);
    }else{
     CPPRD(x41,1);
     FRPRD(x1,1);}
    CPCLS(__APartNameEntry_55,1);
    {OBJ x51;OBJ x52;
     x51=x41;
     x52=_AUniqueTable_15(__APartNameEntry_55,x32,x51);
     if(ISTGPRD(x52,0)){
      {OBJ x55=FLD(x52,3);
       if(EXPRD(x52,1)){
	r=x55;
	FLD(x52,3)=NIL;DSPRD(x52);
       }else{
	COPY(x55,1);
	r=x55;
	FRPRD(x52,1);}}
     }else{
      {OBJ x58=FLD(x52,2);
       if(EXPRD(x52,1)){
	r=x58;
	FLD(x52,2)=NIL;DSPRD(x52);
       }else{
	COPY(x58,1);
	r=x58;
	FRPRD(x52,1);}}}}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AName4SigAna_46(OBJ x1,OBJ x2) /* syntax,1 */
{OBJ r;
 {OBJ x35=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FREE(FLD1(x2,2),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x44=FLD(x1,8);
    if(EXPRD(x1,1)){
     FLD(x1,8)=NIL;DSPRD(x1);
    }else{
     CPPRD(x44,1);
     FRPRD(x1,1);}
    CPCLS(__APartNameEntry_55,1);
    {OBJ x54;OBJ x55;
     x54=x44;
     x55=_AUniqueTable_15(__APartNameEntry_55,x35,x54);
     if(ISTGPRD(x55,0)){
      {OBJ x57=FLD(x55,2);
       if(EXPRD(x55,1)){
	r=x57;
	FLD(x55,2)=NIL;DSPRD(x55);
       }else{
	COPY(x57,1);
	r=x57;
	FRPRD(x55,1);}}
     }else{
      HLT("PartNameEntry at <unknown> : undefined selection syntax\'PartNameEntry:instPNE->seq");}}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AName4SigAna_47(OBJ x1,OBJ x2) /* flatInstPN? */
{OBJ r;
 {OBJ x32=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FREE(FLD1(x2,2),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  if(ISPRD(x1)&&(ISTGPRD(x1,1))){
   {OBJ x41=FLD(x1,8);
    if(EXPRD(x1,1)){
     FLD(x1,8)=NIL;DSPRD(x1);
    }else{
     CPPRD(x41,1);
     FRPRD(x1,1);}
    CPCLS(__APartNameEntry_55,1);
    {OBJ x51;OBJ x52;
     x51=x41;
     x52=_AUniqueTable_15(__APartNameEntry_55,x32,x51);
     if(ISTGPRD(x52,1)){
      if(EXPRD(x52,1)){
       DSPRD(x52);
      }else{
       DCPRD(x52,1);}
      r=__ABUILTIN_5;
     }else{
      if(EXPRD(x52,1)){
       DSPRD(x52);
      }else{
       DCPRD(x52,1);}
      r=__ABUILTIN_3;}}}
  }else{
   HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}
 return r;}

extern OBJ _AName4SigAna_48(OBJ x1,OBJ x2,OBJ x3) /* toFlatCands */
{OBJ r;
 CPCLS(__APartNameEntry_52,1);
 {OBJ x7;
  x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__APartNameEntry_52,1))(__APartNameEntry_52,x3);
  {OBJ x27=FLD1(x2,1);
   if(EXPRD(x2,1)){
    FREE(FLD1(x2,2),1);DSPRDF(x2);
   }else{
    FRPRD(x2,1);}
   if(ISPRD(x1)&&(ISTGPRD(x1,1))){
    {OBJ x36=FLD(x1,8);
     CPPRD(x36,1);
     CPCLS(__APartNameEntry_55,1);
     {OBJ x46;OBJ x47;
      x46=x36;
      x47=_AUniqueTable_17(__APartNameEntry_55,x27,x7,x46);
      r=_AGlobSig_83(x1,x47);}}
   }else{
    HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}}
 return r;}

extern OBJ _AName4SigAna_49(OBJ x1,OBJ x2) /* getFlatCands */
{OBJ r;
 CPPRD(__AObjects_34,1);
 CPPRD(x2,1);
 {OBJ x3;
  x3=_AObjects_37(x2,__AObjects_34);
  if(ISTGPRM(x3,1)){
   FREE(x1,1);
   FRPRD(x2,1);
   r=__ASeq_6;
  }else{
   {OBJ x37=FLD1(x2,1);
    if(EXPRD(x2,1)){
     FREE(FLD1(x2,2),1);DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    if(ISPRD(x1)&&(ISTGPRD(x1,1))){
     {OBJ x46=FLD(x1,8);
      if(EXPRD(x1,1)){
       FLD(x1,8)=NIL;DSPRD(x1);
      }else{
       CPPRD(x46,1);
       FRPRD(x1,1);}
      CPCLS(__APartNameEntry_55,1);
      {OBJ x56;OBJ x57;
       x56=x46;
       x57=_AUniqueTable_15(__APartNameEntry_55,x37,x56);
       if(ISTGPRD(x57,1)){
	{OBJ x60=FLD(x57,3);
	 if(EXPRD(x57,1)){
	  r=x60;
	  FLD(x57,3)=NIL;DSPRD(x57);
	 }else{
	  COPY(x60,1);
	  r=x60;
	  FRPRD(x57,1);}}
       }else{
	HLT("PartNameEntry at <unknown> : undefined selection flatInsts\'PartNameEntry:instPNE->seq");}}}
    }else{
     HLT("GlobSig at <unknown> : undefined selection instPartNames\'GlobSig:globSig->table");}}}}
 return r;}

extern OBJ _AName4SigAna_50(OBJ x1,OBJ x2) /* defPN */
{OBJ r;
 {
  PRD(3,0,r);FLD(r,2)=x2;FLD(r,3)=__AOption_5;
  FLD(r,1)=_AName4SigAna_58(x1);}
 return r;}

extern OBJ _AName4SigAna_51(OBJ x1,OBJ x2,OBJ x3) /* defPNOp */
{OBJ r;
 {OBJ x4;OBJ x5;
  x4=_AName4SigAna_58(x1);
  PRD1(1,x5);FLD1(x5,1)=x3;
  PRD(3,0,r);FLD(r,1)=x4;FLD(r,2)=x2;FLD(r,3)=x5;}
 return r;}

extern OBJ _AName4SigAna_52(OBJ x1) /* pNOp? */
{OBJ r;
 {OBJ x9;
  if(ISTGPRD(x1,0)){
   {OBJ x4=FLD(x1,3);
    if(EXPRD(x1,1)){
     x9=x4;
     FLD(x1,3)=NIL;DSPRD(x1);
    }else{
     COPY(x4,1);
     x9=x4;
     FRPRD(x1,1);}}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection fct\'PartNameEntry:pN->option");}
  if(ISPRM(x9)){
   r=__ABUILTIN_3;
  }else{
   if(EXPRD(x9,1)){
    FREE(FLD1(x9,1),1);DSPRDF(x9);
   }else{
    DCPRD(x9,1);}
   r=__ABUILTIN_5;}}
 return r;}

extern OBJ _AName4SigAna_53(OBJ x1) /* getPNFct */
{OBJ r;
 {OBJ x9;
  if(ISTGPRD(x1,0)){
   {OBJ x4=FLD(x1,3);
    if(EXPRD(x1,1)){
     x9=x4;
     FLD(x1,3)=NIL;DSPRD(x1);
    }else{
     COPY(x4,1);
     x9=x4;
     FRPRD(x1,1);}}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection fct\'PartNameEntry:pN->option");}
  if(ISPRM(x9)){
   HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
  }else{
   {OBJ x10=FLD1(x9,1);
    if(EXPRD(x9,1)){
     r=x10;
     DSPRDF(x9);
    }else{
     COPY(x10,1);
     r=x10;
     FRPRD(x9,1);}}}}
 return r;}

extern OBJ _AName4SigAna_54(OBJ x1) /* getCands,2 */
{OBJ r;
 if(ISTGPRD(x1,0)){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FLD(x1,2)=NIL;DSPRD(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
 return r;}

extern OBJ _AName4SigAna_55(OBJ x1,OBJ x2) /* updCands,2 */
{OBJ r;
 {OBJ x16;OBJ x8;
  if(ISTGPRD(x1,0)){
   {OBJ x22=FLD(x1,1);OBJ x24=FLD(x1,3);
    if(EXPRD(x1,1)){
     x8=x22;x16=x24;
     FREE(FLD(x1,2),1);DSPRDF(x1);
    }else{
     CPPRD(x22,1);COPY(x24,1);
     x8=x22;x16=x24;
     FRPRD(x1,1);}}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection fct\'PartNameEntry:pN->option");}
  PRD(3,0,r);FLD(r,1)=x8;FLD(r,2)=x2;FLD(r,3)=x16;}
 return r;}

extern OBJ _AName4SigAna_56(OBJ x1,OBJ x2) /* toFlatPN */
{OBJ r;
 {OBJ x8;
  {OBJ x3=FLD(x1,1);
   if(EXPRD(x1,1)){
    x8=x3;
    FLD(x1,1)=NIL;DSPRD(x1);
   }else{
    CPPRD(x3,1);
    x8=x3;
    FRPRD(x1,1);}}
  PRD(2,1,r);FLD(r,1)=x8;FLD(r,2)=x2;}
 return r;}

extern OBJ _AName4SigAna_57(OBJ x1) /* getFlatPN */
{OBJ r;
 if(ISTGPRD(x1,1)){
  {OBJ x3=FLD(x1,2);
   if(EXPRD(x1,1)){
    r=x3;
    FRPRD(FLD(x1,1),1);DSPRDF(x1);
   }else{
    COPY(x3,1);
    r=x3;
    FRPRD(x1,1);}}
 }else{
  HLT("PartNameEntry at <unknown> : undefined selection flatPN\'PartNameEntry:pN->seq");}
 return r;}

extern OBJ _AName4SigAna_58(OBJ x1) /* errInfo */
{OBJ r;
 {OBJ x17;OBJ x9;
  if(ISPRM(x1)){
   HLT("PartName at <unknown> : undefined selection pos\'PartName:partName->pos");
  }else{
   {OBJ x25=FLD1(x1,1);OBJ x31=FLD1(x1,7);
    if(EXPRD(x1,1)){
     x9=x25;x17=x31;
     FLD1(x1,1)=NIL;FLD1(x1,7)=NIL;DSPRD(x1);
    }else{
     CPPRD(x25,1);COPY(x31,1);
     x9=x25;x17=x31;
     FRPRD(x1,1);}}}
  PRD1(2,r);FLD1(r,1)=x9;FLD1(r,2)=x17;}
 return r;}

extern OBJ _AName4SigAna_59(register OBJ x1,register OBJ x2) /* realDecl */
{OBJ r;
 for(;;){
  COPY(x1,1);
  {OBJ x3;OBJ x4;
   x3=_AGlobSig_56(x1);
   x4=_ADArray_20(x3,x2);
   if(ISTGPRD(x4,3)){
    {OBJ x11=FLD(x4,1);
     if(EXPRD(x4,1)){
      FRPRD(FLD(x4,2),1);DSPRDF(x4);
     }else{
      FRPRD(x4,1);}
     x2=x11;continue;}
   }else{
    FREE(x1,1);
    FRPRD(x4,1);
    r=x2;}}
  break;}
 return r;}

extern OBJ _AName4SigAna_60(OBJ x1,OBJ x2,OBJ x3) /* toName */
{OBJ r;
 PRDF(3,2,r);FLD(r,1)=x1;FLD(r,2)=x2;FLD(r,3)=x3;
 return r;}

extern OBJ _AName4SigAna_61(OBJ x1,OBJ x2,OBJ x3) /* onlyHandle */
{OBJ r;
 CPCLS(__AName4SigAna_62,1);
 CPCLS(__AImpExpEntry_116,1);
 COPY(x2,1);
 COPY(x3,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;OBJ x8;
  x4=_AName_12(x2);
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AName4SigAna_62,2))(__AName4SigAna_62,x1,x2);
  x6=_AGlobSig_55(x3);
  x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_116,1))(__AImpExpEntry_116,x5);
  x8=_ADArray_16(x4,x7,x6);
  r=_AGlobSig_81(x3,x8);}
 return r;}

extern OBJ _AName4SigAna_62(OBJ x1,OBJ x2,OBJ x3) /* newImpDecls2 */
{OBJ r;
 CPCLS(__AName4SigAna_63,1);
 CPCLS(__AImpExpEntry_121,1);
 COPY(x2,1);
 {OBJ x4;OBJ x5;OBJ x6;OBJ x7;
  x4=_AName_11(x2);
  x5=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AName4SigAna_63,2))(__AName4SigAna_63,x1,x2);
  x6=_AImpExpEntry_92(x3);
  x7=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_121,1))(__AImpExpEntry_121,x5);
  r=_ADArray_16(x4,x7,x6);}
 return r;}

extern OBJ _AName4SigAna_63(OBJ x1,OBJ x2,OBJ x3) /* newInsts */
{OBJ r;
 {OBJ x8;
  x8=_AImpExpEntry_10(x3);
  if(ISPRD(x2)&&(ISTGPRD(x2,2))){
   {OBJ x6=FLD(x2,3);
    if(EXPRD(x2,1)){
     DSPRDF(x2);
    }else{
     FRPRD(x2,1);}
    CPCLS(__AName4SigAna_64,1);
    {OBJ x7;OBJ x9;
     x7=x6;
     x9=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AName4SigAna_64,2))(__AName4SigAna_64,x7,x1);
     r=_ASeqMap_3(x9,x8);}}
  }else{
   HLT("Name at <unknown> : undefined selection inst\'Name:name->inst");}}
 return r;}

extern OBJ _AName4SigAna_64(OBJ x1,OBJ x2,OBJ x3) /* handleH */
{OBJ r;
 {OBJ x4=FLD1(x3,1);
  {OBJ x7;OBJ x8;
   x7=x4;
   ANat_76(x7,x1,x8);
   if(ISTGPRM(x8,1)){
    r=(*(OBJ(*)(OBJ,OBJ))METHOD(x2,1))(x2,x3);
   }else{
    FRCLS(x2,1);
    r=x3;}}}
 return r;}

extern OBJ _AName4SigAna_65(OBJ x1,OBJ x2) /* eq */
{OBJ r;
 {OBJ x3=FLD1(x2,1);
  if(EXPRD(x2,1)){
   FRPRD(FLD1(x2,3),1);DSPRDF(x2);
  }else{
   FRPRD(x2,1);}
  {OBJ x6;
   x6=x3;
   ANat_76(x1,x6,r);}}
 return r;}

extern OBJ _AName4SigAna_66(OBJ x1,OBJ x2,OBJ x3) /* newImpDecls */
{OBJ r;
 CPCLS(__AImpExpEntry_123,1);
 CPCLS(__AAttributes_15,1);
 {OBJ x4;OBJ x5;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImpExpEntry_123,2))(__AImpExpEntry_123,__AAttributes_15,x2);
  x5=_AImpExpEntry_92(x3);
  r=_ADArray_16(x1,x4,x5);}
 return r;}

extern OBJ _AName4SigAna_67(OBJ x1,OBJ x2,OBJ x3) /* newImpDecls3 */
{OBJ r;
 CPCLS(__AImpExpEntry_123,1);
 CPCLS(__AAttributes_16,1);
 {OBJ x4;OBJ x5;
  x4=(*(OBJ(*)(OBJ,OBJ,OBJ))METHOD(__AImpExpEntry_123,2))(__AImpExpEntry_123,__AAttributes_16,x2);
  x5=_AImpExpEntry_92(x3);
  r=_ADArray_16(x1,x4,x5);}
 return r;}

extern OBJ _AName4SigAna_68(OBJ x1,OBJ x2,OBJ x3) /* setApplied,1 */
{OBJ r;
 CPCLS(__AName4SigAna_69,1);
 CPCLS(__AImpExpEntry_121,1);
 {OBJ x4;OBJ x5;OBJ x6;
  x4=(*(OBJ(*)(OBJ,OBJ))METHOD(__AName4SigAna_69,1))(__AName4SigAna_69,x2);
  x5=_AImpExpEntry_92(x3);
  x6=(*(OBJ(*)(OBJ,OBJ))METHOD(__AImpExpEntry_121,1))(__AImpExpEntry_121,x4);
  r=_ADArray_16(x1,x6,x5);}
 return r;}

extern OBJ _AName4SigAna_69(OBJ x1,OBJ x2) /* setApplied,2 */
{OBJ r;
 CPPRD(__AAttributes_11,1);
 {OBJ x3;OBJ x4;
  PRD1(3,x3);FLD1(x3,1)=x1;FLD1(x3,2)=__ANat_5;FLD1(x3,3)=__AAttributes_11;
  x4=_AImpExpEntry_10(x2);
  PRD1(2,r);FLD1(r,2)=x4;
  FLD1(r,1)=_AImpExpEntry_126(x3);}
 return r;}

extern OBJ _AName4SigAna_70(OBJ x1,OBJ x2,OBJ x3,OBJ x4) /* updVariants,1 */
{OBJ r;
 {OBJ x13;
  x13=_AImpExpEntry_92(x4);
  {OBJ x20;OBJ x22;FLAG x_x2=EXPRD(x2,1);
   if(x_x2){
   }else{
    x20=FLD1(x2,1);x22=FLD1(x2,3);COPY(x20,1);COPY(x22,1);}
   CPPRD(x13,1);
   {OBJ x23;OBJ x24;OBJ x25;OBJ x26;OBJ x27;OBJ x28;
    x23=_ADArray_20(x13,x1);
    CPPRD(x23,1);
    if(x_x2){
     RSOME(x2,x24);FREE(FLD1(x24,2),1);FLD1(x24,2)=x3;
    }else{
     FRPRD(x2,1);PRD1(3,x24);FLD1(x24,1)=x20;FLD1(x24,2)=x3;FLD1(x24,3)=x22;}
    PRD(1,3,x25);FLD(x25,1)=x24;
    x26=_AImpExpEntry_10(x23);
    x27=_AImpExpEntry_11(x23);
    PRD(3,0,x28);FLD(x28,1)=x27;FLD(x28,2)=x26;FLD(x28,3)=x25;
    r=_ADArray_15(x13,x1,x28);}}}
 return r;}

extern OBJ _AName4SigAna_71(OBJ x1,OBJ x2) /* delPN */
{OBJ r;
 {OBJ x18;OBJ x10;OBJ x20;OBJ x21;OBJ x24;
  if(ISTGPRD(x1,0)){
   {OBJ x31=FLD(x1,2);OBJ x32=FLD(x1,3);
    if(EXPRD(x1,1)){
     x18=x31;x10=x32;
     FRPRD(FLD(x1,1),1);DSPRDF(x1);
    }else{
     COPY(x31,1);COPY(x32,1);
     x18=x31;x10=x32;
     FRPRD(x1,1);}}
  }else{
   HLT("PartNameEntry at <unknown> : undefined selection cands\'PartNameEntry:pN->seq");}
  if(ISPRM(x10)){
   CPCLS(__APartNameEntry_26,1);
   x20=__ABUILTIN_5;
  }else{
   CPCLS(__APartNameEntry_26,1);
   x20=__ABUILTIN_3;}
  x21=_ASeqMap_3(__APartNameEntry_26,x18);
  if(ISTGPRM(x20,1)){
   FREE(x10,1);
   CPCLS(__AName4SigAna_42,1);
   x24=x2;
  }else{
   {OBJ x23;
    if(ISPRM(x10)){
     HLT("Option at <unknown> : undefined selection cont\'Option:option->data");
    }else{
     {OBJ x22=FLD1(x10,1);
      if(EXPRD(x10,1)){
       x23=x22;
       DSPRDF(x10);
      }else{
       COPY(x22,1);
       x23=x22;
       FRPRD(x10,1);}
      CPCLS(__AName4SigAna_34,1);
      CPCLS(__AName4SigAna_42,1);}}
    x24=_AAbsyFun2_4(__AName4SigAna_34,x2,x23);}}
  r=_ASeqReduce_3(__AName4SigAna_42,x24,x21);}
 return r;}

extern OBJ _AName4SigAna_73(OBJ x1) /* getAttr'73 */
{OBJ r;
 CPPRD(__AName4SigAna_72,1);
 r=_ADEBUG_10(__AName4SigAna_72);
 return r;}

extern OBJ _AName4SigAna_75(OBJ x1,OBJ x2) /* getAttr'75 */
{OBJ r;
 CPPRD(__AName4SigAna_74,1);
 {OBJ x3;
  x3=_AName_34(x1);
  ADenotation_4(__AName4SigAna_74,x3,r);}
 return r;}

static OBJ _mt_4_0_3(OBJ t,OBJ t1,OBJ t2,OBJ t3) 
{OBJ r;
 DPCLS(t,r);
 INCCLS(r,0,3);
 FLDCLS(r,1)=t1;
 FLDCLS(r,2)=t2;
 FLDCLS(r,3)=t3;
 return r;}

static OBJ _mt_4_3_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);
  DCCLS(t,1);}
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1);
 return r;}
static OBJ _mt_4_3_1_l(OBJ t,OBJ t1) 
{OBJ r;
 r=(*(OBJ(*)(OBJ,OBJ,OBJ,OBJ))ENTRY(t))(FLDCLS(t,1),FLDCLS(t,2),FLDCLS(t,3),t1);
 if(EXCLS(t)){
  DSCLSF(t);
 }else{
  DCCLS(t,1);
  FLDCLS(t,1)=NIL;FLDCLS(t,2)=NIL;FLDCLS(t,3)=NIL;
  COPY(r,1);LZYCLS(t,r);}
 return r;}

init_AName4SigAna()
{
 static int visited=0; if(visited) return; visited=1;
 init_AMap();
 init_AAbsyFun2();
 init_ACompose();
 init_ADenotation();
 init_AName();
 init_ASeqFilter();
 init_AGlobSig();
 init_ASeqMap();
 init_APartNameEntry();
 init_ASeqOfSeq();
 init_AImpExpEntry();
 init_ASeqReduce();
 init_AObjects();
 init_ADEBUG();
 init_AAttributes();
 init_ACom();
 init_APartName();
 init_AVoid();
 init_ARep();
 init_AInt();
 init_AOcPos();
 init_ASetByBST();
 init_APragma();
 init_ABSTree();
 init_AImpl();
 init_ATree();
 init_AFct();
 init_ASeqConv();
 init_ASeq();
 init_ALexem();
 init_AString();
 init_ADArrayReduce();
 init_AOption();
 init_ATable();
 init_ANat();
 init_ADArray();
 init_ANatMap();
 init_APair();
 init_AChar();
 init_ASet();
 init_ABitset();
 init_AArray();
 init_AGlobSigImpl();
 init_APatterns();
 init_AUniqueTable();
 init_ADeclEntry();
 init_AGlobPragma();
 CLS(2,_AName4SigAna_31,__AName4SigAna_31);
 CLS(3,_AName4SigAna_63,__AName4SigAna_63);
 CLS(2,_AName4SigAna_30,__AName4SigAna_30);
 CLS(3,_AName4SigAna_62,__AName4SigAna_62);
 CLS(2,_AName4SigAna_29,__AName4SigAna_29);
 CLS(3,_AName4SigAna_61,__AName4SigAna_61);
 CLS(2,_AName4SigAna_28,__AName4SigAna_28);
 CLS(3,_AName4SigAna_60,__AName4SigAna_60);
 CLS(2,_AName4SigAna_27,__AName4SigAna_27);
 CLS(2,_AName4SigAna_59,__AName4SigAna_59);
 CLS(2,_AName4SigAna_26,__AName4SigAna_26);
 CLS(1,_AName4SigAna_58,__AName4SigAna_58);
 CLS(2,_AName4SigAna_25,__AName4SigAna_25);
 CLS(1,_AName4SigAna_57,__AName4SigAna_57);
 CLS(2,_AName4SigAna_24,__AName4SigAna_24);
 CLS(2,_AName4SigAna_56,__AName4SigAna_56);
 CLS(2,_AName4SigAna_23,__AName4SigAna_23);
 CLS(2,_AName4SigAna_55,__AName4SigAna_55);
 CLS(2,_AName4SigAna_22,__AName4SigAna_22);
 CLS(1,_AName4SigAna_54,__AName4SigAna_54);
 CLS(2,_AName4SigAna_21,__AName4SigAna_21);
 CLS(1,_AName4SigAna_53,__AName4SigAna_53);
 CLS(2,_AName4SigAna_20,__AName4SigAna_20);
 CLS(1,_AName4SigAna_52,__AName4SigAna_52);
 CLS(2,_AName4SigAna_19,__AName4SigAna_19);
 CLS(3,_AName4SigAna_51,__AName4SigAna_51);
 CLS(3,_AName4SigAna_18,__AName4SigAna_18);
 CLS(2,_AName4SigAna_50,__AName4SigAna_50);
 CLS(2,_AName4SigAna_17,__AName4SigAna_17);
 CLS(2,_AName4SigAna_49,__AName4SigAna_49);
 CLS(2,_AName4SigAna_16,__AName4SigAna_16);
 CLS(3,_AName4SigAna_48,__AName4SigAna_48);
 CLS(2,_AName4SigAna_15,__AName4SigAna_15);
 CLS(2,_AName4SigAna_47,__AName4SigAna_47);
 CLS(2,_AName4SigAna_14,__AName4SigAna_14);
 CLS(2,_AName4SigAna_46,__AName4SigAna_46);
 CLS(2,_AName4SigAna_13,__AName4SigAna_13);
 CLS(2,_AName4SigAna_45,__AName4SigAna_45);
 CLS(2,_AName4SigAna_12,__AName4SigAna_12);
 CLS(3,_AName4SigAna_44,__AName4SigAna_44);
 LCLS(2,_AName4SigAna_75,__AName4SigAna_75);
 CLS(2,_AName4SigAna_11,__AName4SigAna_11);
 CLS(2,_AName4SigAna_43,__AName4SigAna_43);
 DEN("getAttr: \?\? for",__AName4SigAna_74);
 CLS(2,_AName4SigAna_10,__AName4SigAna_10);
 CLS(2,_AName4SigAna_42,__AName4SigAna_42);
 LCLS(1,_AName4SigAna_73,__AName4SigAna_73);
 CLS(2,_AName4SigAna_9,__AName4SigAna_9);
 CLS(5,_AName4SigAna_41_c,__AName4SigAna_41);
 DEN("-zgetAttr",__AName4SigAna_72);
 CLS(2,_AName4SigAna_8,__AName4SigAna_8);
 CLS(1,_AName4SigAna_40,__AName4SigAna_40);
 CLS(2,_AName4SigAna_71,__AName4SigAna_71);
 CLS(2,_AName4SigAna_7,__AName4SigAna_7);
 CLS(3,_AName4SigAna_39,__AName4SigAna_39);
 CLS(4,_AName4SigAna_70,__AName4SigAna_70);
 CLS(2,_AName4SigAna_6,__AName4SigAna_6);
 CLS(2,_AName4SigAna_38,__AName4SigAna_38);
 CLS(2,_AName4SigAna_69,__AName4SigAna_69);
 CLS(2,_AName4SigAna_5,__AName4SigAna_5);
 CLS(3,_AName4SigAna_37,__AName4SigAna_37);
 CLS(3,_AName4SigAna_68,__AName4SigAna_68);
 CLS(2,_AName4SigAna_4,__AName4SigAna_4);
 CLS(2,_AName4SigAna_36,__AName4SigAna_36);
 CLS(3,_AName4SigAna_67,__AName4SigAna_67);
 CLS(2,_AName4SigAna_3,__AName4SigAna_3);
 CLS(2,_AName4SigAna_35,__AName4SigAna_35);
 CLS(3,_AName4SigAna_66,__AName4SigAna_66);
 CLS(2,_AName4SigAna_2,__AName4SigAna_2);
 CLS(2,_AName4SigAna_34,__AName4SigAna_34);
 CLS(2,_AName4SigAna_65,__AName4SigAna_65);
 CLS(2,_AName4SigAna_1,__AName4SigAna_1);
 CLS(3,_AName4SigAna_33_c,__AName4SigAna_33);
 CLS(3,_AName4SigAna_32,__AName4SigAna_32);
 CLS(3,_AName4SigAna_64,__AName4SigAna_64);
 MTH(4,0,3,_mt_4_0_3);LZYMTH(4,0,3,_mt_4_0_3);
 MTH(4,3,1,_mt_4_3_1);LZYMTH(4,3,1,_mt_4_3_1_l);}

