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.