Neural Networks
A Neural Network-based Law Machine: The Problem of Legitimacy
Law, Computers & Artificial Intelligence, Volume 2, Number 2, 1993
A Neural Network-based Law Machine: The Problem of Legitimacy
DAVID R. WARNER JR
OHIO NORTHERN UNIVERSITY, USA
ABSTRACT
A neural network-based law machine should be capable of emulating the inherently parallel reasoning process of the lawyer and thus, of providing a superior platform for the modeling of the legal reasoning process. However, neural networks suffer from a ‘black box’ image resulting from the considerable difficulty attaching to the process of attempting to understand how they represent knowledge. Thus, it is difficult to establish the legitimacy of a network’s results in terms of the law. There are several approaches which have been suggested as means to approach an understanding of the network’s knowledge representations. One approach articulating the network’s knowledge base in terms of if-then rules presents the possibility of combining neural network-based machines and rule-based expert systems.
I have in three earlier articles discussed the possibilities of constructing a ‘Simple Law Machine’ which might force us to recognize that any given decision goes beyond the range of traditional decision making options and which might provide us with a means for articulating the demarcation between formal legal reasoning and the exercise of judgement or resort to discretion. Because of the nature of the process of legal reasoning, it seems that neural networks might be particularly well suited as platforms for the construction of such a model, a point made by these articles.[l]
As one proceeds with the attempt to construct a model of the legal reasoning process,[2] it is, of course, desirable to first attempt some description of that process. Typically, we describe it as a process of reducing problems to issues or unit problems, resolving the unit problems and they synthesizing the unit solutions into a solution of the entire problem. We find this description convenient: it is sequential in nature and as such fits nicely within the constraints of our language.
However, if we attempt in fact to adhere to this process in the resolution of legal problems, we find that the result reached is often not in accord with the result that would be reached in fact by a lawyer or judge. While this divergence of results is not invariable, it will occur frequently enough to call into question the appropriateness of the sequential description. This description, it appears, is a result of our deficient linguistic resources.[3] While our language dictates a sequential description of the process, the process is In fact parallel.[4] Many aspects of the problem resolution process are carried out simultaneously. The problem domain is defined by the initial statement of the problem. That initial problem Is then resolved Into a number of issues, or unit problems – the solution to each of which will be sought within the problem domain utilizing a subsymbolic paradigm that is not rule-based.[5] As each unit solution is arrived at, that solution will change the state of the entire problem domain. The effect of this state change is to render invalid – or at least questionable – all prior unit solutions arrived at and to alter the environment within which all future unit solutions will be sought. Accordingly, each unit solution requires that all prior unit solutions be recomputed and that the changed environment be taken into account in all future unit solutions. A synthesis of unit solutions into a holistic solution cannot occur until the problem domain has come into equilibrium. In a purely sequential system, equilibrium will either never be realized or its realization will occur at a point so far removed in time from the onset of the problem situation that the attempt at synthesis is likely to occur before equilibrium is reached. In either event, synthesis attempted before the point of equilibrium is likely to result in an apparent solution that is incomplete and false.[6] However, in fact, as we approach the resolution of any unit problem, we simultaneously recompute our earlier solutions and adjust for the changed environment with respect to future solutions and thus arrive at a workable holistic solution in a parallel fashion.
As we attempt to construct a model of this process, we must choose a computational platform that Is capable of emulating this parallel problem-solving process. Traditional intelligent knowledge-based systems (IKBS)[7] make use of Von Neumann machines.[8] Such machines tend to impose a sequential structure on the model and, as I have observed earlier [9], seem as a result to be inappropriate platforms for the construction of the model we seek.
A more appropriate platform is the neural network,[10] that is, a distributed connectionist model of memory.[11] This use of neural networks appears to have been first suggested in 1987.[12] There is a good deal of similarity between the lawyer’s resort to analogy in the’resolution of legal problems [13] and the special utility of neural networks in a pattern matching domain.[14] As well, the decision-making process of the neural network is inherently parallel as is that of the human lawyer. This reasoning process, often described as empirical or heuristic,[15] makes use of the subsymbolic paradigm which is the special domain of the connectionist or neural network.[16]
A neural network takes as its computational analog, the human brain.[17] A neural network consists of a series of simulated neurons arranged in layers. Each neuron in one layer is connected by synapses to all neurons in the next layer. Typically, a network will consist of three layers – an input layer, a hidden layer and an output layer.[18] In operation, a set of input signals will be applied to each neuron in the network, either from an external source or through the internal connections between neurons. Each input is then multiplied by the weight of the synaptic connection with which it is associated. The neuron to which the inputs are directed then sums the incoming weights to determine the strength of the signal, if any, which the neuron in question will output.[19] When the weights of the incoming signals reach a certain level determined by the network designer, the neuron will fire – that is pass information through its output connections. When a neuron fires, it changes the state of the network in a manner analogous to the imposition of a state change [20] on a problem domain which occurs in a parallel reasoning process as a unit solution, or issue resolution, presents itself.
A neural network is prepared for its problem-solving task through a process of heuristic [21] training, using one of a number of available algorithms,[22] which is analogous to the experiential process by which human beings acquire sub-symbolic knowledge rather than through the process of programming which is characteristic of Von Neumann machines. In the training process, supervised for the purposes of this discussion, a series of training cases will be presented to the network. Each case will consist of a problem input together with an example of the desired output. For each problem presented, the network will attempt to reach a solution. The solution arrived at will be compared with the example of the desired output and the weights of the synaptic connections adjusted in an attempt to bring the computed result more closely in line with the desired result. This process will be repeated many times over until the network is able to work through the problem set with only a minimum number of errors.[23]
When the training process begins, the weights of the synaptic connections are set to random values and the network knows nothing. As the training proceeds, and the synaptic weights are adjusted in an attempt to approach the desired result, the network ‘learns’. At the conclusion of training, or at any point before that time, the collection of synaptic weights across the network represents the network’s ‘knowledge’.
There are several criteria which can be readily identified as essential characteristics of a law machine.
[T]he Law Machine must ultimately have access to a Natural Language interface in order to facilitate its interaction with those unfamiliar with computer languages. Given the breadth and complexity of the concepts to be dealt with in the legal arena, the functional Law Machine will have a we{{ defined Universe of Discourse in order to ensure that the user is aware of the Machine’s substantive limitations. Problems in the Law can seldom be defined in static terms and thus the functional Law machine must have a means for dealing with problem solving over time. Since the Law is subject to change, often on a rather frequent basis, the functional Law machine will be rather easily modified. It will possess a Heuristic or ‘Common Sense’ reasoning capacity and will be capable of learning. Finally, in order to be effective it must take into account the need for lawyers to understand thoroughly the basis for any solution proposed. The machine must, thus, offer explanations, which are complete and accurate in terms of the reasoning process used, of the results reached. (Footnotes omitted)[24]
It is our ability to meet the final criteria using a neural network-based platform that is the focus of this article. Given the indeterminacy of the law,[25] some mechanism must be available for the justification of those conclusions reached, those decisions which are made. It is essential that the legitimacy of the action taken by the law be easily established,[26] but in providing a basis for the legitimation of their conclusions, neural networks fall short. The conclusions they reach are non-deductive and thus cannot be legitimated by a deductive explanation of the impact various factors at the input stage have on the ultimate outcome.[27] While at any given time there is a great deal of information stored in the collection of synaptic weights across the network, and while this information might be utilized as a basis for providing legitimation to the network’s result, the neural network’s internal coding represented by these weights is extremely opaque.[28]
The opacity of this encoding is in large part due to the great number of synaptic connections, the varying weights associated with those connections, the significance of those weighted connections one to another and the relationship between them, in any given network. As explained in the text at note [18] each neuron in one layer is connected by synapses to all neurons in the next layer. Thus, in the simple network diagrammed in note [18], there is a total of 24 connections each of which might have a different weight and a different significance relative to the knowledge of the whole network, a significance that can vary with the nature of the relationship of each connection to each other connection. I have been experimenting with a network which consists of four layers, one input layer, two hidden layers and one output layer. In the input layer there are 100 neurons, in each hidden layer, there are 25 neurons and In the output layer, there are eight neurons. In this network consisting of 158 neurons, there is a total of 3383 connections. The number of neurons increases rapidly as the size of the network grows.[29] As noted earlier,[30] as the network is trained, the weight of each connection is modified and thus the input to each neuron is modified as dictated by the sum of all of the weights input to it. Thus, as the size of the network increases and the number of connections increases, the task of calculating the output of any given neuron becomes massive and the task of understanding the significance of that specific output or of isolating those factors dictating it, equally so. Yet it is this task that we must master if we are to legitimate the conclusions of the network.
One approach to the interpretation of these weights concerns itself first with the output weights and seeks to “partition the hidden [layer]-to-output [layer] connection weights of each hidden node into components associated with each input node”.[31] This approach takes advantage of the weight matrices representations produced by many of the neural network simulation packages available.[32] It uses the weights along the paths from the input to the output nodes to determine the relative predictive importance of the input variables. It gives the percentage of all output weights that can be attributed to any given input variable. [33]
In a very simplified version of the network with which I have been experimenting,[34] there are four input neurons (detriment, bargain, consideration, and), three output neurons (Detriment, Bargain, Consideration) and 10 hidden neurons. This network is derived from the larger experimental network in which the input and output neurons are much more in the nature of microfeatural representations. [35] The object of the experimental network, and the ostensible object of this network, is to be able to determine that a combination of facts at the input satisfies the requirements of consideration; that is, that the promisee in the transaction has suffered a detriment which has been bargained for. While this network is so grossly simplified that it cannot provide any useful information about consideration, it is small enough to permit us to see the manner in which the synaptic weights interact. When the network is fully trained, it has the weight structure given in Table I.
Each column in the first block represents the weights from each of the four input neurons (detriment= 1, bargain= 2, consideration= 3, and = 4) to each of the 10 hidden neurons. The second block contains the weights from each of the 10 hidden neurons to each of the output neurons (Detriment = row #1, Bargain = row #2, Consideration = row #3). By applying the partitioning technique to this array of weights we can gain some indication of the extent to which any of the input nodes influences the output of the network. The result of the application of the partitioning technique is a statement of the percentage of the output weights resulting from any given input.[36]. We can thus see something of the relationship between the facts presented to the network and the outcome in terms of the relationship of the weights of the synaptic connections.
It has also been suggested that some insight may be gained into the question of the meaning of the weights within the network by identifying those nodes that do have an influence on any selected output node, either by way of exciting or inhibiting the node and then removing those connections that have no effect on the output. This permits interpretation of the network in terms of arguments favourable or unfavourable to the outcome and thus translating the network result into a form of communication which can be subjected to conventional tools of legitimation.[37] For instance, in a network assigned the task of determining the existence of Consideration, we might see that those neurons relating to the existence of an exchange relationship have a significant impact on the output of the network. This observation can then be checked against our conventional rules governing Consideration to legitimate, or give us some degree of confidence in, the Network’s output.
While either of these approaches can provide us with some insight into the manner in which the neural network-based machine reaches a conclusion, it is likely that many subtleties in the reasoning process will remain unidentified and that decisions which depend upon the exercise of discretion [38] will not be readily tested for legitimacy. With a network of any size, the application of these techniques would be cumbersome at best and not provide that immediate sense of legitimacy necessary if we are to trust the network’s results.
Still another approach to evaluating the significance of the synaptic weights across the network is, perhaps, more promising so far as the legitimacy question is concerned. In this approach, as the network evaluates a problem, it is called upon to construct a ‘dependency network’. ln such a network the fact that the activation of any given output neuron Is dependent upon the status of any other neuron in the network is recorded.[39] The dependency network can then be combined with the weight matrices for the network, such as that set forth above, to permit an estimate to be made at any point in the network’s evaluation of a problem of the likelihood that any given output neuron will be activated.[40] One significant advantage to this approach to an evaluation of the significance of the synaptic weights is that it will permit the network to respond to queries about the reasons for its conclusions through the use of if-then rules. Thus with the simple network described above a request for an explanation of why the network activated the output neuron, Consideration, we could get a response to the effect that: ‘IF detriment is TRUE AND IF bargain is TRUE THEN Consideration Is TRUE’ or if the query were as to an explanation of the failure to activate Consideration, we might get ‘IF detriment is TRUE AND IF bargain is FALSE THEN Consideration is FALSE’. These rules are not stored within the system, but rather are generated by it depending upon the characteristics of the question asked.[41] The availability of such a facility would permit the legitimacy of the network’s response to be evaluated. The response can be tested to see if it ultimately “rest[s] on some foundational authorizing principle”.[42]
It would appear that using a network simulator that has the facility to report on neuron sensitivity [43] the approach to the evaluation synaptic weights suggested by Gallant could be adopted. At that point, then, the possibility of combining a neural network-based law machine, which does not rely upon rule-based or symbolic representations of the law, with a law machine built around a rule-based expert system exists.[44] At such a point we might well be able to construct a law machine which can master both the inductive and deductive aspects of legal reasoning, a topic I shall explore in a subsequent paper.
Acknowledgement This article was prepared with the help of a research stipend from Ohio North University.
Correspondence Professor David R. Warner Jr, Department of Law, Ohio Northern University, Ada, Ohio 45810, USA.
Notes
[1] Warner (1989) Toward a simple law machine, Jurimetrics Journal, 29, p. 451; Warner (1990) The role of neural networks In law machine development, Rutgers Computer and Technology Law Journal, 16, p. 129; Warner (1992) A neural network based law machine: initial steps, Rutgers Computer and Technology Law Journal, 18, p. 51.
[2] By ‘legal reasoning’,!intend, and have referred to the process by which a lawyer derives a result from a factual description of a problem, to the process by which judges decide cases.See Meldman (1977) A structural model for computer-aided legal analysis, Journal of Computers and Law, 6, pp.27, 30. It is a process which makes use of the tools of both analogy and deduction. See Steven J. Burton (1985) An Introduction to Law and Legal Reasoning. pp. 25-58. Boston: Uttle, Brown.
[3] See John B. Carroll (Ed.) (1956) Language.Thought and Reality: selected writings of Benjamin Lee Wotf. p. 252. Cambridge:MIT Press.
[4] Cf. Edward H. Levi (1949) An Introduction to Legal Reasoning, pp. 3-4. Chicago:University of Chicago Press.
[5] In such a paradigm, the computational units do not code the presence or absence of a feature … Rather, each unit represents some tine detail or microfeature. whose presence of absence en masse may correspond to a readily verbalizable idea but whose individual significance may be nigh-unintelligible. Boden (1991) Horses of a different color, in Ramsey, Stich & Rummelhart (Eds) Philosophy and Connectionist Theory, pp.3-4. Hillsdale:Erlbaum. In a similar manner, the lawyer’s unit problem solutions on an individual level may well be ‘nigh-unintelligible’.
[6] See McClelland & Rumelhart (1985) Distributed memory and the representation of general and specific Information, Journal of Experimental Psychology: general, 114, pp. 159, 165.
[7] Brief descriptions of a number of these machines within the legal domain can be found in Gruner (1986) Thinking like a lawyer: expert systems for JegaJ analysis, High Technology Law Journal, 1, pp. 259, 294ft.
[8] The architecture which has characterized the first four generations of electronic computers, including those machines with which most people are familiar, is the Von Neumann machine. See Feigenbaum & McCorduck (1983) The Fifth Generation, p. 117. Reading: Addison-Wesley. The Von Neumann machine is digital in nature and manipulates information in terms of binary values. All information must be represented in terms of only two values and is stored in a series of memory cells, which are accessed one at a time in some sequence.
[9] D. R. Warner (1992) A neural network based law machine: initial steps,Rutgers Computer and Technology Law Journal, 18, pp. 51, 53.
[10] See D. R. Warner (1990) The role of neural networks In law machine development, Rutgers Computer and Technology Law Journal, 16, p. 129.
[11] See McClelland & Rummelhart [6, pp. 161-173]. See also Boden [5, p. 4].
[12] See Dyson (1987) Neural net notes, Computer Law, 4, p. 2.
[13] See, e.g., Burton (1985) An Introduction to Law and Legal Reasoning, p. 25ff. Boston: Little, Brown; D’Amato (1984) Jurisprudence: A Descriptive and Normative Analysis of Law, p. 129. Dordrecht: Nijhoff.
[14] See Caudill (1989) Humanly inspired: computer capabilities in pattern recognition, UNIX Review, 1(5), p. 40; Gutschow (1988) Neurocomputers find the pattern; neurocomputers applied to pattern recognition, Electronic System Design, 18(10), p. 57; Cf. Garson, Interpreting Neural Network Connection Weights, AI Expert, 6(4), p. 46. In the instance of reasoning by analogy, we are concerned with the attempt on the part of the lawyer to resolve a question which has not been directly addressed by either the cases or statutes. In these instances the lawyer proceeds to search for and identify precedents which, while not Involving a problem the same as the one in question, involve a problem which Is so sufficiently similar that it can serve as a guide and perhaps forecast the resolution of the instant problem. One clear example of reasoning by analogy can be found In the well-known case of Hawkins v. McGee 84 NH 114, 146 A. 641 (1929),1n which the court confronted with the problem of determining the appropriate measure of damages for a Doctor’s breach of a contract to provide the patient with a “100 good hand” looked to the measure applied in Instance of breach of a warranty upon a contract to build a machine for a specific purpose. In a similar manner, pattern matching Involves the task of taking a pattern the identity or significance of which Is unknown and attempting to arrive at a conclusion with respect to its identity or significance through a search for a sufficiently similar pattern, the identity or significance of which Is known. D. R. Warner [9, p. 54].
[15] See Buchanan & Headrick (1970) Some speculation about artificial intelligence and legal reasoning, Stan. Law Review, 23, p. 40.
[16] See Boden [5]; Van Opdorp, Walker, Schrickx, Groendijk & van den Berg (1991) Networks at work: a connectionist approach to non-deductive legal reasoning, in Proceedings of The Third International Conference on Artificial Intelligence and Law, pp. 278, 279-280.
[17] See T.Kohonen (1988) Self..Organization and Associative Memory, 2nd edn. pp. 245-246. Berlin:Springer Verlag. Although the human brain is the analog for the neural network, our understanding of its functioning is not sufficient for us to construct a model which we can say will, in fact, function as does the human brain. At best the brain Is a metaphor for the construction of the neural network. See P. Wasserman (1989) Neural Computing: theory and practice, pp. 11-12. New York:Van Nostrand; T. Kohonen, supra, pp. 247-246.
[18] A typical neural network can be diagrammed as in Figure 1.
Figure 1. A typical neural network.
In the diagram, each neuron is represented by a circle and each synaptic connection is represented by a straight line. Each connection has a weight associated with it (most of which have been omitted from the diagram in order to avoid distracting clutter). The network Illustrated Is a feed-forward network. That is, taking the Input layer of neurons as the lowest layer, connections between layers run from the lower layers to the higher layers. There are no connections between neurons at the same level nor are there connections running from higher numbered layers to lower ones.
[19] See Wasserman [17, pp. 12 -14].
[21] The term heuristics refers to domain-Independent strategies which require domain-dependent knowledge for efficiency.An earlier definition of the term was: Heuristics (or heuristic rules) are rules of thumb that usually contribute to solutions of problems without in any way providing a guaranteed method for solution. In a chess game, for example, one heuristic for winning is to control the center of the board. There is certainly no guarantee that the player controlli’ng the center will win; yet control has contributed to winning enough games that it is a guideline for every player.£15, p. 46, n. 14]
[22] For a generalized description of some of the training algorithms available See Wasserman [17, pp. 24-25, appendix C].
[23] Training may as well be unsupervised. In such instances, the training facts are presented without any accompanying desired output and the network attempts to achieve a consistent output. With each presentation of the training facts, the weights of the connections are adjusted until the presentation of a training fact and one that Is similar to it will produce the same pattern of outputs.See Wasserman [17, pp. 23-24, 211-212].
[24] D. R. Warner (1989) [1, pp. 453-454]. As to the final point, seeR. E.Susskind (1986) Expert systems in law: a jurisprudential approach to artificial Intelligence and legal reasoning, Modem Law Review, 44, pp. 168, 175.
[25] See H. LA. Hart (1961) The Concept of Law, pp. 12lff. New York: Oxford University Press.
[26] See Burton [13, pp. 1667- 235].
[27] See van Opdorp, Walker, Schrickx, Groendjik & van den Berg [16, p. 285].
[28] See D. R. Warner (1992) [1, p. 61]; van Opdorp, Walker, Schrick, Groendijk& van den Berg [16].
[29] The number of connections to any given layer can be calculated using the following formula where Nc is the number of neurons in the layer in question, Np Is the number of neurons in the preceding layer and Cis the number of connections. C = (Nc* Np) The total number of connections in the network then is simply the sum of the connections In each layer. Warner (1992) [I, n.38J.
[32] In the course of preparing this article, Ihave experimented with BrainMaker Professional v2.0 neural network simulator produced by California Scientific Software.BrainMaker employs the back-propagation algorithm in software which can be used for the creation of multi-layered feed-forward networks.
[33] Garson {14, p. 50]. Garson describes his equation for partitioning the output layer connection weights as follows. jh [(/vj Irh lvj)q] Iph { jh[Uvj Ifh lvj)q]} For each j of nh hidden nodes, sum the product formed by multiplying the input-to-hidden connection weight of the input node I of variable V for hidden node j, times the connection weight of output node 0 for hidden node j; then divide by the sum of such quantities for all variables. (p. 50)
[34] My experimental efforts have been focussed on the construction of a machine capable of determining whether consideration is present In any given fact situation. The primary reason behind this focus Is that the doctrine Is a largely artificial doctrine, developed from the cases by common lawyers driven by the need to formulate a workable common law contract out of Inhospitable doctrine.See Jenks (1892) The Doctrine of Consideration, pp. 161ft. (Cambridge University Press). The doctrine of consideration pretends to be a positive statement of the law which can be applied In a formal manner. However, in Its operation decisions as to the presence or not of consideration demonstrate a considerable degree of indeterminacy and provide a relatively easily circumscribed arena within which the parallel nature of the lawyer’s problem-solving process can be examined. The network I have been using In this context consists of 100 Input neurons, two hidden layers of 25 neurons each and an output layer of eight neurons. The input neurons represent a range of facts which might combine to indicate the presence of consideration. The output neurons represent each of these concepts:Consideration, Detriment, Bargain, lnducement By, Inducement For, Promissory Estopplel, Prior Obligation and Negation.The training tolerance of the network is 0.050. This means that is the output produced upon the presentation of a training fact has a value of 0.05 above or below the expected output value, It will be considered correct. The network takes approximately four hours to train on an IBM PC-XT 286.
[35] See N. Sharkey (1991) Connectionist representation techniques, Artificial Intelligence Review, 5, pp. 143, 144-147; VanGelder (1991) What Is the ‘D’ in ‘PDP’? A survey of the concept of distribution, in Ramsey, Stich & Rummelhart (Eds) Philosophy and Connectionist Theory, pp. 33, 39. Hillsdale: Erlbaum.
[37] van Opdorp, Walker, Schrick, Groendijk & van den Berg,(l6, p. 285]
[38] Jon Bing says of the notion of discretion:”It may be maintained that ‘discretionary’ is a label pasted onto decisions following norms so complex that the human mind is not able to specify and follow the clearly defined network of rules and exceptions”. Bing (1980) Legal norms, discretionary rules and computer programs, In Computer Science and Law, pp. 119, 125. Cambridge: Cambridge University Press.
[39] S. Galloant (1988) Connectionist expert systems, Communications of the ACM,31(2), pp. 152, 156- 159.
[40] See Gallant {39, p. 162].
[41] See Gallant [39, p. 163]. Gallant there gives the following example of rule generation. He assumes a system with seven neurons, u1- u7, which will conclude that the output of u7 is true, that Is +1. u71s further deterr••ined to be dependent on the values of u1- u6.The values of these neurons \re ul= 1, u2 = -1, u3 = 0 (which means unknown), u4 = 0 (unknown), uS= 1 and u6= -1. The weights of the connections to u7 are wl = 1, w2 = -8, w3 = -6, w4= -1, wS = 4 and w6 = -1.Since the value of u7 is known to be true (+1), he takes that minimal subset of the network’s knowledge sufficient to support an inference that u7 Is true and uses that subset to produce the IF THEN rule. To do so he performs the calculation: (1) List all inputs that are known and contributed to the ultimate positive nature of the discriminant for u7. In his example, this Is ul, u2 and u3. u6 is eliminated because w6u6 < 0 and since u7 was concluded to be true. (2) Arrange the list by the decreasing absolute value of the weights giving u2, uS, ul. (3) Generate clauses for an If then rule from this ordered list until the equation { ui used for clause I wi I } > { 1::! ? inputs to ui I wi I } Is satisfied, producing the rule If u2 Is False and uS is True then Conclude that u7 is True.
[42] Burton [13, pp. 169 -170]. [43] Bralnmaker Professional v 2.0 has such a facility.
[44] See Gallant [39, pp. 166- 168].
This is an electronic version of an article published in Law, Computers & Artificial Intelligence, Volume 2, Number 2, 1993. Law, Computers & Artificial Intelligence is available online at: http://www.tandfonline.com/doi/pdf/10.1080/13600834.1993.9965675