

#include "BUILTIN.h"

#include "Denotation.h"

#include "Char.h"

#include "Nat.h"

#include "Int.h"
extern OBJ _ALexem_2(OBJ);OBJ __ALexem_2; /* lex */
extern OBJ _ALexem_3(OBJ);OBJ __ALexem_3; /* lex? */
extern OBJ _ALexem_4(OBJ);OBJ __ALexem_4; /* value */
OBJ __ALexem_5; /* as */
OBJ __ALexem_6; /* completely */
OBJ __ALexem_7; /* data */
OBJ __ALexem_8; /* def */
OBJ __ALexem_9; /* else */
OBJ __ALexem_10; /* fi */
OBJ __ALexem_11; /* fun */
OBJ __ALexem_12; /* if */
OBJ __ALexem_13; /* implementation */
OBJ __ALexem_14; /* import */
OBJ __ALexem_15; /* in */
OBJ __ALexem_16; /* let */
OBJ __ALexem_17; /* only */
OBJ __ALexem_18; /* otherwise */
OBJ __ALexem_19; /* signature */
OBJ __ALexem_20; /* sort */
OBJ __ALexem_21; /* then */
OBJ __ALexem_22; /* type */
OBJ __ALexem_23; /* where */
OBJ __ALexem_24; /* equation */
OBJ __ALexem_25; /* arrow */
OBJ __ALexem_26; /* product */
OBJ __ALexem_27; /* colon */
OBJ __ALexem_28; /* lambda */
OBJ __ALexem_29; /* dot */
OBJ __ALexem_30; /* commLine */
OBJ __ALexem_31; /* commStart */
OBJ __ALexem_32; /* commEnd */
OBJ __ALexem_33; /* pragmaStart */
OBJ __ALexem_34; /* pragmaEnd */
OBJ __ALexem_35; /* openBr */
OBJ __ALexem_36; /* closeBr */
OBJ __ALexem_37; /* comma */
OBJ __ALexem_38; /* apo */
OBJ __ALexem_39; /* openSqBr */
OBJ __ALexem_40; /* closeSqBr */
OBJ __ALexem_41; /* error */
OBJ __ALexem_42; /* all */
OBJ __ALexem_43; /* and */
OBJ __ALexem_44; /* dfd */
OBJ __ALexem_45; /* ex */
OBJ __ALexem_46; /* external */
OBJ __ALexem_47; /* internal */
OBJ __ALexem_48; /* law */
OBJ __ALexem_49; /* not */
OBJ __ALexem_50; /* or */
OBJ __ALexem_51; /* properties */
OBJ __ALexem_52; /* equal */
OBJ __ALexem_53; /* implies */
OBJ __ALexem_54; /* eqv */
OBJ __ALexem_55; /* ineq */
OBJ __ALexem_56; /* wildchar */
extern OBJ _ALexem_57(OBJ);OBJ __ALexem_57; /* wildchar? */
OBJ __ALexem_58; /* orelse */
OBJ __ALexem_59; /* andelse */
OBJ __ALexem_60; /* underline */
OBJ __ALexem_61; /* proof */
OBJ __ALexem_62; /* turnstile */
OBJ __ALexem_63; /* PROOFSCRIPT */
OBJ __ALexem_64; /* proofscript */
OBJ __ALexem_65; /* spc */
OBJ __ALexem_66; /* pre */
OBJ __ALexem_67; /* post */
OBJ __ALexem_68; /* theory */
OBJ __ALexem_69; /* assert */
OBJ __ALexem_70; /* assume */
OBJ __ALexem_71; /* prop */
OBJ __ALexem_72; /* jstf */
OBJ __ALexem_73; /* justf */
OBJ __ALexem_74; /* lemma */
OBJ __ALexem_75; /* goal */
OBJ __ALexem_76; /* BOOL */
OBJ __ALexem_77; /* bool */
OBJ __ALexem_78; /* true */
OBJ __ALexem_79; /* false */
OBJ __ALexem_80; /* true? */
OBJ __ALexem_81; /* false? */
OBJ __ALexem_82; /* band */
OBJ __ALexem_83; /* bor */
OBJ __ALexem_84; /* bnot */
OBJ __ALexem_85; /* beq */
OBJ __ALexem_86; /* bneq */
OBJ __ALexem_87; /* DENOTATION */
OBJ __ALexem_88; /* denotation */
OBJ __ALexem_89; /* <| */
OBJ __ALexem_90; /* tl */
OBJ __ALexem_91; /* ABORT */
extern OBJ _ALexem_92(OBJ,OBJ);OBJ __ALexem_92; /* = */
extern OBJ _ALexem_93(OBJ,OBJ);OBJ __ALexem_93; /* |= */
extern OBJ _ALexem_94(OBJ,OBJ);OBJ __ALexem_94; /* < */
extern OBJ _ALexem_95(OBJ,OBJ);OBJ __ALexem_95; /* > */
extern OBJ _ALexem_96(OBJ,OBJ);OBJ __ALexem_96; /* <= */
extern OBJ _ALexem_97(OBJ,OBJ);OBJ __ALexem_97; /* >= */
extern OBJ _ALexem_98(OBJ);OBJ __ALexem_98; /* ` */
OBJ __ALexem_99; /* completely'99 */
OBJ __ALexem_100; /* completely'100 */
OBJ __ALexem_101; /* only'101 */
OBJ __ALexem_102; /* only'102 */

