Rule-Based Expert Systems[Shortliffe, E. Computer-based medical consultations: MYCIN. New York: Elsevier, 1976.]
MYCIN diagnoses infectious blood diseases using a backward-chained (exhaustive) control strategy.
The algorithm, ignoring certainty factors, is basically backchaining:
Given:
For each g ∈ Goal-list do 
If prove(g, DB, Rules) then Print (``Diagnosis:'', g)
Function prove (goal, DB, Rules) 
If goal ∈ DB then return True 
    elseif ∃ r ∈  Rules such that rRHS contains goal 
       then return provelist(LHS, DB, Rules)[provelist
 calls prove with each condition of LHS] 
    else Ask user about goal and return answer