Step * 1 2 1 3 of Lemma quicksort_wf


1. Type
2. cmp comparison(T)
3. valueall-type(T)
4. : ℕ
5. List@i
6. ∀L1:T List
     (||L1|| < ||L||  (quicksort(cmp;L1) ∈ {srtd:T List| sorted-by(λx,y. (0 ≤ (cmp y));srtd) ∧ permutation(T;srtd;L1\000C)} ))
7. ¬(L [] ∈ (T List))
8. ||L|| ≥ 
9. quicksort(cmp;filter(λz.0 <cmp hd(L);L)) ∈ {srtd:T List| 
                                                   sorted-by(λx,y. (0 ≤ (cmp y));srtd)
                                                   ∧ permutation(T;srtd;filter(λz.0 <cmp hd(L);L))} 
10. quicksort(cmp;filter(λz.0 <cmp hd(L) z;L)) ∈ {srtd:T List| 
                                                    sorted-by(λx,y. (0 ≤ (cmp y));srtd)
                                                    ∧ permutation(T;srtd;filter(λz.0 <cmp hd(L) z;L))} 
⊢ quicksort(cmp;filter(λz.0 <cmp hd(L);L))
  filter(λz.(0 =z cmp hd(L) z);L)
  quicksort(cmp;filter(λz.0 <cmp hd(L) z;L)) ∈ {srtd:T List| 
                                                    sorted-by(λx,y. (0 ≤ (cmp y));srtd) ∧ permutation(T;srtd;L)} 
BY
((MemTypeHD (-2) THENA Auto) THEN (MemTypeHD (-1) THENA Auto) THEN MemTypeCD THEN Auto) }

1
1. Type
2. cmp comparison(T)
3. valueall-type(T)
4. : ℕ
5. List@i
6. ∀L1:T List
     (||L1|| < ||L||  (quicksort(cmp;L1) ∈ {srtd:T List| sorted-by(λx,y. (0 ≤ (cmp y));srtd) ∧ permutation(T;srtd;L1\000C)} ))
7. ¬(L [] ∈ (T List))
8. ||L|| ≥ 
9. quicksort(cmp;filter(λz.0 <cmp hd(L);L)) quicksort(cmp;filter(λz.0 <cmp hd(L);L)) ∈ (T List)
10. sorted-by(λx,y. (0 ≤ (cmp y));quicksort(cmp;filter(λz.0 <cmp hd(L);L)))
11. permutation(T;quicksort(cmp;filter(λz.0 <cmp hd(L);L));filter(λz.0 <cmp hd(L);L))
12. quicksort(cmp;filter(λz.0 <cmp hd(L) z;L)) quicksort(cmp;filter(λz.0 <cmp hd(L) z;L)) ∈ (T List)
13. sorted-by(λx,y. (0 ≤ (cmp y));quicksort(cmp;filter(λz.0 <cmp hd(L) z;L)))
14. permutation(T;quicksort(cmp;filter(λz.0 <cmp hd(L) z;L));filter(λz.0 <cmp hd(L) z;L))
⊢ sorted-by(λx,y. (0 ≤ (cmp y));quicksort(cmp;filter(λz.0 <cmp hd(L);L))
filter(λz.(0 =z cmp hd(L) z);L)
quicksort(cmp;filter(λz.0 <cmp hd(L) z;L)))

2
1. Type
2. cmp comparison(T)
3. valueall-type(T)
4. : ℕ
5. List@i
6. ∀L1:T List
     (||L1|| < ||L||  (quicksort(cmp;L1) ∈ {srtd:T List| sorted-by(λx,y. (0 ≤ (cmp y));srtd) ∧ permutation(T;srtd;L1\000C)} ))
7. ¬(L [] ∈ (T List))
8. ||L|| ≥ 
9. quicksort(cmp;filter(λz.0 <cmp hd(L);L)) quicksort(cmp;filter(λz.0 <cmp hd(L);L)) ∈ (T List)
10. sorted-by(λx,y. (0 ≤ (cmp y));quicksort(cmp;filter(λz.0 <cmp hd(L);L)))
11. permutation(T;quicksort(cmp;filter(λz.0 <cmp hd(L);L));filter(λz.0 <cmp hd(L);L))
12. quicksort(cmp;filter(λz.0 <cmp hd(L) z;L)) quicksort(cmp;filter(λz.0 <cmp hd(L) z;L)) ∈ (T List)
13. sorted-by(λx,y. (0 ≤ (cmp y));quicksort(cmp;filter(λz.0 <cmp hd(L) z;L)))
14. permutation(T;quicksort(cmp;filter(λz.0 <cmp hd(L) z;L));filter(λz.0 <cmp hd(L) z;L))
15. sorted-by(λx,y. (0 ≤ (cmp y));quicksort(cmp;filter(λz.0 <cmp hd(L);L))
filter(λz.(0 =z cmp hd(L) z);L)
quicksort(cmp;filter(λz.0 <cmp hd(L) z;L)))
⊢ permutation(T;quicksort(cmp;filter(λz.0 <cmp hd(L);L))
              filter(λz.(0 =z cmp hd(L) z);L)
              quicksort(cmp;filter(λz.0 <cmp hd(L) z;L));L)


Latex:


Latex:

1.  T  :  Type
2.  cmp  :  comparison(T)
3.  valueall-type(T)
4.  n  :  \mBbbN{}
5.  L  :  T  List@i
6.  \mforall{}L1:T  List
          (||L1||  <  ||L||
          {}\mRightarrow{}  (quicksort(cmp;L1)  \mmember{}  \{srtd:T  List| 
                                                            sorted-by(\mlambda{}x,y.  (0  \mleq{}  (cmp  x  y));srtd)  \mwedge{}  permutation(T;srtd;L1)\}  ))
7.  \mneg{}(L  =  [])
8.  ||L||  \mgeq{}  1 
9.  quicksort(cmp;filter(\mlambda{}z.0  <z  cmp  z  hd(L);L))  \mmember{}  \{srtd:T  List| 
                                                                                                      sorted-by(\mlambda{}x,y.  (0  \mleq{}  (cmp  x  y));srtd)
                                                                                                      \mwedge{}  permutation(T;srtd;filter(\mlambda{}z.0  <z  cmp  z  hd(L);
                                                                                                                                                              L))\} 
10.  quicksort(cmp;filter(\mlambda{}z.0  <z  cmp  hd(L)  z;L))  \mmember{}  \{srtd:T  List| 
                                                                                                        sorted-by(\mlambda{}x,y.  (0  \mleq{}  (cmp  x  y));srtd)
                                                                                                        \mwedge{}  permutation(T;srtd;filter(\mlambda{}z.0  <z  cmp  hd(L)  z;
                                                                                                                                                                L))\} 
\mvdash{}  quicksort(cmp;filter(\mlambda{}z.0  <z  cmp  z  hd(L);L))
    @  filter(\mlambda{}z.(0  =\msubz{}  cmp  hd(L)  z);L)
    @  quicksort(cmp;filter(\mlambda{}z.0  <z  cmp  hd(L)  z;L))  \mmember{}  \{srtd:T  List| 
                                                                                                        sorted-by(\mlambda{}x,y.  (0  \mleq{}  (cmp  x  y));srtd)
                                                                                                        \mwedge{}  permutation(T;srtd;L)\} 


By


Latex:
((MemTypeHD  (-2)  THENA  Auto)  THEN  (MemTypeHD  (-1)  THENA  Auto)  THEN  MemTypeCD  THEN  Auto)




Home Index