(deftemplate symptom
(slot name))
(deftemplate diagnosis
(slot result))
(deffacts patient-data
(symptom (name swollen-parotid-glands))
(symptom (name fever))
(symptom (name headache-face-swelling))
)
(defrule mumps
(symptom (name swollen-parotid-glands))
(symptom (name fever))
(symptom (name headache-face-swelling))
=>
(assert (diagnosis (result MUMPS)))
)
(defrule possible-mumps
(symptom (name swollen-parotid-glands))
(symptom (name fever))
(not (symptom (name headache-face-swelling)))
=>
(assert (diagnosis (result POSSIBLE_MUMPS)))
)
(defrule normal-state
(not (symptom (name swollen-parotid-glands)))
=>
(assert (diagnosis (result NORMAL_STATE)))
)
(defrule print-diagnosis
?d <- (diagnosis (result ?r))
=>
(printout t "DIAGNOSIS: " ?r crlf)
)
(reset)
(run)
(exit)
KGRlZnRlbXBsYXRlIHN5bXB0b20KICAgKHNsb3QgbmFtZSkpCgooZGVmdGVtcGxhdGUgZGlhZ25vc2lzCiAgIChzbG90IHJlc3VsdCkpCgooZGVmZmFjdHMgcGF0aWVudC1kYXRhCiAgIChzeW1wdG9tIChuYW1lIHN3b2xsZW4tcGFyb3RpZC1nbGFuZHMpKQogICAoc3ltcHRvbSAobmFtZSBmZXZlcikpCiAgIChzeW1wdG9tIChuYW1lIGhlYWRhY2hlLWZhY2Utc3dlbGxpbmcpKQopCgooZGVmcnVsZSBtdW1wcwogICAoc3ltcHRvbSAobmFtZSBzd29sbGVuLXBhcm90aWQtZ2xhbmRzKSkKICAgKHN5bXB0b20gKG5hbWUgZmV2ZXIpKQogICAoc3ltcHRvbSAobmFtZSBoZWFkYWNoZS1mYWNlLXN3ZWxsaW5nKSkKICAgPT4KICAgKGFzc2VydCAoZGlhZ25vc2lzIChyZXN1bHQgTVVNUFMpKSkKKQoKKGRlZnJ1bGUgcG9zc2libGUtbXVtcHMKICAgKHN5bXB0b20gKG5hbWUgc3dvbGxlbi1wYXJvdGlkLWdsYW5kcykpCiAgIChzeW1wdG9tIChuYW1lIGZldmVyKSkKICAgKG5vdCAoc3ltcHRvbSAobmFtZSBoZWFkYWNoZS1mYWNlLXN3ZWxsaW5nKSkpCiAgID0+CiAgIChhc3NlcnQgKGRpYWdub3NpcyAocmVzdWx0IFBPU1NJQkxFX01VTVBTKSkpCikKCihkZWZydWxlIG5vcm1hbC1zdGF0ZQogICAobm90IChzeW1wdG9tIChuYW1lIHN3b2xsZW4tcGFyb3RpZC1nbGFuZHMpKSkKICAgPT4KICAgKGFzc2VydCAoZGlhZ25vc2lzIChyZXN1bHQgTk9STUFMX1NUQVRFKSkpCikKCihkZWZydWxlIHByaW50LWRpYWdub3NpcwogICA/ZCA8LSAoZGlhZ25vc2lzIChyZXN1bHQgP3IpKQogICA9PgogICAocHJpbnRvdXQgdCAiRElBR05PU0lTOiAiID9yIGNybGYpCikKCihyZXNldCkKKHJ1bikKCihleGl0KQo=