| H[r2] = a × r, ((lls(r0, r1, x0) * r1 => a0 × r2 * lls(r2, null, x1) * P))(H) ⊦ r1 = null, r2 = null, x0 + a0 ' + x1 = (x0 + a0) + a ' + x1.tail ∧ ((lls(r0, r2, x0 + a0) * r2 => a × r * lls(r, null, x1.tail) * P))(H) |
H[r2] = a × r, ((lls(r0, r1, x0) * r1 => a0 × r2 * lls(r2, null, x1) * P))(H) ⊦ r1 = null, r2 = null, x1 = a ' + x1.tail ∧ ((lls(r0, r2, x0 + a0 ') * r2 => a × r * lls(r, null, x1.tail) * P))(H)
Used simplifier rules: ⊦ a ' + x = a ' + y ↔ x = y; (s)% ⊦ x + y = x + z ↔ y = z; (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ x + a = x + a '; (s)