| ∀ r1, r2, r0, P, H. (r1 => x0 .last × r2 * lls(r0, r1, x0 .butlast) * P)(H) → x0 = [] ∨ (lls(r0, r2, x0) * P)(H), (r1 => (a + x0) .last × r2 * lls(r0, r1, (a + x0) .butlast) * P)(H) ⊦ a + x0 = [], (lls(r0, r2, a + x0) * P)(H) |
[[CONCRETESIMPRULES : ([CSIMPNAMEDSEQ : lls-rec, , , ⊦ lls(r, r1, a ' + x) = _∃ λ r0. r => a × r0 * lls(r0, r1, x)], [CSIMPSEQ : ⊦ P0 * P1 = P1 * P0], [CSIMPSEQ : ⊦ (P0 * P1) * P2 = P0 * P1 * P2], [CSIMPSEQ : ⊦ (_∃ rP * P)(H) ↔ (∃ r. (rP(r) * P)(H))], [CSIMPSEQ : ⊦ (x + y) + z = x + y + z], [CSIMPSEQ : ⊦ a ' + x ≠ []], [CSIMPSEQ : ⊦ a + x = a ' + x])]]