Any process of drawing a conclusion from a set of premises may be called a process of reasoning. If the conclusion concerns what to do, the process is called practical reasoning, otherwise pure or theoretical reasoning. Evidently such processes may be good or bad: if they are good, the premises support or even entail the conclusion drawn; if they are bad, the premises offer no support to the conclusion. Formal logic studies the cases in which conclusions are validly drawn from premises. But little human reasoning is overtly of the forms logicians identify. Partly, we are concerned to draw conclusions that ‘go beyond’ our premises, in the way that conclusions of logically valid arguments do not (see abduction, induction). Partly, it has to be remembered that reasoning is a dynamic process, and that what to a logician looks like a static contradiction may be the sensible replacement of one set of assumptions with others as the process develops. Furthermore, as we reason we make use of an indefinite lore or common-sense set of presumptions about what is likely or not (see frame problem, narrative competence). A task of an automated reasoning project is to mimic this casual use of knowledge of the way of the world in computer programs.