Penetrating oil is useless until you've broken the bond and got the parts moving; people think it can penetrate even a fully rusted fitting where there is a complete bond of metal oxide but it can't. I know this because I have owned Land Rovers, which rust like nothing else, and I learned never to waste my time trying to free rusted bits; just go and buy a new one then cut the rusted one off with your favourite Land Rover tool, the angle grinder.
In your case the iron oxide has expanded and taken up the free space between tube and seatpost, wedging the post in place. The rust is caused by water dribbling down the seatpost and accumulating inside the frame. Read up on this on Sheldon Brown; your best option would be to clamp the seatpost in a big vice, possibly using an old saddle that you don't mind sacrificing, then turn the frame around it. If the seatpost breaks or gets ruined, so be it, you can always buy a new one. Once the post is out, turn the bike upside-down and give the seat tube a good clean out with wet and dry paper wrapped around a stick, then allow it to dry out then spray the inside with something like WD40 in the hope of slowing down corrosion in future. It's an important part of the maintenance routine to remove the seatpost every few months and do this so as to ensure that no volume of oxides is building up.