In digital circuit theory, **combinatorial logic** (also called **combinational logic**) is a type of logic circuit whose output is a function of, and only of, the present input. This is in contrast to sequential logic, in which the output depends not only on the present input but also on the history of the input.

In other words, sequential logic has *memory* while combinatorial logic does not.

Combinatorial logic is used in computer circuits to do boolean algebra on input signals and on stored data. Practical computer circuits normally contain a mixture of combinatorial and sequential logic. For example, the part of an arithmetic logic unit, or ALU, that does mathematical calculations is made from combinatorial logic, although the ALU is controlled by a sequencer that is made from sequential logic.