Automated reasoning
Automated reasoning is the area of computer science that is concerned with applying reasoning in the form of logic to computing systems. If given a set of assumptions and a goal, an automated reasoning system should be able to make logical inferences towards that goal automatically.