Step * 1 of Lemma quicksort_wf


1. Type
2. cmp comparison(T)
3. valueall-type(T)
4. List@i
⊢ quicksort(cmp;L) ∈ {srtd:T List| sorted-by(λx,y. (0 ≤ (cmp y));srtd) ∧ permutation(T;srtd;L)} 
BY
((MoveToConcl (-1) THEN InductionOnLength) THEN RecUnfold `quicksort` THEN OldAutoSplit) }

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. [] ∈ (T List)
⊢ L ∈ {srtd:T List| sorted-by(λx,y. (0 ≤ (cmp y));srtd) ∧ permutation(T;srtd;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))
⊢ let x ⟵ hd(L)
  in let L1 ⟵ filter(λz.0 <cmp x;L)
     in let L2 ⟵ filter(λz.0 <cmp z;L)
        in let L3 ⟵ filter(λz.(0 =z cmp z);L)
           in quicksort(cmp;L1) L3 quicksort(cmp;L2) ∈ {srtd:T List| 
                                                            sorted-by(λx,y. (0 ≤ (cmp y));srtd) ∧ permutation(T;srtd;L\000C)} 


Latex:


Latex:

1.  T  :  Type
2.  cmp  :  comparison(T)
3.  valueall-type(T)
4.  L  :  T  List@i
\mvdash{}  quicksort(cmp;L)  \mmember{}  \{srtd:T  List|  sorted-by(\mlambda{}x,y.  (0  \mleq{}  (cmp  x  y));srtd)  \mwedge{}  permutation(T;srtd;L)\} 


By


Latex:
((MoveToConcl  (-1)  THEN  InductionOnLength)  THEN  RecUnfold  `quicksort`  0  THEN  OldAutoSplit)




Home Index