Logic programming that computational steps cannot be logically deduced. However, in concurrent logic programming, any result of a terminating computation is a logical consequence of the program, and any partial result of a partial computation is a logical consequence of the program and the residual goal (process network). Consequently, the indeterminacy of computations implies that not all logical consequences of the program can be deduced. Concurrent constraint logic programming combines concurrent logic programming and constraint logic programming, using constraints to control concurrency. A clause can contain a guard, which is a set of constraints that may block the applicability of the clause.
Connexive logic Connexive logic Connexive logic names one class of alternative, or non-classical, logics designed to exclude the so-called paradoxes of material implication. (Other logical theories with the same agenda include relevance logic, also known as relevant logic.) The characteristic that separates connexive logic from other non-classical logics is its rejection of Aristotle's Thesis, i.e. the formula, as a logical truth. Aristotle's Thesis asserts that no statement follows from its own denial. Stronger connexive logics also accept Boethius' Thesis, which states that if a statement implies one thing, it does not imply its opposite. Connexive logic is arguably one of the oldest