| b < t .leftmost, b ∈ t, bst(t), t .leftmost ∈ t .left ∨ t .leftmost = t .val, ∀ t0, b. # t0 < # t → (bst(t0) ∧ b ∈ t0 ∧ b < t0 .leftmost → b = t0 .leftmost ∨ t0 = leaf) ⊦ t = leaf, b = t .leftmost |
t = branch(t1, a, t2), b < t .leftmost, b ∈ t, bst(t), t .leftmost ∈ t1 ∨ t .leftmost = a, ∀ t0, b. # t0 < # t → (bst(t0) ∧ b ∈ t0 ∧ b < t0 .leftmost → b = t0 .leftmost ∨ t0 = leaf) ⊦ t = leaf, b = t .leftmost
[[CONCRETESIMPRULES : ([CSIMPELIM : ⊦ t ≠ leaf → ( t0 = t .left ∧ a = t .val ∧ t1 = t .right ↔ t = branch(t0, a, t1))])], [EXTRATERMS : (t, t1, a, t2)]]