| r0 ∈ H1, H[r0] = mknode(r2, a2, r4), H[r] = mknode(r0, a0, r1), H1 = H[r, mknode(r4, a0, r1)], (r0 => mknode(null, a, r6) * tr(r1, t1) * tr(r6, t2) * r => mknode(r4, a0, r1) * P)(H1), r ∈ H, ¬ (tr(r, branch(t2, a0, t1)) * P * true)(H1) ∨ a2 ≠ a ⊦ H[r0] .right = H1[r0] .right ∧ H[r0] .val = H1[r0] .val, r0 = null |
r0 ∈ H[r, mknode(r4, a0, r1)], H[r0] = mknode(r2, a2, r4), H[r] = mknode(r0, a0, r1), (r0 => mknode(null, a, r6) * tr(r1, t1) * tr(r6, t2) * r => mknode(r4, a0, r1) * P)(H[r, mknode(r4, a0, r1)]), r ∈ H, ¬ (tr(r, branch(t2, a0, t1)) * P * true)(H[r, mknode(r4, a0, r1)]) ∨ a2 ≠ a ⊦ H[r0] .right = (H[r, mknode(r4, a0, r1)][r0]) .right ∧ H[r0] .val = (H[r, mknode(r4, a0, r1)][r0]) .val, r0 = null
[[CONCRETESIMPRULES : ()]]