Step * 3 of Lemma bm_T'_wf


1. Type
2. Key Type
3. Key
4. T
5. key Key
6. value T
7. cnt : ℤ
8. left binary_map(T;Key)
9. m7 binary_map(T;Key)
10. ↑bm_cnt_prop(bm_T(key;value;cnt;left;m7))
11. k1 Key
12. v1 T
13. c1 : ℤ
14. l1 binary_map(T;Key)
15. m12 binary_map(T;Key)
16. ↑bm_cnt_prop(bm_T(k1;v1;c1;l1;m12))
⊢ if bm_wt(cnt) ≤c1
    then if bm_numItems(l1) <bm_numItems(m12)
         then bm_single_L(k;v;bm_T(key;value;cnt;left;m7);bm_T(k1;v1;c1;l1;m12))
         else bm_double_L(k;v;bm_T(key;value;cnt;left;m7);bm_T(k1;v1;c1;l1;m12))
         fi 
  if bm_wt(c1) ≤cnt
    then if bm_numItems(m7) <bm_numItems(left)
         then bm_single_R(k;v;bm_T(key;value;cnt;left;m7);bm_T(k1;v1;c1;l1;m12))
         else bm_double_R(k;v;bm_T(key;value;cnt;left;m7);bm_T(k1;v1;c1;l1;m12))
         fi 
  else bm_T(k;v;cnt c1 1;bm_T(key;value;cnt;left;m7);bm_T(k1;v1;c1;l1;m12))
  fi  ∈ binary-map(T;Key)
BY
(RepeatFor (Try (AutoSplit)) THEN Try (Complete ((Auto THEN MemTypeCD THEN Auto)))) }

1
1. Type
2. Key Type
3. Key
4. T
5. key Key
6. value T
7. cnt : ℤ
8. left binary_map(T;Key)
9. m7 binary_map(T;Key)
10. ↑bm_cnt_prop(bm_T(key;value;cnt;left;m7))
11. k1 Key
12. v1 T
13. c1 : ℤ
14. l1 binary_map(T;Key)
15. m12 binary_map(T;Key)
16. ¬bm_numItems(l1) < bm_numItems(m12)
17. ↑bm_cnt_prop(bm_T(k1;v1;c1;l1;m12))
18. bm_wt(cnt) ≤ c1
⊢ bm_double_L(k;v;bm_T(key;value;cnt;left;m7);bm_T(k1;v1;c1;l1;m12)) ∈ binary-map(T;Key)

2
1. Type
2. Key Type
3. Key
4. T
5. key Key
6. value T
7. cnt : ℤ
8. left binary_map(T;Key)
9. m7 binary_map(T;Key)
10. ¬bm_numItems(m7) < bm_numItems(left)
11. ↑bm_cnt_prop(bm_T(key;value;cnt;left;m7))
12. k1 Key
13. v1 T
14. c1 : ℤ
15. ¬(bm_wt(cnt) ≤ c1)
16. l1 binary_map(T;Key)
17. m12 binary_map(T;Key)
18. ↑bm_cnt_prop(bm_T(k1;v1;c1;l1;m12))
19. bm_wt(c1) ≤ cnt
⊢ bm_double_R(k;v;bm_T(key;value;cnt;left;m7);bm_T(k1;v1;c1;l1;m12)) ∈ binary-map(T;Key)

3
1. Type
2. Key Type
3. Key
4. T
5. key Key
6. value T
7. cnt : ℤ
8. left binary_map(T;Key)
9. m7 binary_map(T;Key)
10. ↑bm_cnt_prop(bm_T(key;value;cnt;left;m7))
11. k1 Key
12. v1 T
13. c1 : ℤ
14. ¬(bm_wt(c1) ≤ cnt)
15. ¬(bm_wt(cnt) ≤ c1)
16. l1 binary_map(T;Key)
17. m12 binary_map(T;Key)
18. ↑bm_cnt_prop(bm_T(k1;v1;c1;l1;m12))
⊢ bm_T(k;v;cnt c1 1;bm_T(key;value;cnt;left;m7);bm_T(k1;v1;c1;l1;m12)) ∈ binary-map(T;Key)


Latex:



1.  T  :  Type
2.  Key  :  Type
3.  k  :  Key
4.  v  :  T
5.  key  :  Key
6.  value  :  T
7.  cnt  :  \mBbbZ{}
8.  left  :  binary\_map(T;Key)
9.  m7  :  binary\_map(T;Key)
10.  \muparrow{}bm\_cnt\_prop(bm\_T(key;value;cnt;left;m7))
11.  k1  :  Key
12.  v1  :  T
13.  c1  :  \mBbbZ{}
14.  l1  :  binary\_map(T;Key)
15.  m12  :  binary\_map(T;Key)
16.  \muparrow{}bm\_cnt\_prop(bm\_T(k1;v1;c1;l1;m12))
\mvdash{}  if  bm\_wt(cnt)  \mleq{}z  c1
        then  if  bm\_numItems(l1)  <z  bm\_numItems(m12)
                  then  bm\_single\_L(k;v;bm\_T(key;value;cnt;left;m7);bm\_T(k1;v1;c1;l1;m12))
                  else  bm\_double\_L(k;v;bm\_T(key;value;cnt;left;m7);bm\_T(k1;v1;c1;l1;m12))
                  fi 
    if  bm\_wt(c1)  \mleq{}z  cnt
        then  if  bm\_numItems(m7)  <z  bm\_numItems(left)
                  then  bm\_single\_R(k;v;bm\_T(key;value;cnt;left;m7);bm\_T(k1;v1;c1;l1;m12))
                  else  bm\_double\_R(k;v;bm\_T(key;value;cnt;left;m7);bm\_T(k1;v1;c1;l1;m12))
                  fi 
    else  bm\_T(k;v;cnt  +  c1  +  1;bm\_T(key;value;cnt;left;m7);bm\_T(k1;v1;c1;l1;m12))
    fi    \mmember{}  binary-map(T;Key)


By

(RepeatFor  3  (Try  (AutoSplit))  THEN  Try  (Complete  ((Auto  THEN  MemTypeCD  THEN  Auto))))




Home Index