In these disciplines, problem solving is part of a larger process that encompasses problem determination, de-duplication, analysis, diagnosis, repair, and other steps.
The ability to understand what the goal of the problem is, and what rules could be applied, represents the key to solving the problem.
Sometimes the problem requires abstract thinking or coming up with a creative solution.
However, already in 1958, John Mc Carthy proposed the advice taker, to represent information in formal logic and to derive answers to questions using automated theorem-proving.
A important step in this direction was made by Cordell Green in 1969, using a resolution theorem prover for question-answering and for such other applications in artificial intelligence as robot planning.
Formal logic is concerned with such issues as validity, truth, inference, argumentation and proof.
In a problem-solving context, it can be used to formally represent a problem as a theorem to be proved, and to represent the knowledge needed to solve the problem as the premises to be used in a proof that the problem has a solution.
The term problem solving means slightly different things depending on the discipline.
For instance, it is a mental process in psychology and a computerized process in computer science.
The process starts with problem finding and problem shaping, where the problem is discovered and simplified.
The next step is to generate possible solutions and evaluate them.