First of all we explain the conditions of the rules. In order to give an understandable explanation to the way conditions of rules are written, we do not consider conditions containing paths. The conditions of a rule can be written in affirmative form (condition) or in negative form ( no(condition)).
The elemental conditions can be:
R001 If true then conclude ciprofloxacine is definite
R002 If pregnant then conclude vancomicine is possible
where pregnant is a boolean concept.
A numeric expression is composed by numbers, numeric facts and arithmetic operations (+,-,*,:) shown in Table 1 with the meaning expressed in the first column. The evaluation of an expression of this type returns a number over which we can predicate with the predicates shown in Table 2, where the meaning is expressed in the first column.
The valid predicates are < (less), > (greater), <= (less or equal), >= (greater or equal), = (equal), and /= (different). We decided to overload these predicates to reduce the number of total predefined predicates of the language. An example of use of these numerical predicates is:
R003 If temperature > 39 then conclude fever is definite
We can build set expressions in a similar way as numerical expressions taking into account that the operations ``+'' and ``*'' are interpreted as the fuzzy set union and the fuzzy set intersection respectively. ``-'' and ``:'' are not applicable over set facts (see the second column of Table 1).
The valid fuzzy predicates are < (subset), > (superset), <= (subset or equal), >= (superset or equal), = (equal), /= (different) and int (intersection degree). The binary predicates apply over the evaluations of two expressions of the same type. The evaluation of these predicates is, as before, an interval of truth-values. We give the sense of the predicates for fuzzy sets in the second column of Table 2. To get the mathematical details of the predicates refer to [21]. For instance, considering the following rule,
R004 If treatment int (etambutol,ganciclovir) then conclude ...
the operation int (fuzzy intersection degree) is applied between two fuzzy sets, the first one corresponding to the value of the fact treatment (that is, a membership value for each element of ( etambutol, aciclovir, ganciclovir)), and the second one a fuzzy set with the elements etambutol and ganciclovir with value true and the others (in this case only aciclovir) with value false.
R004 If fever is high then conclude ...
Given a numerical value s for the variable fever, the predicate fever is high returns the value of .
It is also possible to define more complex linguistic predicates of the form ``linguistic_variable is ( value_1 or value_2 or ...)". For instance:
R004 If fever is (medium or high) then conclude ...
Now, given a value s, the predicate fever is (medium or high) returns the value of: