home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / ckscripts / autorepair < prev    next >
Text File  |  2020-01-01  |  2KB  |  86 lines

  1. take rulebase
  2.  
  3. define Rule_1 {
  4.     (IF (hasFact 'engine_getting_petrol)
  5.         (IF (hasFact 'engine_turns_over)
  6.             (.
  7.                 (say '(Problem with spark plugs))
  8.                 (1)
  9.             )
  10.             (0)
  11.         )
  12.         (0)
  13.     )
  14. }
  15.  
  16. define Rule_2 {
  17.     (IF (NOT (hasFact 'engine_turns_over))
  18.         (IF (NOT (hasFact 'lights_come_on))
  19.             (.
  20.                 (say '(Problem with battery))
  21.                 (1)
  22.             )
  23.             (0)
  24.         )
  25.         (0)
  26.     )
  27. }
  28.  
  29. define Rule_3 {
  30.     (IF (NOT (hasFact 'engine_turns_over))
  31.         (IF (hasFact 'lights_come_on)
  32.             (.
  33.                 (say '(Problem with starter))
  34.                 (1)
  35.             )
  36.             (0)
  37.         )
  38.         (0)
  39.     )
  40. }
  41.  
  42. define rule_4 {
  43.     (IF (hasFact 'petrol_in_fuel_tank)
  44.         (.
  45.             (addFact 'engine_getting_petrol)
  46.             (1)
  47.         )
  48.         (0)
  49.     )
  50. }
  51.  
  52.  
  53. echo
  54. echo >>> FIRST CASE
  55. echo >>> Car won't start, there is no obvious sign.
  56. removeAllGoal
  57. removeAllFact
  58. fireRule {rule_1 rule_2 rule_3 rule_4 rule_5}
  59. echo
  60.  
  61. echo
  62. echo >>> SECOND CASE
  63. echo >>> Car won't start, there is petrol in fuel tank and lights come on
  64. removeAllGoal
  65. removeAllFact
  66. addFact petrol_in_fuel_tank lights_come_on
  67. fireRule {rule_1 rule_2 rule_3 rule_4 rule_5}
  68. echo
  69.  
  70. echo
  71. echo >>> THIRD CASE
  72. echo >>> Car won't start, there is petrol in fuel tank and engine turns over.
  73. removeAllGoal
  74. removeAllFact
  75. addFact petrol_in_fuel_tank engine_turn_over
  76. fireRule {rule_1 rule_2 rule_3 rule_4 rule_5}
  77.  
  78. echo
  79. echo >>> FOUR CASE
  80. echo >>> Car won't start, engine gets petrol and engine turns over.
  81. removeAllGoal
  82. removeAllFact
  83. addFact engine_turns_over engine_getting_petrol
  84. fireRule {rule_1 rule_2 rule_3 rule_4 rule_5}
  85.  
  86.