Link Search Menu Expand Document

Traffic Regulation Application and Comparison System (TRACS)

Legal expert systemLegislation: representation
Main research: March 2022


  1. What does it claim to do?
  2. Substantiation of claims & potential issues
  3. How might the end-user assess effectiveness?
  4. What form does it take?
  5. Is it currently in use?
  6. The creators
  7. Jurisdiction
  8. License

What does it claim to do?

TRACS (Traffic Regulation Application and Comparison System) is a prototype experimental :legal expert system for testing Dutch traffic regulations against specified fact situations. It was designed to test whether applied legislation reflected the intentions of the legislator.

Claimed essential features

  • Test and compare Dutch traffic regulations.
  • Create visualisations of traffic situations.
  • Generate assessments of whether traffic regulations are violated.

Figure 1: Copy of screen shot from TRACS (Breuker et al., 2005)

Figure 1: Copy of screen shot from TRACS (Breuker et al., 2005)

“The task of the prototype is to test specific traffic situations in terms of two paragraphs from the RVV-90 [Dutch traffics regulations].” (Den Haan, 1994)

“The prototype … was programmed to perform the elementary legal-reasoning processes involved in law application …” (Den Haan, 1994)

“The basic idea in testing a regulation is to submit (all possible) situations that may occur in some domain to a regulation applier which can draw the conclusion whether the situation contains one or more violations of norms …The next step is to assess whether these outcomes are in accordance with the goals or requirements of the legislator, for instance by comparing these with earlier or other (draft) regulations.” (Breuker at al., 2005)

“In the prototype the traffic situations will be displayed as follows. First the initial situation is shown. In this situation one or two roads are displayed, and simple drawings depicting traffic participants. Then traffic actions are shown, either verbally or in the picture. In the prototype displayed movements of vehicles are shown in three phases and are not smoothly animated.

The traffic actions lead to the final situation which is also displayed on the screen. In this first rigid version at least the traffic actions and agents are visible to the user …” (Den Haan and Breuker, 1991)

“… two versions of a law can be automatically compared. While testing a law, users may want to influence the legal-reasoning processes: one might want to check the situation from the perspective of only one of the participants, or maybe users only want to check the application of certain paragraphs or meta-rules.” (Den Haan, 1994)

Claimed rationale and benefits

  • To check if new traffic regulations are consistent and complete, and to test for errors.
  • To speed up and improve the drafting process.
  • To compare regulations in different jurisdictions, for teaching and research purposes.

“… the TRACS prototype was able to discover several errors in the current version of the traffic law.”

“When this type of system would be used in testing out newly drafted laws, hidden errors may surface. There are various types of errors and repairs. When the application grounds of a rule (its conditions) are too general, the rule will be applied too often.” (Den Haan, 1994)

“An automatizated environment in which the law can actually be tested concerning content is a strong support for law design. This environment encourages creative thinking and problem solving among law drafters. The representation of the full law text and the application of verified legal-reasoning methods ensures that testing proceeds according to the letter of the law. The important advantage is that where human experts can be blind for alternative solutions, a legal knowledge-based system will always find and consider all applicable rules. This means that in every phase of law drafting a quick and complete test can be performed.” (Den Haan, 1994)

“The use of an automated environment for testing new versions of the traffic law may have a strong impact on the length of the law drafting process.” (Den Haan, 1994)

” … based on our findings, we believe that the strongest impact of legal knowledge-based systems may be supporting the law drafting process. However, we would like to remark that TRACS also can be used as a simple planning system. To ascertain the validity of a future situation the system can look for supportive articles and thus deduce which additonal [sic] actions have to be performed.” (Den Haan, 1994)

The system is in principle extendable. The knowledge bases might be extended to other rules: “another pragmatic benefit is that several LEGAL SOURCEs [sic] can be applied, e.g. to compare the effects of a new regulation with its predecessor, or of a regulation in one country with the one in another …” (Breuker, 1993)

“In our search for a tractable proof procedure we decided to use a formalism based on first order predicate logic to represent legislation without making use of deontic operators. The proof procedure we have developed also resolves the negation problem that emerges in AI and Law research. It appears that in this way legal reasoning can be reduced to simple matching and conflict resolution at the meta-level without the usual problems of modal operators and non-monotonicity.” (Den Haan and Breuker, 1991)

