Logical relation

From ASCEND
Jump to: navigation, search

An expression whose value is TRUE or FALSE is a logical expression. Such expressions may contain boolean variables. If A,B, and laminar are boolean, then the following is a logical expression:

A + (B * laminar)

as is (and probably more clearly)

A OR (B AND laminar)

The plus operator acts like an OR among the terms while the times operator acts like an AND. Think of TRUE being equal to 1 and FALSE being equal to 0 with the rules

  • 1+1 = 0+1 = 1+0 = 1
  • 0+0 = 0
  • 1*1 = 1 and
  • 0*1 = 1*0 = 0*0 = 0.

If A is FALSE, B is TRUE and laminar is TRUE, the above expression has the value

FALSE OR (TRUE AND TRUE) -->TRUE

or in terms of ones and zeros

0 + (1 * 1) --> 1.

Logical relations are then made by putting together logical expressions with the boolean relational operators == and !=. Since we have no logical solving engine we have not pushed the implementation of logical relations very hard yet.

Note: the LRSlv solver is an implementation of a logical relation solver, although it has some limitations on what it can/cannot acheive.

See also SATISFIED, Conditional modelling.