Step * 3 1 1 1 4 of Lemma member-bs_tree_delete


1. 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. bs_tree_ordered(E;cmp;left)
11. bs_tree_ordered(E;cmp;right)
12. ∀x:E. (x ∈ left  0 < cmp value)
13. ∀x:E. (x ∈ right  0 < cmp value x)
14. E
15. bs_tree_max(left;value) bs_tree_max(left;value) ∈ (E × ordered_bs_tree(E;cmp))
16. let m,t bs_tree_max(left;value) 
    in (∀x:E. (x ∈ left  (x ∈ t ∨ (x m ∈ E))))
       ∧ ((¬False)  m ∈ left)
       ∧ (∀x:E. (x ∈  (x ∈ left ∧ 0 < cmp m)))
17. ∀z:E. (z ∈ bs_tree_delete(cmp;x;right) ⇐⇒ z ∈ right ∧ ((cmp x) 0 ∈ ℤ)))
18. ∀z:E. (z ∈ bs_tree_delete(cmp;x;left) ⇐⇒ z ∈ left ∧ ((cmp x) 0 ∈ ℤ)))
⊢ z ∈ let m,a' bs_tree_max(left;value) 
      in bst_node(a';m;right)
⇐⇒ z ∈ bst_node(left;value;right) ∧ ((cmp x) 0 ∈ ℤ))
BY
(MoveToConcl(-3)
   THEN (InstLemma `bs_tree_max_wf1` [⌜E⌝;⌜left⌝;⌜value⌝]⋅ THENA Auto)
   THEN (GenConclTerm ⌜bs_tree_max(left;value)⌝⋅ THENA Auto)
   THEN Thin (-3)
   THEN Thin (-1)
   THEN -1
   THEN All Reduce
   THEN RepUR ``member_bs_tree`` 0
   THEN Fold `member_bs_tree` 0
   THEN Auto) }

1
1. 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. bs_tree_ordered(E;cmp;left)
11. bs_tree_ordered(E;cmp;right)
12. ∀x:E. (x ∈ left  0 < cmp value)
13. ∀x:E. (x ∈ right  0 < cmp value x)
14. E
15. bs_tree_max(left;value) bs_tree_max(left;value) ∈ (E × ordered_bs_tree(E;cmp))
16. ∀z:E. (z ∈ bs_tree_delete(cmp;x;right) ⇐⇒ z ∈ right ∧ ((cmp x) 0 ∈ ℤ)))
17. ∀z:E. (z ∈ bs_tree_delete(cmp;x;left) ⇐⇒ z ∈ left ∧ ((cmp x) 0 ∈ ℤ)))
18. v1 E
19. v2 bs_tree(E)
20. ∀x:E. (x ∈ left  (x ∈ v2 ∨ (x v1 ∈ E)))
21. False)  v1 ∈ left
22. ∀x:E. (x ∈ v2  (x ∈ left ∧ 0 < cmp v1))
23. (v1 z ∈ E) ∨ z ∈ v2 ∨ z ∈ right
⊢ (value z ∈ E) ∨ z ∈ left ∨ z ∈ right

2
1. 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. bs_tree_ordered(E;cmp;left)
11. bs_tree_ordered(E;cmp;right)
12. ∀x:E. (x ∈ left  0 < cmp value)
13. ∀x:E. (x ∈ right  0 < cmp value x)
14. E
15. bs_tree_max(left;value) bs_tree_max(left;value) ∈ (E × ordered_bs_tree(E;cmp))
16. ∀z:E. (z ∈ bs_tree_delete(cmp;x;right) ⇐⇒ z ∈ right ∧ ((cmp x) 0 ∈ ℤ)))
17. ∀z:E. (z ∈ bs_tree_delete(cmp;x;left) ⇐⇒ z ∈ left ∧ ((cmp x) 0 ∈ ℤ)))
18. v1 E
19. v2 bs_tree(E)
20. ∀x:E. (x ∈ left  (x ∈ v2 ∨ (x v1 ∈ E)))
21. False)  v1 ∈ left
22. ∀x:E. (x ∈ v2  (x ∈ left ∧ 0 < cmp v1))
23. (v1 z ∈ E) ∨ z ∈ v2 ∨ z ∈ right
⊢ ¬((cmp x) 0 ∈ ℤ)