Claimed design choices

  • Build using Prolog, a :logic programming language.
  • Factual knowledge is represented separately from the rules, in two different knowledge bases.
  • Rules are represented in first-order predicate logic.
  • Avoids use of deontic operators, making reasoning simpler.

“The World KB contains a (terminological) description of a legal world, i.e. some social subsystem, like traffic or social security. The regulations that refer to this legal world are represented (isomorphically) in the Regulation KB. This separation of reasoning and knowledge bases makes artificial legal reasoning tractable, and in particular the way regulations are applied is very efficient, and is equivalent to the use of deontic logic …” (Breuker, 1993)

“The solution of the tractability problem is twofold: we make a separation of the regulation knowledge (rules) and the world knowledge, and we use normal FOPL-based proof procedures with many sorted unification. We used the notion that regulations give a description of a juridically ideal world: we are able to use true false validations on world knowledge as a sufficient basis for the proof procedure. The deontic operators are kept out of the representation of the articles.” (Den Haan and Breuker, 1991)

“Current research in deontic logics does not provide a tractable proof procedure for deontic theories … However, AI-research has yielded proof procedures for FOPL [first-order predicate logic]. In order to establish a basis for our inference engine the deontic operators are moved out of the representation language and so the language in which the regulation knowledge will be represented is FOPL.” (Den Haan and Breuker, 1991)

“Removing the modal operators requires that only one modality is used. Since law is seen as a juridically ideal world, and it is obliged to obey the law, the law text had to be O-based, i.e. only contain obligations.” (Den Haan, 1994)

“The modal operators have been eliminated, which would normally lead to huge problems, because the ‘prescriptions’ have become descriptions, which can be defeated by a situation: whenever a regulation is violated. However, belief revision is never required, because we have separated the world of traffic and the world of its regulations, and the latter have no influence on the former.” (Breuker and Den Haan, 1991A)

“An interesting “side-effect” [of the separation of world knowledge and knowledge about regulations] is that deontic operators such as permission and obligation can be treated in a completely different and more tractable way than is suggested by standard deontic logic (SDL).” (Breuker, 1993)

“TRACS is based upon the FOLaw ontology in which ‘world’ and ‘normative’ knowledge are distinguished.” (Breuker et al., 2000)

“The requirements for the knowledge-representation formalism were that the representation of the traffic law should be isomorphic with the text of the traffic law. This has numerous advantages, e.g., it is easy to correlate test results to the articles or changes in the articles.” (Den Haan, 1994)

“An other [sic] important issue is the analysis of facts and the interpretation of vague terms. Not being the goal of our research, they have not been embedded in the system.” (Den Haan, 1994)


Substantiation of claims & potential issues

  • The system does not take account of the open texture of legal language, the effect of related legal norms and principles, or that the meaning of legal language often differs from that of ordinary language. The system might therefore identify draft legislation as problematic when in fact it is not.


  • TRACS is designed to specifically deal with Dutch traffic regulations for coherence and correctness.

System Architecture

  • It appears to be built on a Loom knowledge representation system. The regulations are represented in the Prolog programming language.

In (Den Haan, 1994), Den Haan provides an infographic (Figure 2 below) of the architecture of the TRACS prototype. The prototype is seen to consist of knowledge bases, reasoning modules and sources of data. There are two knowledge bases, one representing that ‘slice’ of the world that is relevant to the scope of the regulations (the ‘world’ of traffic in relation to traffic regulations) and the other representing the regulations. This separation of world knowledge and knowledge of the content of the rules is a key feature of the system.

Figure 2: TRACS architecture (Den Haan, 1994)

Figure 2: TRACS architecture (Den Haan, 1994)

  • There are three reasoning modules.

    • The first (and topmost) of these reasoning modules assesses the applicability of the rules. It does this by matching an input – a situation description – against the representation of the rules in the regulation knowledge base.

    • The second, the priority reasoning module, aims to address situations where more than one rule is applicable and the rules produce conflicting consequences (e.g. violation and non-violation of the rules). In such a case the module will select the rule with highest priority according to defined meta-rules. Only one meta-rule is used in the prototype; this meta-rule is related to idea embedded in the maxim ‘lex specialis legi generali derogat’ (special provisions prevail over more general provisions). The validation module provides what the authors call a ‘juridical validation’. In effect it provides an assessment of the legality of the situation (violation/non-violation) described in the input situation description.

The situation descriptions (in the prototype, descriptions of traffic situations) are supplied by experts and created manually. The situation descriptions are input into the system and used to test whether the regulations produce expected or unexpected results.


