Step * 3 1 1 of Lemma member-bs_tree_delete


1. [E] Type
2. cmp comparison(E)
3. E
4. left bs_tree(E)
5. value E
6. right bs_tree(E)
7. bs_tree_ordered(E;cmp;left)  (∀z:E. (z ∈ bs_tree_delete(cmp;x;left) ⇐⇒ z ∈ left ∧ ((cmp x) 0 ∈ ℤ))))
8. bs_tree_ordered(E;cmp;right)  (∀z:E. (z ∈ bs_tree_delete(cmp;x;right) ⇐⇒ z ∈ right ∧ ((cmp x) 0 ∈ ℤ))))
9. bs_tree_ordered(E;cmp;bst_node(left;value;right))
10. E
11. bs_tree_max(left;value) ∈ {p:E × ordered_bs_tree(E;cmp)| 
                               let m,t 
                               in (∀x:E. (x ∈ left  (x ∈ t ∨ (x m ∈ E))))
                                  ∧ ((¬↑bst_null?(left))  m ∈ left)
                                  ∧ (∀x:E. (x ∈  (x ∈ left ∧ 0 < cmp m)))} 
⊢ z ∈ bs_tree_delete(cmp;x;bst_node(left;value;right)) ⇐⇒ z ∈ bst_node(left;value;right) ∧ ((cmp x) 0 ∈ ℤ))
BY
((MemTypeHD (-1) THENA Auto) THEN (Unhide THENA Auto) THEN Try ((UsingVars [`cmp'] ProveSqStable THEN Auto))) }

1
1. Type
2. cmp comparison(E)
3. E
4. left bs_tree(E)
5. value E
6. right bs_tree(E)
7. bs_tree_ordered(E;cmp;left)  (∀z:E. (z ∈ bs_tree_delete(cmp;x;left) ⇐⇒ z ∈ left ∧ ((cmp x) 0 ∈ ℤ))))
8. bs_tree_ordered(E;cmp;right)  (∀z:E. (z ∈ bs_tree_delete(cmp;x;right) ⇐⇒ z ∈ right ∧ ((cmp x) 0 ∈ ℤ))))
9. bs_tree_ordered(E;cmp;bst_node(left;value;right))
10. E
11. bs_tree_max(left;value) bs_tree_max(left;value) ∈ (E × ordered_bs_tree(E;cmp))
12. let m,t bs_tree_max(left;value) 
    in (∀x:E. (x ∈ left  (x ∈ t ∨ (x m ∈ E))))
       ∧ ((¬↑bst_null?(left))  m ∈ left)
       ∧ (∀x:E. (x ∈  (x ∈ left ∧ 0 < cmp m)))
⊢ z ∈ bs_tree_delete(cmp;x;bst_node(left;value;right)) ⇐⇒ z ∈ bst_node(left;value;right) ∧ ((cmp x) 0 ∈ ℤ))


Latex:


Latex:

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


By


Latex:
((MemTypeHD  (-1)  THENA  Auto)
  THEN  (Unhide  THENA  Auto)
  THEN  Try  ((UsingVars  [`cmp']  ProveSqStable  THEN  Auto)))




Home Index