(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:
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