| t1 ≠ leaf, b < ((t1 = leaf ⊃ a; t1 .leftmost)), bst(t1), bst(t2), ∀ a0. a0 ∈ t1 → a0 < a, ∀ a0. a0 ∈ t2 → a < a0, ∀ a0. ¬ a0 ∈ t1 ∨ ¬ a0 ∈ t2, ∀ a, c. a ∈ t1 ∧ c ∈ t2 → a < c, ((t1 = leaf ⊃ a; t1 .leftmost)) ∈ t1 ∨ ((t1 = leaf ⊃ a; t1 .leftmost)) = a, ∀ t0, b. # t0 < # branch(t1, a, t2) → (bst(t0) ∧ b ∈ t0 ∧ b < t0 .leftmost → b = t0 .leftmost ∨ t0 = leaf) ⊦ b = t1 .leftmost, b ≠ a ∧ ¬ b ∈ t1 ∧ ¬ b ∈ t2 |
⊦ t ≠ leaf → (¬ t .leftmost ∈ t ↔ false)
bst(t1), bst(t2), b < 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) ⊦ b = t1 .leftmost, t1 = leaf, b ≠ a ∧ ¬ b ∈ t1 ∧ ¬ b ∈ t2
[[CONCRETESIMPRULES : ()]]