| H[r] = mknode(r0, a0, r1), H[r0] = mknode(r2, a2, r4), r0 ∈ H, r ∈ H, (r0 => mknode(null, a, r6) * tr(r1, t1) * tr(r6, t2) * r => mknode(r4, a0, r1) * P)(H[r, mknode(r4, a0, r1)]), ¬ (tr(r, branch(t2, a0, t1)) * P * true)(H[r, mknode(r4, a0, r1)]) ∨ a2 ≠ a ⊦ r4 = ((r0 = r ⊃ mknode(r4, a0, r1); mknode(r2, a2, r4))) .right ∧ a2 = ((r0 = r ⊃ mknode(r4, a0, r1); mknode(r2, a2, r4))) .val |
((r0 = r ⊃ mknode(r4, a0, r1); mknode(r2, a2, r4))) = mknode(r3, a1, r5), H[r] = mknode(r0, a0, r1), H[r0] = mknode(r2, a2, r4), r0 ∈ H, r ∈ H, (r0 => mknode(null, a, r6) * tr(r1, t1) * tr(r6, t2) * r => mknode(r4, a0, r1) * P)(H[r, mknode(r4, a0, r1)]), ¬ (tr(r, branch(t2, a0, t1)) * P * true)(H[r, mknode(r4, a0, r1)]) ∨ a2 ≠ a ⊦ r4 = r5 ∧ a2 = a1
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ r = nd .left ∧ a = nd .val ∧ r0 = nd .right ↔ nd = mknode(r, a, r0)])], [EXTRATERMS : ((r0 = r ⊃ mknode(r4, a0, r1); mknode(r2, a2, r4)), r3, a1, r5)]]