| (((r0 => a × r * lls(r, r1, x0.butlast)) * r1 => x0.last × r2 * P))(H), ∀ r3, r4, r5, P0, H0. ((r3 => x0.last × r4 * lls(r5, r3, x0.butlast) * P0))(H0) → ((lls(r5, r4, x0) * P0))(H0) ⊦ x0 = [], ∃ r. (((r0 => a × r * lls(r, r2, x0)) * P))(H) |
(((r0 => a × r * lls(r, r1, x0.butlast)) * r1 => x0.last × r2 * P))(H), ((r1 => x0.last × r2 * lls(r, r1, x0.butlast) * P * r0 => a × r))(H) → ((lls(r, r2, x0) * P * r0 => a × r))(H), ∀ r3, r4, r5, P0, H0. ((r3 => x0.last × r4 * lls(r5, r3, x0.butlast) * P0))(H0) → ((lls(r5, r4, x0) * P0))(H0) ⊦ x0 = [], ∃ r. (((r0 => a × r * lls(r, r2, x0)) * P))(H)
Used terms: r1, r2, r, P * r0 => a × r, H