Generated 2026-04-13 00:48:06 UTC | Back to ladder index | Back to docs
No run report found yet for this scenario.
| # | Expected Route | Utterance |
|---|---|---|
| 1 | assert_fact | Wes is Yan's parent. |
| 2 | assert_fact | Yan is Zed's parent. |
| 3 | assert_fact | Wes is Ava's parent too. |
| 4 | assert_rule | If X is a parent of Y then X is an ancestor of Y. |
| 5 | assert_rule | If X is an ancestor of Y and Y is an ancestor of Z then X is an ancestor of Z. |
| 6 | retract | That middle link was the wrong one, so retract parent(yan, zed). |
| 7 | assert_fact | Replace it with this path instead: Yan is Bea's parent. |
| 8 | assert_fact | And Bea is Zed's parent. |
| 9 | query | Is Wes an ancestor of Zed now? |
| ID | Query | Expect | Min Rows | Max Rows |
|---|---|---|---|---|
| old_yan_zed_removed | parent(yan, zed). | no_results | 0 | |
| wes_zed_ancestor | ancestor(wes, zed). | success | 1 | |
| wes_ava_parent_preserved | parent(wes, ava). | success | 1 |