| x = a + x0, rs1 ∩ rs0 = ∅, R[rs0, cf, af], ls(r, x)(mk(rs1, cf)), ∀ r. r ∈ rs1 → af(r) = o ⊦ r = null, r ∈ rs1, r ∈ rs0 |
rs1 ∩ rs0 = ∅, ((r => a × r0 * ls(r0, x0)))(mk(rs1, cf)), R[rs0, cf, af], ∀ r. r ∈ rs1 → af(r) = o ⊦ r = null, r ∈ rs0, r ∈ rs1
Used simplifier rules: ls-rec: ⊦ ls(r, a ' + x) = _∃(λ r0. r => a × r0 * ls(r0, x));% ⊦ (_∃ rP)(H) ↔ (∃ r. rP(r)(H)); (s)%a: ⊦ (x + y) + z = x + y + z; from specification list% ⊦ a + x = a ' + x; (s)