extern OBJ _ALexem_2(OBJ x1) /* lex */
{OBJ r;
 r=x1;
 return r;}

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

extern OBJ _ALexem_4(OBJ x1) /* value */
{OBJ r;
 r=x1;
 return r;}

extern OBJ _ALexem_57(OBJ x1) /* wildchar? */
{OBJ r;
 CPPRD(__ALexem_56,1);
 ADenotation_21(x1,__ALexem_56,r);
 return r;}

extern OBJ _ALexem_92(OBJ x1,OBJ x2) /* = */
{OBJ r;
 ADenotation_21(x1,x2,r);
 return r;}

extern OBJ _ALexem_93(OBJ x1,OBJ x2) /* |= */
{OBJ r;
 ADenotation_21(x1,x2,r);
 return r;}

extern OBJ _ALexem_94(OBJ x1,OBJ x2) /* < */
{OBJ r;
 ADenotation_17(x1,x2,r);
 return r;}

extern OBJ _ALexem_95(OBJ x1,OBJ x2) /* > */
{OBJ r;
 ADenotation_20(x1,x2,r);
 return r;}

extern OBJ _ALexem_96(OBJ x1,OBJ x2) /* <= */
{OBJ r;
 ADenotation_18(x1,x2,r);
 return r;}

extern OBJ _ALexem_97(OBJ x1,OBJ x2) /* >= */
{OBJ r;
 ADenotation_19(x1,x2,r);
 return r;}

extern OBJ _ALexem_98(OBJ x1) /* ` */
{OBJ r;
 r=x1;
 return r;}



