(65steps total) PrintForm Definitions Lemmas mb list 2 Sections MarkB generic Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
At: partial sort exists 1 1 2 1 2 1 2 1 1 2 1 1 1 1 1 1 1 2

1. T : Type
2. P : L:(T List)(||L||-1)
3. m : (T List)
4. L:T List, i:(||L||-1).
4. P(L,i P(swap(L;i;i+1),i) & m(swap(L;i;i+1))<m(L)
5. L : T List
6. 0<||L||
7. f : (T List)(T List)
8. L:T List. 
8. f(L)
8. =
8. if null(L) L
8. else let i = search(||L||-1;P(L)) in if i=0 L else swap(L;i-1;i) fi fi
9. x:T List. n:f(f^n(x)) = f^n(x)
10. n : 
11. f(f^n(L)) = f^n(L)
12. i : (||f^n(L)||-1)
13. P(f^n(L),i)
14. (i:(||f^n(L)||-1). P(f^n(L),i))  (0<search(||f^n(L)||-1;P(f^n(L))))
15. 0<search(||f^n(L)||-1;P(f^n(L)))
16. P(f^n(L),search(||f^n(L)||-1;P(f^n(L)))-1)
17. j:(||f^n(L)||-1). j<search(||f^n(L)||-1;P(f^n(L)))-1  P(f^n(L),j)
18. n1 : 
19. 0<n1
20. L:T List. ||f^n1-1(L)|| = ||L||
21. L1 : T List
22. n1 = 0
23. L2 : T List
24. f^n1-1(L1) = L2
25. ||L2|| = ||L1||
26. L2 = nil
  ||if search(||L2||-1;P(L2))=0 L2
  ||else swap(L2;search(||L2||-1;P(L2))-1;search(||L2||-1;P(L2))) fi||
  =
  ||L2||
   


By: AssertBY (0<||L2||) (BackThru Thm* L:T List. L = nil  0<||L||)
THEN
SplitOnConclITE


Generated subgoal:

1 27. 0<||L2||
28. search(||L2||-1;P(L2)) = 0
  ||swap(L2;search(||L2||-1;P(L2))-1;search(||L2||-1;P(L2)))|| = ||L2||  

1 step

About:
listnilboolifthenelseassertintnatural_numberaddsubtractless_than
applyfunctionuniverseequalimpliesandallexists
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html

(65steps total) PrintForm Definitions Lemmas mb list 2 Sections MarkB generic Doc