The system employs a representation schema which supposes that rules describe situations that are allowed. Rules are represented in first order predicate logic. The representation of the rules makes no use of deontic operators. This representation scheme, the authors suggest, is made possible by the use of two separate knowledge bases, one for world knowledge and the other for representation of the rules.

  • “There are two knowledge bases, corresponding to the distinction between normative and world knowledge. The WORLD MODEL represents the domain of law, i.c. [sic] the traffic world, while the LEGAL SOURCE contains the normative statements. These normative statements are represented using terms from the WORLD MODEL, i.e. one may say that both knowledge bases share the same ontology.” (Breuker at al., 2005)
  • “The ontology consists of types of “traffic participants” (agents/vehicles), roads and parts of roads, and actions, which are represented naturally by a terminological classifier (LOOM).” (Breuker et al., 2000)
  • “The knowledge about the domain itself we call world knowledge. This knowledge contains only definitions of agents and actions from the domain itself and no normative notions.” (Den Haan and Breuker, 1991)
  • “In TRACS this definitional knowledge (ontology) [that is, knowledge about definitions contained in regulations] is implemented in TRACS as part of the T-Box of the LOOM knowledge representation system …” (Breuker at al., 2005)
  • “The legal reasoning of TRACS involves the search for applicable rules and the selection of rules with the highest priority. [There are] … three layers of legal reasoning (application, selection and validation) … In short, rules are found applicable if facts in the situation description can be matched to the grounds for rule application, as stated in the condition parts of rules. Priority rules are used to determine an order in the set of applicable rules. For each law text, specific priority rules can be found, sometimes stated in the text itself. Additional general priority rules are defined for the entire law domain. The validation process is quite similar to the application process, but matches the conclusions of rules to the situation description.” (Den Haan, 1994)
  • “Rules (either prohibitive or obligatory) of which the condition set fully matches the situation are used to give a juridical validation. The regulation itself is not validated, but the definitions of the rules are used (cf. forward chaining) to determine the legality of the situation.” (Den Haan and Breuker, 1991)
  • “Because more than one rule can be applicable, there can be more than one conclusion left … conflicting conclusions should be resolved. A conflict consists of matching and violation conclusions to the same element. These conflicts are resolved by using meta-rules to arrive at a legally consistent consequences. These meta rules can be general, or domain dependent. An example of the former is Iex specialis legi generali derogat, i.e. situation–specific rules prevail over more general rules …” (Breuker and Den Haan, 1991A)
  • “In the prototype, the priority tool of the Evaluator consists of just one rule that allows one to compute the semantic distances of rules to situations. This priority rule is based on the lex specialis legi generali derogat paradigm, i.e. specific articles overrule more general articles …” N. den Haan and J. Breuker, ‘A tractable juridical KBS for applying and teaching traffic regulation’
  • “Initially, we started with the ordering of the articles as the meta-rule that establishes priority between applicable articles. The designers of the traffic law claimed that the new traffic law is ordered on specificity, and proposed the use of this meta-rule [Den Haan, 1991].” (Den Haan, 1994)
  • “When traffic law experts are testing the RVV-90, they construct traffic situations that according to their experience will be problematic. In the prototype, the traffic situations have to be encoded by hand.” (Den Haan, 1994)
  • “This architecture and representation looks relatively simple, but deviates from the current trend in the “AI & Law” community to base legal inferencing on a (standard) deontic logic view, which leads to complex and not tractable automated reasoning …” (Breuker, 1993)
  • “… in TRACS the regulations are represented as Prolog clauses, but not used as such.” (Breuker and Den Haan, 1991A)
  • “We expected that we needed at least Prolog’s Horn clause logic as for handling simple logical deduction, and negation. Each situation could then be viewed as a Prolog query. However, to be able to do this we had to import all kinds of structures that were world knowledge, i.e. we were reinventing an LLD [language for legal discourse]. By stripping the clauses to what was stated in the regulations, their status is now rather a data structure format than theorems. Moreover, we did not need the ‘negation–by–failure’ mechanism of Prolog, because it is easy to handle negation in a highly typed and structured world.” (Breuker and Den Haan, 1991A)
  • “In our search for a tractable proof procedure we decided to use a formalism based on first order predicate logic to represent legislation without making use of deontic operators.” (Den Haan and Breuker, 1991)
  • “An interesting “side-effect” [of the separation of world knowledge and knowledge about regulations] is that deontic operators such as permission and obligation can be treated in a completely different and more tractable way than is suggested by standard deontic logic (SDL).” (Breuker, 1993)
  • “Worlds in which no laws are breached are juridically ideal worlds … In law texts seen as a juridically ideal world all rules must describe situations that are allowed. This implies that articles that forbid certain situations must be rewritten to rules that allow the opposite.” (Den Haan and Breuker, 1991)


  • Breuker, Joost, and Nienke Den Haan. “Separating world and regulation knowledge: where is the logic.” Proceedings of the 3rd international conference on Artificial intelligence and law. 1991. (Breuker and Den Haan, 1991A)
  • Nienke den Haan and Joost Breuker, ‘A tractable juridical KBS for applying and teaching traffic regulations’: J.A.P.J. Breuker, R.V. De Mulder, J.C. Hage (eds.), Legal knowledge based systems JURIX 91: Model-based legal reasoning, The Foundation for Legal Knowledge Systems, Lelystad: Koninklijke Vermande, pp. 5-16, 1991(Den Haan and Breuker, 1991)
  • Den Haan, N. “Towards support tools for drafting legislation.” Legal Knowledge Based Systems: Jurix 93 (1993) (Den Haan, 1993A)
  • Haan, Nienke den. “Investigations into the application of deontic logic.” International Joint Conference on Artificial Intelligence. Springer, Berlin, Heidelberg, 1993 (Den Haan, 1993B)
  • Breuker J. (1993) Modelling artificial legal reasoning. In: Aussenac N., Boy G., Gaines B., Linster M., Ganascia J.G., Kodratoff Y. (eds) Knowledge Acquisition for Knowledge-Based Systems. EKAW 1993. Lecture Notes in Computer Science (Lecture Notes in Artificial Intelligence), vol 723. Springer, Berlin, Heidelberg. (Breuker, 1993)
  • N. den Haan, “TRACS: a Support Tool for Drafting and Testing Law”, in: C.A.F.M. Grütters, J.A.P.J. Breuker, H.J. Van den Herik, A.H.J. Schmidt, C.N.J. De Vey Mestdagh (eds.), Legal knowledge based systems JURIX 92: Information Technology and Law, The Foundation for Legal Knowledge Systems, Lelystad: Koninklijke Vermande, pp. 63-70, 1994 (Den Haan, 1994)
  • Breuker, Joost, Emil Petkov, and Radboud Winkels. “Drafting and validating regulations: The inevitable use of intelligent tools.” International Conference on Artificial Intelligence: Methodology, Systems, and Applications. Springer, Berlin, Heidelberg, 2000 (Breuker et al., 2000)
  • Breuker, Joost, André Valente, and Radboud Winkels. “Use and reuse of legal ontologies in knowledge engineering and information management.” Law and the Semantic Web. Springer, Berlin, Heidelberg, 2005. 36-64 (Breuker at al., 2005)

