1 |
1. T : Type
2. L1 : T List
3. L2 : T List
4. L : T List
5. x : T
6. i,j: . i<||L|| ![](FONT/eq.png) j<||L|| ![](FONT/eq.png) i = j ![](FONT/eq.png) L[i] = L[j]
7. f1 : ||L1 @ [x]||![](FONT/dash.png) ![](FONT/then_med.png) ||L||
8. increasing(f1;||L1 @ [x]||)
9. j: ||L1 @ [x]||. (L1 @ [x])[j] = L[(f1(j))]
10. f : (||L2||+1)![](FONT/dash.png) ![](FONT/then_med.png) ||L||
11. increasing(f;||L2||+1)
12. j: (||L2||+1). [x / L2][j] = L[(f(j))]
f:( ||L1 @ [x / L2]||![](FONT/dash.png) ![](FONT/then_med.png) ||L||).
increasing(f;||L1 @ [x / L2]||)
& ( j: ||L1 @ [x / L2]||. (L1 @ [x / L2])[j] = L[(f(j))])
![](FONT/BLANK.png) | 40 steps |