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 the consequent, such as might be the result of real class inclusion relations. For example, the class relations, "All men are mortal," would provide a real connection that would warrant the conditional, "If Socrates is a man, then Socrates is mortal." However, more remote connections, for example "If she apologized to him, then he lied to me," (suggested by Bennett) still defy connexivist analysis. 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.)