home *** CD-ROM | disk | FTP | other *** search
- take rulebase
-
- define Rule_1 {
- (IF (hasFact 'engine_getting_petrol)
- (IF (hasFact 'engine_turns_over)
- (.
- (say '(Problem with spark plugs))
- (1)
- )
- (0)
- )
- (0)
- )
- }
-
- define Rule_2 {
- (IF (NOT (hasFact 'engine_turns_over))
- (IF (NOT (hasFact 'lights_come_on))
- (.
- (say '(Problem with battery))
- (1)
- )
- (0)
- )
- (0)
- )
- }
-
- define Rule_3 {
- (IF (NOT (hasFact 'engine_turns_over))
- (IF (hasFact 'lights_come_on)
- (.
- (say '(Problem with starter))
- (1)
- )
- (0)
- )
- (0)
- )
- }
-
- define rule_4 {
- (IF (hasFact 'petrol_in_fuel_tank)
- (.
- (addFact 'engine_getting_petrol)
- (1)
- )
- (0)
- )
- }
-
-
- echo
- echo >>> FIRST CASE
- echo >>> Car won't start, there is no obvious sign.
- removeAllGoal
- removeAllFact
- fireRule {rule_1 rule_2 rule_3 rule_4 rule_5}
- echo
-
- echo
- echo >>> SECOND CASE
- echo >>> Car won't start, there is petrol in fuel tank and lights come on
- removeAllGoal
- removeAllFact
- addFact petrol_in_fuel_tank lights_come_on
- fireRule {rule_1 rule_2 rule_3 rule_4 rule_5}
- echo
-
- echo
- echo >>> THIRD CASE
- echo >>> Car won't start, there is petrol in fuel tank and engine turns over.
- removeAllGoal
- removeAllFact
- addFact petrol_in_fuel_tank engine_turn_over
- fireRule {rule_1 rule_2 rule_3 rule_4 rule_5}
-
- echo
- echo >>> FOUR CASE
- echo >>> Car won't start, engine gets petrol and engine turns over.
- removeAllGoal
- removeAllFact
- addFact engine_turns_over engine_getting_petrol
- fireRule {rule_1 rule_2 rule_3 rule_4 rule_5}
-
-