3
1. 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. bs_tree_ordered(E;cmp;left)
11. bs_tree_ordered(E;cmp;right)
12. ∀x:E. (x ∈ left  0 < cmp value)
13. ∀x:E. (x ∈ right  0 < cmp value x)
14. E
15. bs_tree_max(left;value) bs_tree_max(left;value) ∈ (E × ordered_bs_tree(E;cmp))
16. ∀z:E. (z ∈ bs_tree_delete(cmp;x;right) ⇐⇒ z ∈ right ∧ ((cmp x) 0 ∈ ℤ)))
17. ∀z:E. (z ∈ bs_tree_delete(cmp;x;left) ⇐⇒ z ∈ left ∧ ((cmp x) 0 ∈ ℤ)))
18. v1 E
19. v2 bs_tree(E)
20. ∀x:E. (x ∈ left  (x ∈ v2 ∨ (x v1 ∈ E)))
21. False)  v1 ∈ left
22. ∀x:E. (x ∈ v2  (x ∈ left ∧ 0 < cmp v1))
23. (value z ∈ E) ∨ z ∈ left ∨ z ∈ right
24. ¬((cmp x) 0 ∈ ℤ)
⊢ (v1 z ∈ E) ∨ z ∈ v2 ∨ z ∈ right


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.  bs\_tree\_ordered(E;cmp;left)
11.  bs\_tree\_ordered(E;cmp;right)
12.  \mforall{}x:E.  (x  \mmember{}  left  {}\mRightarrow{}  0  <  cmp  x  value)
13.  \mforall{}x:E.  (x  \mmember{}  right  {}\mRightarrow{}  0  <  cmp  value  x)
14.  z  :  E
15.  bs\_tree\_max(left;value)  =  bs\_tree\_max(left;value)
16.  let  m,t  =  bs\_tree\_max(left;value) 
        in  (\mforall{}x:E.  (x  \mmember{}  left  {}\mRightarrow{}  (x  \mmember{}  t  \mvee{}  (x  =  m))))
              \mwedge{}  ((\mneg{}False)  {}\mRightarrow{}  m  \mmember{}  left)
              \mwedge{}  (\mforall{}x:E.  (x  \mmember{}  t  {}\mRightarrow{}  (x  \mmember{}  left  \mwedge{}  0  <  cmp  x  m)))
17.  \mforall{}z:E.  (z  \mmember{}  bs\_tree\_delete(cmp;x;right)  \mLeftarrow{}{}\mRightarrow{}  z  \mmember{}  right  \mwedge{}  (\mneg{}((cmp  z  x)  =  0)))
18.  \mforall{}z:E.  (z  \mmember{}  bs\_tree\_delete(cmp;x;left)  \mLeftarrow{}{}\mRightarrow{}  z  \mmember{}  left  \mwedge{}  (\mneg{}((cmp  z  x)  =  0)))
\mvdash{}  z  \mmember{}  let  m,a'  =  bs\_tree\_max(left;value) 
            in  bst\_node(a';m;right)
\mLeftarrow{}{}\mRightarrow{}  z  \mmember{}  bst\_node(left;value;right)  \mwedge{}  (\mneg{}((cmp  z  x)  =  0))


By


Latex:
(MoveToConcl(-3)
  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  Thin  (-3)
  THEN  Thin  (-1)
  THEN  D  -1
  THEN  All  Reduce
  THEN  RepUR  ``member\_bs\_tree``  0
  THEN  Fold  `member\_bs\_tree`  0
  THEN  Auto)




Home Index