init_ALexem()
{
 static int visited=0; if(visited) return; visited=1;
 init_ADenotation();
 init_AChar();
 init_ANat();
 init_AInt();
 CLS(2,_ALexem_95,__ALexem_95);
 DEN("/*",__ALexem_31);
 DEN("PROOFSCRIPT",__ALexem_63);
 CLS(2,_ALexem_94,__ALexem_94);
 DEN("--",__ALexem_30);
 DEN("|-",__ALexem_62);
 CLS(2,_ALexem_93,__ALexem_93);
 DEN(".",__ALexem_29);
 DEN("PROOF",__ALexem_61);
 CLS(2,_ALexem_92,__ALexem_92);
 DEN("\\\\",__ALexem_28);
 DEN("_",__ALexem_60);
 DEN("ABORT",__ALexem_91);
 DEN(":",__ALexem_27);
 DEN("ANDIF",__ALexem_59);
 DEN("tl",__ALexem_90);
 DEN("**",__ALexem_26);
 DEN("ORIF",__ALexem_58);
 DEN("<|",__ALexem_89);
 DEN("->",__ALexem_25);
 CLS(1,_ALexem_57,__ALexem_57);
 DEN("denotation",__ALexem_88);
 DEN("==",__ALexem_24);
 DEN("_",__ALexem_56);
 DEN("DENOTATION",__ALexem_87);
 DEN("WHERE",__ALexem_23);
 DEN("<<=",__ALexem_55);
 DEN("|=",__ALexem_86);
 DEN("TYPE",__ALexem_22);
 DEN("<=>",__ALexem_54);
 DEN("=",__ALexem_85);
 DEN("THEN",__ALexem_21);
 DEN("==>",__ALexem_53);
 DEN("~",__ALexem_84);
 DEN("SORT",__ALexem_20);
 DEN("===",__ALexem_52);
 DEN("or",__ALexem_83);
 DEN("SIGNATURE",__ALexem_19);
 DEN("PROPERTIES",__ALexem_51);
 DEN("and",__ALexem_82);
 DEN("OTHERWISE",__ALexem_18);
 DEN("OR",__ALexem_50);
 DEN("false\?",__ALexem_81);
 DEN("NOT",__ALexem_49);
 DEN("true\?",__ALexem_80);
 DEN("LET",__ALexem_16);
 DEN("LAW",__ALexem_48);
 DEN("false",__ALexem_79);
 DEN("IN",__ALexem_15);
 DEN("INTERNAL",__ALexem_47);
 DEN("true",__ALexem_78);
 DEN("IMPORT",__ALexem_14);
 DEN("EXTERNAL",__ALexem_46);
 DEN("bool",__ALexem_77);
 DEN("IMPLEMENTATION",__ALexem_13);
 DEN("EX",__ALexem_45);
 DEN("BOOL",__ALexem_76);
 DEN("IF",__ALexem_12);
 DEN("DFD",__ALexem_44);
 DEN("GOAL",__ALexem_75);
 DEN("FUN",__ALexem_11);
 DEN("AND",__ALexem_43);
 DEN("LEMMA",__ALexem_74);
 DEN("FI",__ALexem_10);
 DEN("ALL",__ALexem_42);
 DEN("JUSTF",__ALexem_73);
 DEN("ELSE",__ALexem_9);
 DEN("%error",__ALexem_41);
 DEN("JSTF",__ALexem_72);
 DEN("DEF",__ALexem_8);
 DEN("]",__ALexem_40);
 DEN("PROP",__ALexem_71);
 DEN("DATA",__ALexem_7);
 DEN("[",__ALexem_39);
 DEN("LY",__ALexem_102);
 DEN("ASSUME",__ALexem_70);
 DEN("\'",__ALexem_38);
 DEN("ON",__ALexem_101);
 DEN("ASSERT",__ALexem_69);
 DEN("AS",__ALexem_5);
 DEN(",",__ALexem_37);
 DEN("PLETELY",__ALexem_100);
 DEN("THEORY",__ALexem_68);
 CLS(1,_ALexem_4,__ALexem_4);
 DEN(")",__ALexem_36);
 DEN("COM",__ALexem_99);
 DEN("POST",__ALexem_67);
 CLS(1,_ALexem_3,__ALexem_3);
 DEN("(",__ALexem_35);
 CLS(1,_ALexem_98,__ALexem_98);
 DEN("PRE",__ALexem_66);
 CLS(1,_ALexem_2,__ALexem_2);
 DEN("$/",__ALexem_34);
 CLS(2,_ALexem_97,__ALexem_97);
 DEN("/$",__ALexem_33);
 DEN("SPC",__ALexem_65);
 CLS(2,_ALexem_96,__ALexem_96);
 DEN("*/",__ALexem_32);
 DEN("proofscript",__ALexem_64);
 CPPRD(__ALexem_99,1);
 CPPRD(__ALexem_100,1);
 ADenotation_4(__ALexem_99,__ALexem_100,__ALexem_6);
 CPPRD(__ALexem_101,1);
 CPPRD(__ALexem_102,1);
 ADenotation_4(__ALexem_101,__ALexem_102,__ALexem_17);}

