Step * 3 6 of Lemma member_bs_tree_insert


1. [E] Type
2. cmp comparison(E)
3. E
4. left bs_tree(E)
5. value E
6. ¬0 < cmp value x
7. right bs_tree(E)
8. bs_tree_ordered(E;cmp;left)
9. bs_tree_ordered(E;cmp;right)
10. ∀x:E. (x ∈ left  0 < cmp value)
11. ∀x:E. (x ∈ right  0 < cmp value x)
12. E
13. cmp value x < 0
14. (value y ∈ E) ∨ y ∈ left ∨ y ∈ right
15. ¬((cmp y) 0 ∈ ℤ)
16. ∀y:E. (y ∈ bs_tree_insert(cmp;x;right) ⇐⇒ (y x ∈ E) ∨ (y ∈ right ∧ ((cmp y) 0 ∈ ℤ))))
17. ∀y:E. (y ∈ bs_tree_insert(cmp;x;left) ⇐⇒ (y x ∈ E) ∨ (y ∈ left ∧ ((cmp y) 0 ∈ ℤ))))
⊢ (value y ∈ E) ∨ ((y x ∈ E) ∨ (y ∈ left ∧ ((cmp y) 0 ∈ ℤ)))) ∨ y ∈ right
BY
(SplitOrHyps
   THEN Auto
   THEN (Eliminate ⌜value⌝⋅ THENA Auto)
   THEN (Assert (cmp x) (-(cmp y)) ∈ ℤ BY
               (RW (AddrC [2] (LemmaC `comparison-anti`)) 0  THEN Auto))
   THEN Auto) }


Latex:


Latex:

1.  [E]  :  Type
2.  cmp  :  comparison(E)
3.  x  :  E
4.  left  :  bs\_tree(E)
5.  value  :  E
6.  \mneg{}0  <  cmp  value  x
7.  right  :  bs\_tree(E)
8.  bs\_tree\_ordered(E;cmp;left)
9.  bs\_tree\_ordered(E;cmp;right)
10.  \mforall{}x:E.  (x  \mmember{}  left  {}\mRightarrow{}  0  <  cmp  x  value)
11.  \mforall{}x:E.  (x  \mmember{}  right  {}\mRightarrow{}  0  <  cmp  value  x)
12.  y  :  E
13.  cmp  value  x  <  0
14.  (value  =  y)  \mvee{}  y  \mmember{}  left  \mvee{}  y  \mmember{}  right
15.  \mneg{}((cmp  x  y)  =  0)
16.  \mforall{}y:E.  (y  \mmember{}  bs\_tree\_insert(cmp;x;right)  \mLeftarrow{}{}\mRightarrow{}  (y  =  x)  \mvee{}  (y  \mmember{}  right  \mwedge{}  (\mneg{}((cmp  x  y)  =  0))))
17.  \mforall{}y:E.  (y  \mmember{}  bs\_tree\_insert(cmp;x;left)  \mLeftarrow{}{}\mRightarrow{}  (y  =  x)  \mvee{}  (y  \mmember{}  left  \mwedge{}  (\mneg{}((cmp  x  y)  =  0))))
\mvdash{}  (value  =  y)  \mvee{}  ((y  =  x)  \mvee{}  (y  \mmember{}  left  \mwedge{}  (\mneg{}((cmp  x  y)  =  0))))  \mvee{}  y  \mmember{}  right


By


Latex:
(SplitOrHyps
  THEN  Auto
  THEN  (Eliminate  \mkleeneopen{}value\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  (Assert  (cmp  y  x)  =  (-(cmp  x  y))  BY
                          (RW  (AddrC  [2]  (LemmaC  `comparison-anti`))  0    THEN  Auto))
  THEN  Auto)




Home Index