Finally I understood.
1) sep [1, 2, 3, 4, 5] = let (is, ps) = sep [3, 4, 5] in (1:is, 2:ps)
2) sep [3, 4, 5] = let (is, ps) = sep [5] in (3:is, 4:ps)
3) sep [5] = ([], [5])
In 2) sep [3, 4, 5] = let (is, ps) = ([], [5]) in (3:is, 4:ps) = ([3], [4, 5])
In 1) sep [1, 2, 3, 4, 5] = let (is, ps) = ([3], [4, 5]) in (1:is, 2:ps) = ([1, 3], [2, 4, 5])