(41steps total) PrintForm Definitions Lemmas mb list 1 Sections MarkB generic Doc
IF YOU CAN SEE THIS go to /sfa/Nuprl/Shared/Xindentation_hack_doc.html
At: append overlapping sublists 1 2 2 2

1. T : Type
2. L1 : T List
3. L2 : T List
4. L : T List
5. x : T
6. i,j:i<||L||  j<||L||  i = j  L[i] = L[j]
7. f1 : ||L1 @ [x]||||L||
8. increasing(f1;||L1 @ [x]||)
9. j:||L1 @ [x]||. (L1 @ [x])[j] = L[(f1(j))]
10. f : (||L2||+1)||L||
11. increasing(f;||L2||+1)
12. j:(||L2||+1). [x / L2][j] = L[(f(j))]
13. ||L1 @ [x / L2]|| = ||L1||+||L2||+1
14. ||nil||0
15. j : ||L1 @ [x / L2]||
  (L1 @ [x / L2])[j] = L[if j||L1|| f1(j) else f(j-||L1||) fi]


By: AssertBY (||L1 @ [x]|| = ||L1||+1)
(RWO Thm* as,bs:T List. ||as @ bs|| = ||as||+||bs||   0 THEN Reduce 0)
THEN
SplitOnConclITE


Generated subgoals:

1 16. ||L1 @ [x]|| = ||L1||+1  
17. j||L1||
  (L1 @ [x / L2])[j] = L[(f1(j))]

8 steps
2 16. ||L1 @ [x]|| = ||L1||+1  
17. ||L1||<j
  (L1 @ [x / L2])[j] = L[(f(j-||L1||))]

2 steps

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

(41steps total) PrintForm Definitions Lemmas mb list 1 Sections MarkB generic Doc