Step * 3 of Lemma member-bs_tree_max


1. [E] Type
⊢ ∀left:bs_tree(E). ∀value:E. ∀right:bs_tree(E).
    ((∀d,z:E.
        ((z ∈ snd(bs_tree_max(left;d)) ∨ (z (fst(bs_tree_max(left;d))) ∈ E))
         (z ∈ left ∨ ((↑bst_null?(left)) ∧ (z d ∈ E)))))
     (∀d,z:E.
          ((z ∈ snd(bs_tree_max(right;d)) ∨ (z (fst(bs_tree_max(right;d))) ∈ E))
           (z ∈ right ∨ ((↑bst_null?(right)) ∧ (z d ∈ E)))))
     (∀d,z:E.
          ((z ∈ snd(bs_tree_max(bst_node(left;value;right);d))
          ∨ (z (fst(bs_tree_max(bst_node(left;value;right);d))) ∈ E))
           (z ∈ bst_node(left;value;right) ∨ ((↑bst_null?(bst_node(left;value;right))) ∧ (z d ∈ E))))))
BY
(RepeatFor (Intro) THEN RepUR ``bs_tree_max`` THEN Fold `bs_tree_max` THEN AutoSplit) }

1
1. [E] Type
2. left bs_tree(E)
3. value E
4. right bs_tree(E)
5. ∀d,z:E.
     ((z ∈ snd(bs_tree_max(left;d)) ∨ (z (fst(bs_tree_max(left;d))) ∈ E))
      (z ∈ left ∨ ((↑bst_null?(left)) ∧ (z d ∈ E))))
6. ∀d,z:E.
     ((z ∈ snd(bs_tree_max(right;d)) ∨ (z (fst(bs_tree_max(right;d))) ∈ E))
      (z ∈ right ∨ ((↑bst_null?(right)) ∧ (z d ∈ E))))
7. E
8. E
9. ↑bst_null?(right)
⊢ (z ∈ left ∨ (z value ∈ E))  (z ∈ bst_node(left;value;right) ∨ (False ∧ (z d ∈ E)))

2
1. [E] Type
2. left bs_tree(E)
3. value E
4. right bs_tree(E)
5. ¬↑bst_null?(right)
6. ∀d,z:E.
     ((z ∈ snd(bs_tree_max(left;d)) ∨ (z (fst(bs_tree_max(left;d))) ∈ E))
      (z ∈ left ∨ ((↑bst_null?(left)) ∧ (z d ∈ E))))
7. ∀d,z:E.
     ((z ∈ snd(bs_tree_max(right;d)) ∨ (z (fst(bs_tree_max(right;d))) ∈ E))  (z ∈ right ∨ (False ∧ (z d ∈ E))))
8. E
9. E
⊢ (z ∈ snd(let m,b' bs_tree_max(right;d) 
           in <m, bst_node(left;value;b')>)
∨ (z (fst(let m,b' bs_tree_max(right;d) in <m, bst_node(left;value;b')>)) ∈ E))
 (z ∈ bst_node(left;value;right) ∨ (False ∧ (z d ∈ E)))


Latex:


Latex:

1.  [E]  :  Type
\mvdash{}  \mforall{}left:bs\_tree(E).  \mforall{}value:E.  \mforall{}right:bs\_tree(E).
        ((\mforall{}d,z:E.
                ((z  \mmember{}  snd(bs\_tree\_max(left;d))  \mvee{}  (z  =  (fst(bs\_tree\_max(left;d)))))
                {}\mRightarrow{}  (z  \mmember{}  left  \mvee{}  ((\muparrow{}bst\_null?(left))  \mwedge{}  (z  =  d)))))
        {}\mRightarrow{}  (\mforall{}d,z:E.
                    ((z  \mmember{}  snd(bs\_tree\_max(right;d))  \mvee{}  (z  =  (fst(bs\_tree\_max(right;d)))))
                    {}\mRightarrow{}  (z  \mmember{}  right  \mvee{}  ((\muparrow{}bst\_null?(right))  \mwedge{}  (z  =  d)))))
        {}\mRightarrow{}  (\mforall{}d,z:E.
                    ((z  \mmember{}  snd(bs\_tree\_max(bst\_node(left;value;right);d))
                    \mvee{}  (z  =  (fst(bs\_tree\_max(bst\_node(left;value;right);d)))))
                    {}\mRightarrow{}  (z  \mmember{}  bst\_node(left;value;right)
                          \mvee{}  ((\muparrow{}bst\_null?(bst\_node(left;value;right)))  \mwedge{}  (z  =  d))))))


By


Latex:
(RepeatFor  7  (Intro)  THEN  RepUR  ``bs\_tree\_max``  0  THEN  Fold  `bs\_tree\_max`  0  THEN  AutoSplit)




Home Index