/* lid.c 11-11-89 ***** This is the cover file for the LOGIC, ISOM and ***** ***** DIALOG modules of the program MaGIC.c. It only ***** ***** contains the header for the common structures, ***** ***** the #include statements and initialisation. *****/ /***********************************************************/ #define LOGICS "FD, B, DW, TW, EW, C, T, E, R, CK and S4." #define FD 0 #define B 4 #define DW 7 #define TW 11 #define EW 15 #define RW 19 #define T 22 #define E 25 #define R 28 #define CK 31 #define S4 38 #define AxX 1 #define AxBA 2 #define AxSBA 3 #define AxW2 4 #define AxK 5 #define AxK2 6 #define AxM 7 #define AxRED 8 #define AxC3 9 #define AxCt 10 #define Axat 11 #define AxTF 12 #define AxB 13 #define AxB2 14 #define AxC2 15 #define AxW 16 #define AxC 17 #define AxWB 18 #define FORALL(x) for (x=0; x<=siz; x++) #define FORaLL(x) for (x=siz; x>=0; x--) int nulladic[CMAX], /* Defined sential const. */ monadic[CMAX][SZ], /* Defined connectives */ dyadic[CMAX][SZ][SZ], /* Ditto */ vu[4], rvu[4], /* Variables used in wffs */ badvalue[4], /* Refuting assignment */ siz, /* Highest value */ filing = 0, /* Output file open (flag) */ tot, /* Total matrices tested this time */ isoms, /* Isomorphs omitted */ zero = 0; /* Dummy integer */ SBF subf[FMAX], /* Local formula array for testing */ *tx; /* Last active subformula */ ISM istak[ISOMAX]; /* Spare records for automorphisms */ PRM *perm; /* List of permutations */ char *malloc(); /***********************************************************/ #include "logic.c" #include "isom.c" #include "dialog.c" /***********************************************************/ #ifdef PARALLEL lm_initial() /*** Set up limbo and mat_buffer***/ { int i; for ( i = 0; i < MMAX-1; i++ ) gm->limbo[i].nextmat = gm->limbo+i+1; gm->limbo[MMAX-1].nextmat = 0; for ( i = 0; i < MBMAX-1; i++ ) gm->mat_buffer[i].nextmat = gm->mat_buffer+i+1; gm->mat_buffer[MBMAX-1].nextmat = 0; } #endif