| 1 | assert_fact | Use requester/2, approver/2, manager_of/2, delegate_of/2, conflict/2, eligible/1. |
| 2 | assert_fact | Set requester(claim_21, ava). |
| 3 | assert_fact | Set approver(claim_21, ava). |
| 4 | assert_fact | Set manager_of(milo, ava). |
| 5 | assert_fact | Set delegate_of(rosa, milo). |
| 6 | assert_fact | assert rule conflict(C, P) :- requester(C, P), approver(C, P). |
| 7 | assert_fact | assert rule conflict(C, M) :- requester(C, P), manager_of(M, P), approver(C, M). |
| 8 | assert_fact | assert rule conflict(C, D) :- requester(C, P), manager_of(M, P), delegate_of(D, M), approver(C, D). |
| 9 | assert_fact | assert rule eligible(C) :- requester(C, R), approver(C, A), R \= A. |
| 10 | retract | {'utterance': 'swap signer to the manager for a sec, nope bad, use the delegate instead', 'clarification_answers': ['Retract approver(claim_21, ava). Set approver(claim_21, milo). Retract approver(claim_21, milo). Set approver(claim_21, rosa).'], 'max_clarification_rounds': 1} |
| 11 | retract | retract fact approver(claim_21, ava). |
| 12 | assert_fact | Set approver(claim_21, milo). |
| 13 | retract | retract fact approver(claim_21, milo). |
| 14 | assert_fact | Set approver(claim_21, rosa). |
| 15 | retract | {'utterance': 'final answer: neither of them, put nora on it and keep ava requesting', 'clarification_answers': ['Retract approver(claim_21, rosa). Set approver(claim_21, nora). Set requester(claim_21, ava).'], 'max_clarification_rounds': 1} |
| 16 | retract | retract fact approver(claim_21, rosa). |
| 17 | assert_fact | Set approver(claim_21, nora). |
| 18 | assert_fact | Set requester(claim_21, ava). |
| 19 | assert_fact | query conflict(claim_21, ava). |
| 20 | assert_fact | query conflict(claim_21, milo). |
| 21 | assert_fact | query conflict(claim_21, rosa). |
| 22 | assert_fact | query eligible(claim_21). |