| 1 + # x1 = 3 + n0, reachable-1(H, r0, r4), reachable-1(H, r4, r5), reachable-n(H, n0, r5, x1.last), path(r0 ' + x1, H), r ≠ null ∧ r0 ≠ null ∧ r ∈ H ∧ r0 ∈ H ∧ H[r].nxt = r0, reachable-1(H, r0, r2), reachable-1(H, r2, r3), reachable-n(H, n0, r3, x1.last) ⊦ x1 = [], r ∈ H ∧ r ≠ null ∧ H[r].nxt = r0 ∧ 2 + # x1 = 4 + n0 |
Used simplifier rules: reachable-1-def: ⊦ reachable-1(H, r, r0) ↔ r ≠ null ∧ r0 ≠ null ∧ r ∈ H ∧ r0 ∈ H ∧ H[r].nxt = r0;%c: ⊦ m + n = n + m; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%add-num-01: n < n0 ⊦ m + (* n) = m0 + (* n0) ↔ m = m0 + (n0 - n); from specification nat