It is worth mentioning a soft mouth will only come from good hands
. A horse with a hard mouth is usually always indicative of a problem behind the saddle rather than in front. Having the horses teeth checked should be a first port of call to ensure that there are not any problems within his mouth that he is reacting to.
If the horse is taking short steps with his hind legs he will not be stepping under his body enough to support his weight correctly. This will mean that he will be too much on the forehand and all his weight will be carried here and in turn you will feel you are holding the weight in your hands. If the rider becomes accustomed to this and allows the horse to lean on them, the horse will be happy to lean on the bit and carry on as he is. Light hands do not provide a support for heavy a horse making him unable to lean on the bit and encourages him to carry himself. It is then that the rider needs to use their legs to activate the horses hind legs to carry himself forwards and upwards, your hands can be use to check the horse's speed.
Tips
Every time you want to pull to e.g. lift the horse's head / forehand, give your hands forwards one at a time.
Keep your rein aids brief, keeping them light so as to prevent the horse from being able to lean on them.
Stay in the slower gaits until the horse is softer in his mouth.
This is a very important problem to overcome. It is the responsibility to teach the horse how to work and not something the horse should be blamed for. Light hands, understanding and correct schooling techniques over time can ensure every horse can work with a soft mouth.