In rule based systems, deduction is mainly based on the modus ponens: . Modus ponens is only applicable when every
condition of the premise of the rule to be fired is satisfied, otherwise
nothing can be inferred. * Milord II* uses partial evaluation to extract
the maximum information even from incomplete knowledge about the
truth-value of the premises of a rule.

We base the partial evaluation of rules on the well known logical
equivalence which leads to the following boolean specialisation
inference rule: . The
rule is called the *specialisation* of the rule with respect to the fact *A*.

It is easy to see that we can specialise rules deleting the known facts
from the premise. Unknown facts remain as part of the premise of the
rules. For instance, suppose that we have the following rule: . Imagine that we only know *A* and *C* are true.
Then the specialised rule is: .

Using modus ponens inference rule, the answer to the goal *D* would have
been *unknown* because we do not know if the fact *B* is true or
false. If we give the above rule as an answer, then its interpretation is
the following: The truth-value of *D* depends on the truth-value of *B*,
if *B* is *unknown* so will *D* be (open world assumption).

This boolean case may be considered of little interest, but we can extend
this specialisation concept to the more interesting uncertainty calculus.
Let's introduce the definition of what we call Specialisation Inference
Rule (SIR). Given a fact *A* with certainty value , and a rule
with certainty value , then

where is the new truth value of the specialised rule. Conjunction is the connective declared in the local logics of a module as seen in Section 4.

Now consider the following example of rule: `If a and b then conclude
d is likely`. Imagine we know that `b` has the value `may_be`.
The resultant specialised rule will be: `If a then conclude d is
may_be` after applying the table for *conjunction* of
Section 4. Notice that the truth-value of the rule has
changed because of the uncertain value of the fact `b`. This is
important when the KB contains a set of rules also deducing `d`. The
specialised rule will change its place in the priority order affecting the
search strategy presented above.

The specialisation of the whole deductive knowledge of a module consists on the exhaustive specialisation of its rules. Rules whose conditions contain facts with known values are replaced by their specialisations, in particular, rules that only have one known condition will be eliminated and their conclusions added as a known fact in the module. This new fact will be used again to specialise the knowledge base. The process will finish when the deductive knowledge has obtained an answer for the query or there are no more possibilities for deducing the fact by means of rules.

Thu Oct 23 15:34:13 MET DST 1997