f | 1 | [Path 1]: | f | 1 | [Path 1]:
| 2 | 0: Start of execution: Beginning Search |  | 2 | 0: Start of execution: Beginning Search
| 3 | 1: Searching: query |  | 3 | 1: Searching: query
| 4 | 2: Searching: cousin(fay, joseph) |  | 4 | 2: Searching: cousin(fay, joseph)
| 5 | 3: Searching: sibling(Candidate Variable_0, Candidate Variable_1) |  | 5 | 3: Searching: sibling(Candidate Variable_0, Candidate Variable_1)
n | 6 | 4: Found: sibling(janice, fay) | n | 6 | 4: Found: sibling(william, michele)
| 7 | 5: Searching: parent(janice, Grandparent) |  | 7 | 5: Searching: parent(william, Candidate Variable_2)
| 8 | 6: Found: parent(janice, alan) |  | 8 | 6: Found: parent(william, jennifer)
| 9 | 7: Searching: parent(alan, fay) |  | 9 | 7: Searching: parent(jennifer, fay)
| 10 | 8: Fail: parent(alan, fay) |  |  |
| 11 | 9: Searching: parent(alan, joseph) |  |  |
| 12 | 10: Found: parent(alan, william) |  |  |
| 13 | 11: Fail: parent(alan, joseph) |  |  |
| 14 | 12: Fail: cousin(fay, joseph) |  |  |
| 15 | 13: Fail: query | {'Result': 'Search Failed'} |  | 10 | 8: Fail: parent(jennifer, fay) | {'Result': 'Search Failed'}
|  |  |  | 11 |
|  |  |  | 12 | Looking for other paths: Redo: sibling(Candidate Variable_0, Candidate Variable_3)
| 16 |  |  | 13 |
| 17 |  |  | 14 |
| 18 | [Path 2]: |  | 15 | [Path 2]:
n | 19 | 14: Found: sibling(william, michele) | n | 16 | 9: Found: sibling(janice, fay)
| 20 | 15: Searching: parent(william, Grandparent) |  | 17 | 10: Searching: parent(janice, Candidate Variable_4)
| 21 | 16: Found: parent(william, alan) |  | 18 | 11: Fail: parent(janice, Candidate Variable_4) | {'Result': 'Search Failed'}
| 22 | 17: Searching: parent(alan, fay) |  | 19 |
| 23 | 18: Fail: parent(alan, fay) |  | 20 | Looking for other paths: Redo: sibling(Candidate Variable_0, Candidate Variable_5)
| 24 | 19: Searching: parent(alan, joseph) |  |  |
| 25 | 20: Found: parent(alan, Candidate Variable_2) % Assumed atom/predicate |  |  |
| 26 | 21: Found: cousin(fay, joseph) |  |  |
| 27 | 22: Found: query | {'Result': 'truth = True'} |  |  |
| 28 |  |  | 21 |
| 29 |  |  | 22 |
| 30 | [Path 3]: |  | 23 | [Path 3]:
n | 31 | 23: Searching: parent(Candidate Variable_3, Candidate Variable_4) | n | 24 | 12: Found: sibling(janice, dannielle)
| 32 | 24: Fail: parent(Dana, Candidate Variable_4) | Not a valid assumption |  | 25 | 13: Searching: parent(janice, Candidate Variable_6)
|  |  |  | 26 | 14: Fail: parent(janice, Candidate Variable_6) | {'Result': 'Search Failed'}
|  |  |  | 27 |
|  |  |  | 28 | Looking for other paths: Redo: sibling(Candidate Variable_0, Candidate Variable_7)
| 33 |  |  | 29 |
| 34 |  |  | 30 |
| 35 | [Path 4]: |  | 31 | [Path 4]:
t | 36 | 25: Found: sibling(janice, dannielle) | t | 32 | 15: Found: sibling(janice, beverly)
| 37 | 26: Searching: parent(janice, Grandparent) |  | 33 | 16: Searching: parent(janice, Candidate Variable_8)
| 38 | 27: Found: parent(janice, alan) |  | 34 | 17: Fail: parent(janice, Candidate Variable_8) | {'Result': 'Search Failed'}
| 39 | 28: Searching: parent(alan, fay) |  | 35 | 18: Fail: cousin(fay, joseph) | {'Result': 'Search Failed'}
| 40 | 29: Fail: parent(alan, fay) |  | 36 | 19: Fail: query | {'Result': 'Search Failed'}
| 41 | 30: Searching: parent(alan, joseph) |  | 37 |
| 42 | 31: Found: parent(alan, Candidate Variable_5) % Assumed atom/predicate |  |  |
| 43 | 32: Found: cousin(fay, joseph) |  |  |
| 44 | 33: Found: query | {'Result': 'truth = True'} |  |  |

Legends
Colors
Added
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op