In logic, a method of reasoning that begins with the desired goal (i.e., a hypothesis) and proceeds backward to the known facts that support it. Backward chaining is also used in computer programming; the program creates a hypothesis and works backward to compute the "rules" that support it. Specifically, the program works from the "...then" portion of a command and seeks to match it from the "if..." portion. See also Forward Chaining.