| bst(t1), bst(t2), a < t1 .leftmost, t1 .leftmost ∈ t1, ∀ a0. a0 ∈ t1 → a0 < a, ∀ a0. a0 ∈ t2 → a < a0, ∀ a0. ¬ a0 ∈ t1 ∨ ¬ a0 ∈ t2, ∀ a, c. a ∈ t1 ∧ c ∈ t2 → a < c, ∀ t0, b. # t0 < # branch(t1, a, t2) → (bst(t0) ∧ b ∈ t0 ∧ b < t0 .leftmost → b = t0 .leftmost ∨ t0 = leaf) ⊦ a = t1 .leftmost, t1 = leaf |
⊦ t ≠ leaf → (¬ t .leftmost ∈ t ↔ false)
[[CONCRETESIMPRULES : ([CSIMPFORWARD : ⊦ a < b ∧ b < c → a < c], [CSIMPSEQ : ⊦ ¬ a < a])], [EXTRATERMS : (t1 .leftmost)]]