Related to this question.
This problem is the root reason why I was never good at math - I am horrible at all forms of simplification in mathematics, hence I am bad at proofs.
The problem is that there is no way I can "work through" a simplification problem - I either know the steps in advance or I can't do it at all. There is no "working it out", no fixed technique, no guarantees - that the technique you used for the first problem works in simplifying and proving an identity in the second problem. The best example of such problems are proving trig identities but there are numerous other examples.
A lot of people say practice is the answer, but I just end up hitting a wall and looking at the solution which does not add to my skill. The solution tells me nothing about how a person might arrive to the solution - it likes magic. There is only one and only one way to solve the problem and you have to find it among all other infinite wrong ways. There is nothing in the problem to "work out" - either you know it or you don't.
So is there a logical/deterministic way one can do and get better at simplification?
I am good at understanding logic, but I can't see patterns. Hence I am a good coder since that mostly involves breaking problem into sub-parts and combining the solutions.