Step
*
1
1
3
of Lemma
bs_tree_lookup_wf
1. E : Type
2. cmp : comparison(E)
3. x : E
⊢ ∀left:bs_tree(E). ∀value:E. ∀right:bs_tree(E).
    ((bs_tree_ordered(E;cmp;left)
     
⇒ case bs_tree_lookup(cmp;x;left)
         of inl(z) =>
         ((cmp z x) = 0 ∈ ℤ) ∧ z ∈ left
         | inr(_) =>
         ∀z:E. (z ∈ left 
⇒ (¬((cmp z x) = 0 ∈ ℤ))))
    
⇒ (bs_tree_ordered(E;cmp;right)
       
⇒ case bs_tree_lookup(cmp;x;right)
           of inl(z) =>
           ((cmp z x) = 0 ∈ ℤ) ∧ z ∈ right
           | inr(_) =>
           ∀z:E. (z ∈ right 
⇒ (¬((cmp z x) = 0 ∈ ℤ))))
    
⇒ bs_tree_ordered(E;cmp;bst_node(left;value;right))
    
⇒ case bs_tree_lookup(cmp;x;bst_node(left;value;right))
        of inl(z) =>
        ((cmp z x) = 0 ∈ ℤ) ∧ z ∈ bst_node(left;value;right)
        | inr(_) =>
        ∀z:E. (z ∈ bst_node(left;value;right) 
⇒ (¬((cmp z x) = 0 ∈ ℤ))))
BY
{ RepeatFor 6 (Intro) }
1
1. E : Type
2. cmp : comparison(E)
3. x : E
4. left : bs_tree(E)@i
5. value : E@i
6. right : bs_tree(E)@i
7. bs_tree_ordered(E;cmp;left)
⇒ case bs_tree_lookup(cmp;x;left)
    of inl(z) =>
    ((cmp z x) = 0 ∈ ℤ) ∧ z ∈ left
    | inr(_) =>
    ∀z:E. (z ∈ left 
⇒ (¬((cmp z x) = 0 ∈ ℤ)))
8. bs_tree_ordered(E;cmp;right)
⇒ case bs_tree_lookup(cmp;x;right)
    of inl(z) =>
    ((cmp z x) = 0 ∈ ℤ) ∧ z ∈ right
    | inr(_) =>
    ∀z:E. (z ∈ right 
⇒ (¬((cmp z x) = 0 ∈ ℤ)))
9. bs_tree_ordered(E;cmp;bst_node(left;value;right))
⊢ case bs_tree_lookup(cmp;x;bst_node(left;value;right))
 of inl(z) =>
 ((cmp z x) = 0 ∈ ℤ) ∧ z ∈ bst_node(left;value;right)
 | inr(_) =>
 ∀z:E. (z ∈ bst_node(left;value;right) 
⇒ (¬((cmp z x) = 0 ∈ ℤ)))
Latex:
Latex:
1.  E  :  Type
2.  cmp  :  comparison(E)
3.  x  :  E
\mvdash{}  \mforall{}left:bs\_tree(E).  \mforall{}value:E.  \mforall{}right:bs\_tree(E).
        ((bs\_tree\_ordered(E;cmp;left)
          {}\mRightarrow{}  case  bs\_tree\_lookup(cmp;x;left)
                  of  inl(z)  =>
                  ((cmp  z  x)  =  0)  \mwedge{}  z  \mmember{}  left
                  |  inr($_{}$)  =>
                  \mforall{}z:E.  (z  \mmember{}  left  {}\mRightarrow{}  (\mneg{}((cmp  z  x)  =  0))))
        {}\mRightarrow{}  (bs\_tree\_ordered(E;cmp;right)
              {}\mRightarrow{}  case  bs\_tree\_lookup(cmp;x;right)
                      of  inl(z)  =>
                      ((cmp  z  x)  =  0)  \mwedge{}  z  \mmember{}  right
                      |  inr($_{}$)  =>
                      \mforall{}z:E.  (z  \mmember{}  right  {}\mRightarrow{}  (\mneg{}((cmp  z  x)  =  0))))
        {}\mRightarrow{}  bs\_tree\_ordered(E;cmp;bst\_node(left;value;right))
        {}\mRightarrow{}  case  bs\_tree\_lookup(cmp;x;bst\_node(left;value;right))
                of  inl(z)  =>
                ((cmp  z  x)  =  0)  \mwedge{}  z  \mmember{}  bst\_node(left;value;right)
                |  inr($_{}$)  =>
                \mforall{}z:E.  (z  \mmember{}  bst\_node(left;value;right)  {}\mRightarrow{}  (\mneg{}((cmp  z  x)  =  0))))
By
Latex:
RepeatFor  6  (Intro)
Home
Index