Systems, methods and mediums are described for processing rules and associated bags of facts generated by an application in communication with a processing engine, database and rule engine that process the bags of facts in view of the rules and generate one or more rule-dependent responses to the application which performs one or more work flows based on the responses. The rule engine may apply forward-chaining, backward-chaining or a combination of forward-chaining and backward-chaining to process the rules and facts. Numerous novel applications that work in conjunction with the processing engine, database and rule engine are also described.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A non-transitory computer readable storage medium comprising instructions for processing a document for a user that, when executed on a computing device, cause the computing device to at least: receive a document from a user in a document processing application; send a message containing data from the document and a first set of rules that apply to the data together to a rule engine to initiate an identification process for the document, the data being true for the first set of rules for a current process state; analyze the document based on the first set of rules operated within the rule engine to produce a first rule-dependent response that identifies a document type and document content for the document without requesting additional rules or additional data for the first set of rules from any source during the current process state; based on the first rule-dependent response, send a message to the rule engine to initiate a handler process for the document based on the document type; analyze the document content based on a second set of rules corresponding to the handler process to produce a second rule-dependent response; and based on the second rule-dependent response, perform one or more work flows within the document processing application to process the document. 2. The non-transitory computer-readable storage medium of claim 1, wherein the instructions to analyze the document and to analyze the document content includes instructions to combine a forward-chaining rule with a backward-chaining rule by creating a condition within the forward-chaining rule that contains a backward-chaining query. 3. The non-transitory computer-readable storage medium of claim 1, wherein the instructions to analyze the document and the instruction to analyze the document content includes instructions to combine a backward-chaining rule with a forward-chaining rule by utilizing a fact inferred from the forward-chaining rule as a goal for the backward-chaining rule, unless the forward-chaining rule contains a condition that depends on negation of another forward-chaining inference, in which case execution of the forward-chaining rule is suspended, the dependency of the rule-predicate for the problematic fact is recorded in a table, and execution of the forward-chaining rule skips to the next untried fact to select a new rule to execute. 4. The non-transitory computer-readable storage medium of claim 1, wherein the one or more work flows improve productivity of the user. 5. The non-transitory computer-readable storage medium of claim 1, wherein the document relates to a loan application, and wherein the second rule-dependent response approves the loan application, denies the loan application, or indicates additional documents or information is required to assess the loan application.