+------------ User's Manual ------------+ | STATISTICAL | | ENTAILMENT ANALYSIS 2.0 | | SEA.EXE | +=======================================+ | | | M U L T I - D I M E N S I O N A L | | | | G U T T M A N S C A L I N G | | | |---------------------------------------| | _ _ _ | | / /\ | | | /\ | | | | | /\ | | | |__| | | |- | | |/ |\| ||__| | | \_ | | |__ | | \/ | \ | | || | | | | | _ ___ _ _tm| | | \ /\ | /\ | /\ / | / | | | | |__| | |__| | | | | _ | | | | |_/ | | | | | |__ \/ \_| | \_ | | | +===== 8888 La Jolla Scenic Dr. N. =====+ La Jolla, CA 92037-0650 TABLE OF CONTENTS page 1. Introduction: 1 .1 Purpose of MGS 1 .2 Use of Entailments 2 .3 Procedures 3 2. Guttman Scales 4 3. Transitivity 5 .1 Weak Form: Partial Correlation 6 .2 Strong Form: Cumulative Exceptions 7 4. Input Data File 8 5. Running the Program 10 6. Output 11 .1 Step 1: Table 1 Cross Tabulations 11 .1.1 Exclusions and Coexhaustives 13 .1.2 Table 1 for Negative Entailments 14 .1.3 Contrapositives 14 .1.4 Equivalences 15 .2 Step 2: Table 2 Randomization 16 .3 Step 3: Table 3 Expected & Actual 17 .4 Step 4: Table 4 Signal Detection 18 .5 Step 5: Table 5 Transitivity 20 .6 Step 6: Entailment Chains by Level 23 7. Drawing the Entailment Hierarchy 24 8. Advanced Options 26 ENDNOTES 29 9. References to MGS and Precursors 30 10.References to Guttman Scaling 31 Software License 32 MULTIDIMENSIONAL GUTTMAN SCALING (c) 1986 Douglas R. White 1. Introduction. 1.1 Purpose of MGS MGS methods represent a major revision of conventional Guttman Scaling techniques (section 10). Questions of scale errors (section 2) and use of errors to measure scalability of variables (section 10) are treated in the context of exceptions to the entailment relationships between variables ("If X is present then Y is present") which constitute the scale. The transitivity of entailments (If X then Y and If Y then Z imply If X then Z) becomes a crucial scaling criterion. Using MGS, as many as 50 dichotomous variables can be examined to define a network of transitive entailments. Unlike earlier approaches to multiple Guttman scaling (Lingoes; Mokken), MGS gives an integral, relational, and truly multidimensional approach to the implica- tional scaling of dichotomous items. - 1 - 1.2 Use of Entailments MGS procedures provide a statistically optimized description of the structure of dichotomously coded data by identifying entailment relationships. An entailment is one of four types of implicational relationships such as "if X is present then Y is present", with (i) a percentage Pxy of exceptions to the implication, and (ii) statistical relevance as measured by the strength of association in the cross-tabulation of the variables. Entailments between two positively correlated variables X and Y are written (see endnote 1) as: 1. X <-- Y (X entails Y), with Pxy % exceptions; and its converse, 2. Y <-- X, with Pyx % exceptions. Two other types of entailment apply where the variables are negatively correlated: 3. X <-- -Y (X entails not-Y), with Px-y % exceptions; and its converse, 4. -Y <-- X, with P-yx % exceptions. - 2 - 1.3 Procedures Special features of the MGS method and program are explained in this manual. The manual is organized around a sample MGS run which uses the data file depicted in Table 0, Section 2. For learning purposes, experiment by running MGS on modifications of this datafile. Although the example shows a unidimen- sional scale, MGS is not limited to data where a unidimensional scale is hypothesized. The MGS analysis involves a three phase process where you prepare a data file, run MGS, and draw the entailment hierarchies from the output. Begin by reading sections 2 and 3 to understand the procedures used in the program. - 3 - 2. Guttman Scales. A cumulative scalogram or Guttman scale is described by a directed chain of entailments such as W <-- X <-- Y <-- Z. This pattern of relationships is exempli- fied in the following coded dichotomous data, where 1 indicates presence and 0 absence, with 9 for missing data: TABLE 0 W X Y Z Observation | 1 1 1 1 1 |__1__ 9 1 1 2 0 | 1 0 1 3 0 |__1__ 1 1 4 0 0 |__1__ 1 5 0 0 0 | 1 6 9 0 0 |__1__ 7 0 0 0 0 | 8 In this scale, observations 1, 4, 5, 6, and 8 are "pure" scale types which fit the expected scale pattern perfectly. Observations 2 and 7 are "consistent" scale types which fit the pattern but contain missing data. Observation 3, on - 4 - the other hand, contains a scale error: the Guttman scale pattern as well as the entailment X <-- Y predicts that if X is present then Y will be present, or if Y is absent then X will be absent. There are six constituent entailments in this scale with the following percentages of exceptions: W <-- X 0 % exceptions (Pwx) W <-- Y 0 % exceptions (Pwy) W <-- Z 0 % exceptions (Pwz) X <-- Y 14.3 % exceptions (Pxy) X <-- Z 0 % exceptions (Pxz) Y <-- Z 0 % exceptions (Pyz) 3. Transitivity. MGS builds on the assumption that a major criterion for a Guttman scale is the transitivity of directed chains of entailment such as described above. When X entails Y, or X <-- Y, and Y entails Z, or Y <-- Z, we infer by transitivity that X entails Z. There are two kinds of measure of transitivity, weak and strong. The weaker is determined by the measure of partial correlation. The stronger is - 5 - determined by cumulativity of exceptions: in a chain X <-- Y <-- Z: whether the exception rate Pxz equals or exceeds the sum of Pxy and Pyz, their maximum, their average, or their minimum. 3.1 Weak Form: Partial Correlation In directed entailment chains X <- Y <- Z a negative partial correlation between X and Z controlling for Y (the intervening variable) is evidence of Guttman scale intransitivity. In a perfect Guttman scale (all pure scale types; no errors in constituent entailments) all such partial correlations are necessarily zero. Zero or positive partials, with imperfect scales, are evidence of scalability or fit to the scale pattern. This provides the weakest criterion where transitivity is considered to be satisfied: Rule 1. Partial correlations are zero, positive, or very close to zero if negative with missing data. A stronger criterion is: - 6 - Rule 2. Partial correlations are zero or positive. Neither criterion distinguishes the directionality of the entailments for patterns such as Table 0. Here, for example, both W <- X <- Y <- Z and its converse Z <- Y <- X <- W exemplify rule 2 of non-negative partials. 3.2 Strong Form: Cumulative Exceptions For an entailment chain X <- Y <- Z, the % exceptions Pxz, Pxy and Pyz are used to evaluate strong forms of transitivity. Unless missing data are present, it is necessarily true that Pxz < Pxy + Pyz. The following three rules, however, provide transitivity criteria of increasing strength: Rule 3. Pxz < maximum (Pxy, Pxz) Rule 4. Pxz < average (Pxy, Pxz) Rule 5. Pxz < minimum (Pxy, Pxz) - 7 - The stronger rules of transitivity may distinguish directionality of entailment. For example, the entailments originally described for Table 0 satisfy rules 1 through 5, while the converse entailment chain (with arrows reversed) satisfies rules 1, 2, and 3 (see endnote 2), but not 4 or 5. (Recall that in general Pxy /= Pyx.) 4. Input Data File. MGS is a batch program. Data are read from a text file. The data in Table 0 are contained the following file: 4 8 5 TEST DATA TITLE (4I2) 1 1 1 1 1 9 1 1 0 1 0 1 0 1 1 1 0 0 1 1 0 0 0 1 9 0 0 1 0 0 0 0 - 8 - An MGS INPUT DATA FILE consists of a parameter line, a title line, a format line, and data lines as illustrated. The first line of the input data file gives the number of variables (above: 4) in columns 2-3. The number of observations (e.g. 8) in columns 4-6 is optional. If it is not given, the program will look for an end-of-file marker and ask you to reenter the name of the input data file. The transitivity parameter in column 11 is also optional. If not specified, it is set by default to 4 (section 3.2: rule 4). The second line indicates that TEST DATA is the title of the dataset. Leave the first column of this line blank. The third line gives the FORTRAN integer format for reading the data which follows it (leave first column blank). Thus, format (4I2) will read four two-column variables, and looks for data in columns 2,4,6,8. - 9 - There are 16 other optional parameters with defaults described in the advanced options section (8). You do not need these options to get started running MGS. 5. Running the Program. The program is started by entering: >MGS You will then be asked to specify CON: if you want output to appear on the console. Press Control-PrtSc for console output to appear on your printer. If you want to save the output as a datafile, give a desired filename, and press the ENTER key. If you do so, be prepared to wait until the program finishes without seeing anything on your screen. No output datafiles will be saved unless the execution is finished. The program will ask for the name of the input data file, followed by the ENTER key, to begin execution. - 10 - 6. Output. MGS output to the screen includes the logo, copyright statements, the num- ber of variables, title, format, list of parameters (section 8 default settings), various instructions, item frequencies, and the summary signal detection table 4 (section 6.4). Next are listed variables which have identical codes, or are always coded present or always coded absent. Finally come the transitive entailments in Table 5 (section 6.5), and entail- ments chains at various levels of exceptions (section 6.6). TABLE1 (Cross- Tabulations), TABLE2 (Sample Random Data), and TABLE3 (Actual vs. Expected Frequencies of Entailments of each type, at various strength of correlation and levels of exceptions), are discussed in sections 6.1, 6.2, and 6.3, and will appear in the default disk drive. 6.1 Step 1: TABLE1 Cross-Tabulations The first step in analysis is cross- tabulation of all pairs of variables. - 11 - Each pair of variables appears in an output file, TABLE1, which will appear on the default disk drive. Table 1 X<-Y Y<-X VARS. RELE- EXCEP- EXCEP- 2x2 Tables X Y VANCE TIONS TIONS A B C D ==1== ==2== ===3=== ===4=== = = = = 1 2 .447 .000 S .333 W 1 0 2 3 1 3 .548 .000 S .286 W 2 0 2 3 1 4 .258 .000 S .571 W 2 0 4 1 2 3 .417 .143 S .143 S 2 1 1 3 2 4 .354 .000 S .429 W 3 0 3 1 3 4 .378 .000 S .375 W 4 0 3 1 The two columns under ==1== in Table 1 are the pairs of variables. Under ==2== are the correlation coefficients (Pearson tetrachloric r). Under ===3=== is Pxy (% exceptions) for the entailment X <- Y. This entailment is classified as S (strong) if the % exceptions Pxy are less than or equal to Pyx, the % exceptions of the converse entailment Y <- X. Otherwise, the entailment is classified as W (weak). Under ==4== is Pyx and the classification of the converse entailment as S or W. The last four columns are - 12 - labelled for the cells in the 2x2 table: Y + Y - +----+----+ X + | A | B | 2x2 Table +----+----+ X - | C | D | +----+----+ Note that Pxy = B/N and Pyx = C/N, where N =A+B+C+D is the number of observations. 6.1.1 Exclusions and Coexhaustives In the example in Table 0, all of the correlations are positive and exceptions to the entailments occur only in cells B or C in the above table. This is not necessarily the case, and the other two types of entailments are now discussed to give full generality to MGS: i) Exclusion is an entailment of the form X <-- -Y (section 1.2), where the exceptions Px-y occur in cell A of the 2x2 table. - 13 - ii) Coexhaustion is an entailment of form -X <-- Y, where the exceptions P-xy occur in cell D of the 2x2 table. 6.1.2 TABLE1 for Negative Entailments Negative correlations between variables will also appear in TABLE 1. Percentage exceptions for exclusions will be in column ===3=== followed by the letter E. % exceptions for coexhaustions will be in column ===4=== followed by the letter C. 6.1.3 Contrapositives Entailment analysis (the MGS program) encompasses multi-dimensional Guttman scaling, but has by virtue of the two types of negative entailments a more general applicability to describing set- subset relationships (Boolean algebra) or first-order predicate logic. In logic, the contrapositive of an entailment "If X then Y" is the equivalent entailment made by reversing the order and signs of the variables: "If not Y then not X." The - 14 - four types of directed entailments, with equivalent contrapositives, correspond to the four error cells of the 2x2 table: A. X <-- -Y = Y <-- -X B. X <-- Y = -Y <-- -X C. Y <-- X = -X <-- -Y D. -X <-- Y = -Y <-- X 6.1.4 Equivalences An equivalence between two variables is represented by double arrows, X <-> Y, and occurs when cells B and C of the 2x2 table are empty (perfect correlation). A negative equivalence, -X <-> Y or X <-> -Y, occurs when cells A and D of the 2x2 table are empty (perfect negative correlation). When either of these two conditions occurs with no missing data, a set of perfectly correlated variables is identified by the program, and all but the first variable in the set are dropped from subsequent analysis since all equivalents have identical entailments. - 15 - 6.2 Step 2: TABLE2 Randomization To determine the significance of 2x2 tables MGS does not rely on tests for individual tables but on comparable 2x2 classifications of randomized variables having the same marginal frequencies as the actual data. In this step, each variable in the analysis is randomized (see advanced options) and step 1 is repeated for the randomized data. Sample random data are saved in file TABLE2. In the example above (data: Table 0), a possible result of randomization is: TABLE2 0 0 1 1 1 9 1 1 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 9 0 0 1 0 0 0 1 An analysis of random data comparable to that of the actual data allows MGS to determine whether the observed entailment results are likely to be due to chance. - 16 - Low frequency variables, for example, are likely to entail high frequency ones by chance alone. 6.3 Step 3/Table 3 Expected & Actual Randomization and the analysis of random data is usually repeated more than once (default: 2) and averaged to obtain an baseline for expected frequencies of entailments of various sorts and levels. Sample results are shown in Table 3, where the actual and expected frequencies of each of the four types of entailment (strong inclusion, weak inclusion, exclusion, and exclusion). are classified as to (1) degree of correlation and (2) percent exceptions. TABLE 3 ACTUAL:RANDOM STRONG INCLUSION FREQUENCIES CLASSIFIED BY STRENGTHS OF CORRELATION: and >.5 >.4 >.3 >.2 >.1 EXCEPTIONS ========================================= .000 1:0 1:.5 2:1 1:0 0:0 .125 0:0 0:0 0:0 0:0 0:0 .250 0:0 2:0 0:0 0:0 0:0 - 17 - As seen in this portion of table 3, two entailments occurred with zero exceptions and a correlation of above .4 while only one occurred in two random datasets; four occurred above .3, with 1.5 by chance; five occurred above .2 with 1.5 by chance. With one exception (% = .143) two entailments occurred above .4, with none by chance. In all, seven entailments occurred with 1 or fewer exceptions above a .2 correlation, while 1.5 occurred by chance. The ratio of actual to random entailments at this level is 4.67:1. 6.4 Step 4: Table 4 Signal Detection Signal detection methods are applied to the data in Table 3 to pick the optimal cutoff levels for entailments of each type. First, a cutoff is determined at each level of exceptions for the lowest correlation at which the cumulative number of actual entailments exceeds the cumulative number expected for all entailments at this level or stronger (to alter the actual-to-expected cutoff ratio see section 8 col. 32-34). For Table 3 - 18 - COMPLETE EQUIVALENCIES: this occurs at .10 in row 1 and 2. These cutoffs are given in the first of two columns on Table 4. A sample appears below as it will on the console: TABLE 4: SIGNAL DETECTION (1) CUTPOINTS (2) SIGNAL-TO-NOISE RATIO STRONG WEAK INCLUSIONS INCLUSIONS (1) (2) (1) (2) E < .000 > .10 3.33 > .10 0. X < .125 > .10 3.33 > .10 0. C < .250 > .10 4.67 > .10 0. The second column under each type of entailment in Table 4 lists the ratio of actual to expected entailments (**** occurs where only the expected is zero; 0 where both expected and actual are zero). The number of actual and expected entailments with correlations above the level in col. (1) are summed for each level of exceptions. The exception level with the highest ratio of actual to expected is then determined and given on the console as follows: BEST EXCEPTIONS LEVEL IS .250 AT SIGNAL TO NOISE RATIO OF 4.667 - 19 - Thus, at 28% exceptions there is a 2:1 ratio of actual to expected entailments over all four types of entailment. Referring to col. (2) in Table 3, however, we see that the ratio of 4.67:1 for strong inclusions is even higher. These cutoffs determine which entailments are entered for analysis in the remaining steps 5 and 6. 6.5 Step 5: Table 5 Transitivity The entailment structure of MGS is built by entering entailments which passed the signal detection test. They are entered in order of strength, based on (1) fewest exceptions and (2) highest relevance, or correlations adjusted for missing data (see advanced options). They are now subjected to a further test of whether (3) transitivity is preserved with respect to all previously entered entailments. The order in which entailments in the sample data are either entered or rejected is shown in Table 5 below, which will appear on the console: - 20 - TABLE5 TRANSITIVITIES EXCEPTIONS VARI- | RELEVANCE ABLES | | LEVEL X Y | | | INTRANSITIVE TRIPLES: v v v x y z Pxz > MIN(Pxy,Pxz) ==1== =2= =4= 5 6 7 8 =====9 or 10====== 1<- 3 .00 .48 7 3<- 4 .00 .38 5 1<- 2 .00 .34 5 2<- 4 .00 .31 5 1<- 4 .00 .23 5 3<- 2 .14 .37 5 2<- 3 .14 .37 5 3 MIN(.14,.33) 2 MIN(.38,.14) * also rejected as exceeding the limit for proportion of exceptions. This table reads as follows. Under ==1== is the ordered pair of variables. If one of the two has a negative sign it indicates an exclusion or coexhaustion. Arrows of form <- indicate acceptance; i.e., these entailments pass the transi- tivity test. Arrows of form 3 ENTAILMENT CHAINS: 1 <- 2 <- 4 7. Drawing the Entailment Hierarchy. Each entailment chain forms a hier- archy from of less frequent items (by inclusion) entailing more frequent items. For the example here, the entailment hierarchy is shown below with the approximate frequencies of variables at each level given on the left: 30% 1 ___/___\___ 50% [_2_______3_] \ / 90% 4 Here the lines represent arrows going - 24 - downward for entailments with zero errors, and the rectangle represents the mutual entailment 2 <-> 3, with one error. At any level of exception there may be multiple hierarchies of entailments, all running from low to high frequency items. The entailments at differenct levels of exception form a second hierarchical structure in the data in the sense that structures with fewer exceptions are by definition subsets of structures allowing more exceptions. Entailment structures may contain nega- tive entailments, and require other types of lines to represent mutual exclusion and coexhaustion. MGS eliminates coex- haustives by changing the signs of certain variables. The entailment hierarchies may then be represented using relations of inclusion and exclusion, or `positive' and `negative' lines. Coexhaustive sign-signing may also be suppressed (section 8: col.36). - 25 - 8. Advanced Options. Parameters that can be set to govern the analysis are: (1) alter the number of cases read; (2) include K additional cases as uniform absences; (3) alter transitivity rule; (4) set a margin of negativity for partial correlations when using the weakest transitivity rule, (5) fix the maximum proportion of exceptions allowed; or (6), the minimum relevance or correlation allowed; (7) reset the number of levels of exceptions; or (8), the number of levels of relevance or correlation; (9) percentage exceptions to the smaller of the row or column total for the exceptions cell; (10) alter criteria for weighting correlations where observational data are missing; (11) set number of replications of the random data comparison; (12) use an alternative randomization procedure; (13) reset the random number seed for random number subroutine; (14) alter the signal/noise ratio used as cutoff; (15) write input data; (16) eliminate coexhaustives by sign inversion; (17) continue analysis - 26 - of another comparable dataset following the first; (18) exclude (mask) sets of variables from the actual vs. random data comparison. Overriding the defaults for each of these options is done by entering parameters in line 1 of the input data, as follows: TYPE OF PARAMETER CHANGE Column Default Alter Parameter Number NUMBER OF OBSERVATIONS? 4-6 end-of-file N = Number to be read 1 7-10 0 Add K blank observatns. 2 TRANSITIVITY? 11 4 Transitivity Criterion 3 12-14 .01 Margin for Partial Cor. 4 EXCEPTIONS & CORRELATIONS 15-17 .99 Maximum Exceptions 5 18-20 .10 Minimum Correlation 6 21-22 N if<100 Levels of Exceptions 7 23-24 10 Levels of Correlations 8 25 0 (no) Exceptions Percentaging 9 26 2 Missing Data Weighting 10 Note: the weighting is the proportion coded to the power 1/P where P is the parameter in col. 26. - 27 - (Advanced Options, cont.) Column Default Alter Parameter RANDOM DATA COMPARISON 27 2 Number of Replications 11 28 0 (no) 1 = Alter Randomization 12 29-31 4.0 Reset Random # Seed 13 32-34 1.0 Signal/Noise Cutoff 14 INPUT/OUTPUT OPTIONS? 35 0 (no) 1 = write input data 15 36 0 (no) 1 = no coexch. sign-chg. 16 37 0 (no) 1 = another dataset 17 MASKING LINES ADDED? 38-39 0 (none) Number of Masking Lines 18 Note: Col. 28. The default randomization is to scramble the order of the observations for each variables, keeping the exact marginal frequencies. The alternative is to sample the observed values (with replacement), giving the same expected marginal frequencies. Note: Col. 38-39. Masking lines are placed between lines 2 and 3 of the normal input structure. Each line may have up to 20 variables in (20I4) format. - 28 - (Note: cont.) Entailments among all variables given on a single masking line are ignored in the signal detection analysis. One use of masking lines is for sets of variables which are related by definition. Another is in testing the hypothesis that the entailments specified by the masking sets are sufficient to account for the observed structure. If so, no additional entailments should be detected. ENDNOTES 1. The entailment arrow notation is changed from previous published material (section 9), and is now in the reverse direction of the ordinary implicational arrow. The new notation is consistent with the direction in inequality, X < Y, and subset/superset inclusion, X c Y. 2. Actually, because of the scale error, only the subchain Y <-- X <-- W is consistent with rule 3. Rule 4 (section 3.2) is taken as the default test of transitivity of exceptions (sections 4 and 8) because it is less susceptible to influence by other scale errors. - 29 - 9. References to MGS and its Precursors Burton, M.L., D.R.White, L.A.Brudner. "A Model of the Division of Labor by Sex." American Anthropologist 4:227-251. 1977. Coxon, A.P.M., and C.L. Jones. "Implicative Relations and Social Class," pp. 161-81 in Class and Hierarchy: The Social Meaning of Occupations. London: Macmillan Press. 1979. D'Andrade, R.G. "A Propositional Analysis of U.S. American Beliefs about Illness." K.H.Basso and H.A.Selby, eds., Meaning in Anthropology, pp. 155-180. 1976. White, D.R., M.L.Burton, L.A. Brudner. "Entailment Theory and Method: A Cross- Cultural Analysis of Sexual Division of Labor." Behavior Science Research 12: 1-24. 1977. White, D.R., and H.G.McCann. "Cites and Fights: Entailment Analysis of the 18th C. Chemical Revolution," in S.D. Berkowitz and B. Wellman, eds., Social Structure: Form and Behavior in Social Life. 1987. - 30 - 10. References to Guttman Scaling Guttman, Louis L. "The Basis for Scalogram Analysis," pp. 60-90 in S.A.Stouffer et al. (eds.) Measurement and Prediction. Prince- ton: Princeton University Press. Lingoes, James. Maranell, G. M. (ed.) Scaling: A Sourcebook for Behavioral Scientists. Chicago: Aldine. McIver, John P., & Edward G. Carmines. Unidimensional Scaling. Beverly Hills: Sage Publications. 1981. Mokken, R.J. A Theory and Procedure of Scale Analysis. The Hague: Mouton. 1971. - 31 - SOFTWARE LICENSE IMPORTANT! THE ENCLOSED MATERIALS ARE PROVIDED TO YOU ON THE EXPRESS CONDITION THAT YOU AGREE TO THIS SOFTWARE LICENSE. BY USING THIS DISKETTE, YOU AGREE TO THE FOLLOWING PROVISIONS. IF YOU DO NOT AGREE WITH THESE PROVISIONS, RETURN THESE MATERIALS TO DATA-LOGIC, IN ORIGINAL PACKAGING, WITHIN THREE DAYS OF RECEIPT, FOR A REFUND. 1. This copy of the MGS Program and the diskette on which it is contained (the "Licensed Software") is licensed to you, the end-user, for your own internal use. You do not obtain title to the Licensed Software or any copyrights or proprietary rights in the Licensed Software. You may not transfer, sub- license, rent, lease, convey, copy, modify, translate, convert to another programming language, decompile or disassemble the Licensed Software for any purpose. - 32 - 2. THE LICENSED SOFTWARE IS PROVIDED "AS- IS." ALL WARRANTIES AND REPRESENTATIONS OF ANY KIND WITH REGARD TO THE LICENSED SOFTWARE ARE HEREBY DISCLAIMED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. UNDER NO CIRCUMSTANCES WILL THE MANUFACTURER OR DEVELOPER OF THE LICENSED SOFTWARE BE LIABLE FOR ANY CONSEQUENTIAL, INCIDENTAL, SPECIAL OR EXEMPLARY DAMAGES EVEN IF APPRISED OF THE LIKELIHOOD OF SUCH DAMAGES OCCURRING. SOME STATES DO NOT ALLOW THE LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THE ABOVE LIMITATION OR EXCLUSION MAY NOT APPLY TO YOU. - 33 - Copyright Copyright (c) 1984-98 Douglas R. White as an unpublished work. All rights reserved. Disassembly or decompilation of the software is prohibited. WARNING! These materials, including the software provided with these materials, are protected under copyright, trade secret and/or other laws. Unauthorized duplication, transfer, modification or use of any of these materials may subject the offender to civil and/or criminal action. Criminal penalities for willful copyright infringement include fines and imprisonment. +===== California Data Logic ===========+ P.O. Box 12524 La Jolla, CA 92037-0650 619-457-0077 MGS Version 1.2 Re-Order Number OM1.2A - 34 -