<logic> An effective method for a class C of problems is a method for solving problems in C when the method (1) is logically bound as opposed to physically bound (2) to give some answer, as opposed to no answer, (3) that is correct, as opposed to incorrect, (4) in a finite number of steps, as opposed to an infinite number, (5) every time, or for all inputs, or for all problems in the class, as opposed to selectively, (6) if the method is followed carefully, as opposed to carelessly, (7) as far as necessary, as opposed to only as far as our resources permit, (8) when each step in the process is "dumb" or "mechanical". The eighth requirement introduces an irreducibly intuitive element into the definition. Some add (9) when given a problem from outside the class for which the method is effective, the method may halt or loop forever without halting, but must not return a value as if it were the answer to the problem. (The wording of this definition was influenced by Geoffrey Hunter.) Also called algorithm; decision procedure.
See also Church's Thesis
[Glossary of First-Order Logic]
Try this search on OneLook / Google