Generated 2026-04-13 00:48:05 UTC | Back to ladder index | Back to docs
Status: passed
Validation: 6/6 passed
Parser failures: 0 | Apply failures: 0
Artifacts: raw run json | rendered run transcript
| # | Expected Route | Utterance |
|---|---|---|
| 1 | assert_fact | Ari is Bo's parent. |
| 2 | assert_fact | Cy has Bo as a parent. |
| 3 | assert_fact | Di is parented by Cy. |
| 4 | assert_fact | Eli has Di as a parent. |
| 5 | assert_fact | Fay is Eli's parent. |
| 6 | assert_fact | Gus has Fay as a parent. |
| 7 | assert_rule | If X is a parent of Y then X is an ancestor of Y. |
| 8 | assert_rule | If X is an ancestor of Y and Y is an ancestor of Z then X is an ancestor of Z. |
| 9 | retract | I might have phrased one relation backwards; retract this if it exists: parent(cy, bo). |
| 10 | retract | And retract this too if it exists: parent(di, cy). |
| 11 | query | Is Ari an ancestor of Eli? |
| 12 | query | Is Fay an ancestor of Gus? |
| ID | Query | Expect | Min Rows | Max Rows |
|---|---|---|---|---|
| bo_cy_parent | parent(bo, cy). | success | 1 | |
| cy_di_parent | parent(cy, di). | success | 1 | |
| cy_bo_absent | parent(cy, bo). | no_results | 0 | |
| di_cy_absent | parent(di, cy). | no_results | 0 | |
| ari_eli_ancestor | ancestor(ari, eli). | success | 1 | |
| fay_gus_ancestor | ancestor(fay, gus). | success | 1 |