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.
Logical disjunction Logical disjunction In logic and mathematics, or is the truth-functional operator of (inclusive) disjunction, also known as alternation; the "or" of a set of operands is true if and only if "one or more" of its operands is true. The logical connective that represents this operator is typically written as ∨ or +. formula_1 is true if formula_2 is true, or if formula_3 is true, or if both formula_2 and formula_3 are true. In logic, "or" by itself means the "inclusive" "or", distinguished from an exclusive or, which is false when both of its arguments are true, while an "or"