Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rem = fact
- This
- self.facts.remove(fact)
- Left
- for f in self.facts: # for each fact
- if fact in f.supports_facts: # if this fact supports retracted fact
- f.supports_facts.remove(fact) # remove retracted from supported list for that fact
- for r in self.rules:
- if fact in r.supports_facts:
- r.supports_facts.remove(fact)
- Right
- for f in self.facts:
- print(len(f.supported_by))
- for fr in f.supported_by: # for fr pair
- if fact in fr: # if that fr pair contains this fact
- f.remove(fr) # rm that pair
- if f.supported_by == []: # if afterwards there is no more support
- self.kb_retract(f) # retract that fact
- for r in self.rules:
- if r.asserted: continue
- for fr in r.supported_by:
- if fact in fr:
- r.remove(fr)
- if r.supported_by == []:
- self.rules.remove(r)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement