Generated 2026-04-13 00:48:05 UTC | Back to ladder index | Back to docs
No run report found yet for this scenario.
| # | Expected Route | Utterance |
|---|---|---|
| 1 | assert_fact | Kara is the parent of Lior. |
| 2 | assert_fact | Lior is the parent of Mona. |
| 3 | assert_fact | Kara is the parent of Nia too. |
| 4 | assert_fact | Mona is the parent of Oren. |
| 5 | assert_rule | If X is a parent of Y then X is an ancestor of Y. |
| 6 | assert_rule | If X is an ancestor of Y and Y is an ancestor of Z then X is an ancestor of Z. |
| 7 | retract | That one branch needs a retarget, so retract parent(lior, mona). |
| 8 | assert_fact | Use this branch instead: Lior is the parent of Pax. |
| 9 | assert_fact | Pax is the parent of Mona. |
| 10 | query | Is Kara still an ancestor of Oren after that change? |
| ID | Query | Expect | Min Rows | Max Rows |
|---|---|---|---|---|
| old_lior_mona_removed | parent(lior, mona). | no_results | 0 | |
| kara_nia_preserved | parent(kara, nia). | success | 1 | |
| kara_oren_ancestor | ancestor(kara, oren). | success | 1 |