Change your criteria. There are no "good" laptops that run 4-8 hours on a single battery, have 4 GB of RAM, are light in weight, AND come with a low price tag. You get what you pay for. Let that sink into your head. You can pay too much and get too little, of course, but you'll never pay too little and get too much for your money. That's what everyone in America seems to want to do these days.
Sony is a bad choice: expensive, problem-riddled, and proprietary. Toshiba is probably better because it doesn't cost quite as much, but the last Toshiba that I had was proprietary. HP looks like the best of your three options, but I would look at Acer and Asus notebooks too.
[These are strictly my personal opinions based on more than 25 years of computing experience, troubleshooting, and PC maintenance. Others' opinions will necessarily vary. No one but you can definitively answer your question. Look at what's available, try them out, ask lots of questions, read lots of reviews, and make your choice based on what you need the notebook for.]