## What is Automated Reasoning?

Automated reasoning is the general process that gives machine learning algorithms an organized framework to define, approach and solve problems. While more a theoretical field of research than a specific technique itself, automated reasoning underpins many machine learning practices, such as logic programming, fuzzy logic, Bayesian inference, and maximal entropy reasoning. The ultimate goal is to create deep learning systems that can mimic human deduction without human interference.

## How is Automated Reasoning Created?

There are many different reasoning techniques, but all frameworks require:

Problem Domain: Define the problems the program will be required to solve in mathematical terms.

Language: Decide what programming language, logic and functions the program will use to represent the training information, as well as new data inferred by the program.

Deduction Calculus: Specify the process and tools that the program will use to analyze data and deduce inferences.

Resolution: Create a control flow process to perform all these calculations efficiently.