How might the end-user assess effectiveness?

Since the system is no longer in use there is no means for the intended users to easily assess whether the system does what is claimed.


What form does it take?




Although the system was implemented only as a prototype it was capable of functioning as a standalone system. It was tailored to the requirements of the Dutch Association for Scientific Research into Traffic Safety (SWOV) and demo’d to them.


Is it in current use?

“Although the prototype demonstration of TRACS was convincing to the ministry, due to changes in policy no operational system was built.” (Breuker at al., 2005)


The creators

Created by



The TRACS prototype was designed by Nienke den Haan and Joost Breuker. The research was carried out at the Department of Computer Science and Law at the Law Faculty of the University of Amsterdam and supported by funding from a government agency, the Dutch Association for Scientific Research into Traffic Safety (SWOV).

Den Haan completed her PhD thesis on “Automated Legal Reasoning” at the University of Amsterdam. Breuker, now Emeritus Professor of Law at the University of Amsterdam studied cognitive psychology and Artificial Intelligence. His areas of research included intelligent teaching systems, knowledge acquisition & engineering, and artificial legal reasoning.

The TRACS project started in 1991. Research relating to the TRACS system was carried out for more than a decade. No operational system was built.



Background of developers


Target jurisdiction

The prototype was designed for use in the Netherlands. However, the authors and developers of TRACS hoped that the system might allow comparison of statutory provisions adopted by other countries.

Target legal domains

Traffic law



N/A – the system is no longer in use and was only ever available as a prototype.


Updated Top