A truth maintenance system (TMS) stores justifications of inferences which result in a specific conclusion in a given Knowledge Base.
A good example looks like this (this is Not prolog):
∀ X good_student(X) ∧ M study_hard(X) → study_hard (X)
∀ Y party_person(Y) → ¬study_hard (Y)
good_student(pat)
I cannot at all figure out how to implement this at all. I don't know how to represent the modal operator M (is consistent with) specifically. Obviously, I can create the predicates good_student/1, study_hard/1, and party_person/1. The linking of study_hard/1 to good_student and ¬study_hard is also where I'm lost.
This leads to my question: does anyone know how to implement anything like this in prolog?
Thanks in advance.