# .Modelica_Requirements.LogicalFunctions

## Information

Sublibrary LogicalFunctions contains operators without memory, implemented as Modelica functions. The input arguments of these functions have 2-valued logic type (Boolean). The output arguments of these functions have 2-valued or 3-valued logic type (Boolean or Property). The provided operators reason about their input arguments based on Boolean algebra. The icon of a function depends on the the type of its output argument (whether it is Boolean or Property).

## Contents

NameDescription
cardReturns the number of elements of a Boolean vector that are true
existsReturns true if at least one element of a Boolean vector is true ('or' of all elements)
forallReturns true if all elements of a Boolean vector are true ('and' of all elements)
impliesReturns check as long as the condition is true, otherwise returns true
firstReturns the value of the first element of a Boolean vector
lastReturns the value of the last element of a Boolean vector
oneTrueReturns true if exactly one element of a Boolean vector is true ('xor' of all elements)
PropertyToBooleanConvert Property (Violated, Undecided, Satisfied) to Boolean (false, true)
PropertyToIntegerConvert Property (Violated, Undecided, Satisfied) to Integer (1,2,3)
BooleanToPropertyConvert Boolean (false,true) to Property (Violated, Satisfied)
IntegerToPropertyConvert Integer (1,2,3) to Property (Violated, Undecided, Satisfied)
duringReturn Satisfied when check is true as long as condition is true
during3Return Satisfied when check is Satisfied as long as condition is true (check: 3-valued logic)
forall3Returns Violated, if at least one element of the Property vector is Violated (vector: 3-valued logic)
cardSatisfiedReturns the number of elements of a Property vector that are Satisfied
cardUndecidedReturns the number of elements of a Property vector that are Undecided
cardViolatedReturns the number of elements of a Property vector that are Violated

Generated at 2024-08-09T18:15:51Z by OpenModelicaOpenModelica 1.23.1 using GenerateDoc.mos