Step * 3 3 of Lemma member-bs_tree_delete-implies


1. [E] Type
2. cmp comparison(E)
3. E
4. left bs_tree(E)
5. ¬↑bst_null?(left)
6. value E
7. ¬0 < cmp value x
8. ¬0 < cmp value
9. right bs_tree(E)
10. ∀z:E. (z ∈ bs_tree_delete(cmp;x;left)  z ∈ left)
11. ∀z:E. (z ∈ bs_tree_delete(cmp;x;right)  z ∈ right)
12. E
⊢ z ∈ let m,a' bs_tree_max(left;value) in bst_node(a';m;right)  ((value z ∈ E) ∨ z ∈ left ∨ z ∈ right)
BY
((InstLemma `member-bs_tree_max` [⌜E⌝;⌜left⌝;⌜value⌝]⋅ THENA Auto)
   THEN MoveToConcl (-1)
   THEN (InstLemma `bs_tree_max_wf1` [⌜E⌝;⌜left⌝;⌜value⌝]⋅ THENA Auto)
   THEN (GenConclTerm ⌜bs_tree_max(left;value)⌝⋅ THENA Auto)
   THEN -2
   THEN Reduce 0
   THEN (RepUR ``member_bs_tree`` THEN Fold `member_bs_tree` 0)
   THEN Auto
   THEN SplitOrHyps
   THEN Auto
   THEN (InstHyp [⌜z⌝(-2)⋅ THENA Auto)
   THEN -1
   THEN Auto) }


Latex:


Latex:

1.  [E]  :  Type
2.  cmp  :  comparison(E)
3.  x  :  E
4.  left  :  bs\_tree(E)
5.  \mneg{}\muparrow{}bst\_null?(left)
6.  value  :  E
7.  \mneg{}0  <  cmp  value  x
8.  \mneg{}0  <  cmp  x  value
9.  right  :  bs\_tree(E)
10.  \mforall{}z:E.  (z  \mmember{}  bs\_tree\_delete(cmp;x;left)  {}\mRightarrow{}  z  \mmember{}  left)
11.  \mforall{}z:E.  (z  \mmember{}  bs\_tree\_delete(cmp;x;right)  {}\mRightarrow{}  z  \mmember{}  right)
12.  z  :  E
\mvdash{}  z  \mmember{}  let  m,a'  =  bs\_tree\_max(left;value) 
            in  bst\_node(a';m;right)
{}\mRightarrow{}  ((value  =  z)  \mvee{}  z  \mmember{}  left  \mvee{}  z  \mmember{}  right)


By


Latex:
((InstLemma  `member-bs\_tree\_max`  [\mkleeneopen{}E\mkleeneclose{};\mkleeneopen{}left\mkleeneclose{};\mkleeneopen{}value\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  MoveToConcl  (-1)
  THEN  (InstLemma  `bs\_tree\_max\_wf1`  [\mkleeneopen{}E\mkleeneclose{};\mkleeneopen{}left\mkleeneclose{};\mkleeneopen{}value\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  (GenConclTerm  \mkleeneopen{}bs\_tree\_max(left;value)\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  D  -2
  THEN  Reduce  0
  THEN  (RepUR  ``member\_bs\_tree``  0  THEN  Fold  `member\_bs\_tree`  0)
  THEN  Auto
  THEN  SplitOrHyps
  THEN  Auto
  THEN  (InstHyp  [\mkleeneopen{}z\mkleeneclose{}]  (-2)\mcdot{}  THENA  Auto)
  THEN  D  -1
  THEN  Auto)




Home Index