For example, in a billiard game, after glancing and seeing the "eight" ball moving towards us, we may abduce that the cue ball struck the eight ball. The strike of the cue ball would account for the movement of the eight ball. It serves as a hypothesis that explains our observation. Given the many possible explanations for the movement of the eight ball, our abduction does not leave us certain that the cue ball in fact struck the eight ball, but our abduction, still useful, can serve to orient us in our surroundings. Despite many possible explanations for any physical process that we observe, we tend to abduce a single explanation (or a few explanations) for this process in the expectation that we can better orient ourselves in our surroundings and disregard some possibilities. Properly used, abductive reasoning can be a useful source of priors in Bayesian statistics. In logic, explanation is accomplished through the use of a logical theory formula_22 representing a domain and a set of observations formula_23. Abduction is the process of deriving a set of explanations of formula_23 according to formula_22 and picking out one of those explanations. For formula_26 to be an explanation of formula_23 according to formula_22, it should satisfy two conditions:   In formal logic, formula_23 and formula_26 are assumed to be sets of literals. The two conditions for formula_26 being an explanation of formula_23 according to theory formula_22 are formalized as:  Among the possible explanations formula_26 satisfying these two conditions, some other condition of minimality is usually imposed to avoid irrelevant facts (not contributing to the entailment of formula_23) being included in the explanations. Abduction is then the process that picks out some member of formula_26. Criteria for picking out a member representing "the best" explanation include the simplicity, the prior probability, or the explanatory power of the explanation. A proof-theoretical abduction method for first order classical logic based on the sequent calculus and a dual one, based on semantic tableaux (analytic tableaux) have been proposed. The methods are sound and complete and work for full first order logic, without requiring any preliminary reduction of formulae into normal forms. These methods have also been extended to modal logic. Abductive logic programming is a computational framework that extends normal logic programming with abduction. It separates the theory formula_22 into two components, one of which is a normal logic program, used to generate formula_26 by means of backward reasoning, the other of which is a set of integrity constraints, used to filter the set of candidate explanations.