Step * 1 1 1 3 of Lemma bs_tree_max_wf


1. Type
2. cmp comparison(E)
3. E
⊢ ∀left:bs_tree(E). ∀value:E. ∀right:bs_tree(E).
    ((bs_tree_ordered(E;cmp;left)
      let m,t bs_tree_max(left;d) 
        in bs_tree_ordered(E;cmp;t)
           ∧ (∀x:E. (x ∈ left  (x ∈ t ∨ (x m ∈ E))))
           ∧ ((¬↑bst_null?(left))  m ∈ left)
           ∧ (∀x:E. (x ∈  (x ∈ left ∧ 0 < cmp m))))
     (bs_tree_ordered(E;cmp;right)
        let m,t bs_tree_max(right;d) 
          in bs_tree_ordered(E;cmp;t)
             ∧ (∀x:E. (x ∈ right  (x ∈ t ∨ (x m ∈ E))))
             ∧ ((¬↑bst_null?(right))  m ∈ right)
             ∧ (∀x:E. (x ∈  (x ∈ right ∧ 0 < cmp m))))
     bs_tree_ordered(E;cmp;bst_node(left;value;right))
     let m,t bs_tree_max(bst_node(left;value;right);d) 
       in bs_tree_ordered(E;cmp;t)
          ∧ (∀x:E. (x ∈ bst_node(left;value;right)  (x ∈ t ∨ (x m ∈ E))))
          ∧ ((¬↑bst_null?(bst_node(left;value;right)))  m ∈ bst_node(left;value;right))
          ∧ (∀x:E. (x ∈  (x ∈ bst_node(left;value;right) ∧ 0 < cmp m))))
BY
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)
 let m,t bs_tree_max(left;d) 
   in bs_tree_ordered(E;cmp;t)
      ∧ (∀x:E. (x ∈ left  (x ∈ t ∨ (x m ∈ E))))
      ∧ ((¬↑bst_null?(left))  m ∈ left)
      ∧ (∀x:E. (x ∈  (x ∈ left ∧ 0 < cmp m)))
8. bs_tree_ordered(E;cmp;right)
 let m,t bs_tree_max(right;d) 
   in bs_tree_ordered(E;cmp;t)
      ∧ (∀x:E. (x ∈ right  (x ∈ t ∨ (x m ∈ E))))
      ∧ ((¬↑bst_null?(right))  m ∈ right)
      ∧ (∀x:E. (x ∈  (x ∈ right ∧ 0 < cmp m)))
9. bs_tree_ordered(E;cmp;bst_node(left;value;right))
⊢ let m,t bs_tree_max(bst_node(left;value;right);d) 
  in bs_tree_ordered(E;cmp;t)
     ∧ (∀x:E. (x ∈ bst_node(left;value;right)  (x ∈ t ∨ (x m ∈ E))))
     ∧ ((¬↑bst_null?(bst_node(left;value;right)))  m ∈ bst_node(left;value;right))
     ∧ (∀x:E. (x ∈  (x ∈ bst_node(left;value;right) ∧ 0 < cmp m)))


Latex:


Latex:

1.  E  :  Type
2.  cmp  :  comparison(E)
3.  d  :  E
\mvdash{}  \mforall{}left:bs\_tree(E).  \mforall{}value:E.  \mforall{}right:bs\_tree(E).
        ((bs\_tree\_ordered(E;cmp;left)
          {}\mRightarrow{}  let  m,t  =  bs\_tree\_max(left;d) 
                in  bs\_tree\_ordered(E;cmp;t)
                      \mwedge{}  (\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))))
        {}\mRightarrow{}  (bs\_tree\_ordered(E;cmp;right)
              {}\mRightarrow{}  let  m,t  =  bs\_tree\_max(right;d) 
                    in  bs\_tree\_ordered(E;cmp;t)
                          \mwedge{}  (\mforall{}x:E.  (x  \mmember{}  right  {}\mRightarrow{}  (x  \mmember{}  t  \mvee{}  (x  =  m))))
                          \mwedge{}  ((\mneg{}\muparrow{}bst\_null?(right))  {}\mRightarrow{}  m  \mmember{}  right)
                          \mwedge{}  (\mforall{}x:E.  (x  \mmember{}  t  {}\mRightarrow{}  (x  \mmember{}  right  \mwedge{}  0  <  cmp  x  m))))
        {}\mRightarrow{}  bs\_tree\_ordered(E;cmp;bst\_node(left;value;right))
        {}\mRightarrow{}  let  m,t  =  bs\_tree\_max(bst\_node(left;value;right);d) 
              in  bs\_tree\_ordered(E;cmp;t)
                    \mwedge{}  (\mforall{}x:E.  (x  \mmember{}  bst\_node(left;value;right)  {}\mRightarrow{}  (x  \mmember{}  t  \mvee{}  (x  =  m))))
                    \mwedge{}  ((\mneg{}\muparrow{}bst\_null?(bst\_node(left;value;right)))  {}\mRightarrow{}  m  \mmember{}  bst\_node(left;value;right))
                    \mwedge{}  (\mforall{}x:E.  (x  \mmember{}  t  {}\mRightarrow{}  (x  \mmember{}  bst\_node(left;value;right)  \mwedge{}  0  <  cmp  x  m))))


By


Latex:
Auto




Home Index