## _`↑_

#### Definitions:

expression phrase ⇒ boolean, expression phrase ⇒ boolean
Source: /avail/Avail/Foundation/Logic
Categories: Primitives, Logic
Given two arbitrary boolean -valued phrase s, answer an alternative denial, i.e., NAND, phrase. The resulting phrase short-circuits the computation, i.e., only evaluates b if a is true.
Position Name Type Description
Parameters
1 a expression phrase ⇒ boolean An expression phrase that yield a boolean.
2 b expression phrase ⇒ boolean An expression phrase that yield a boolean.
Returns send phrase ⇒ boolean ab.
boolean, []→boolean
Source: /avail/Avail/Foundation/Logic
Categories: Logic
Compute and answer the alternative denial, i.e., NAND, of the arguments. This is equivalent to ¬({@param a } ∧ b ). Short-circuit the computation, i.e., only evaluate b if a is true.
Position Name Type Description
Parameters
1 a boolean
2 b []→boolean
Returns boolean

#### Semantic restrictions:

true's type's type, []→(true's type)'s type
Source: /avail/Avail/Foundation/Logic
If the left-hand argument of _`↑_ is known statically to be true, then the static type of the expression is the negation of b 's return type.
Type Description
Parameter Types
true's type's type
[]→(true's type)'s type
false's type's type, ([]→boolean)'s type
Source: /avail/Avail/Foundation/Logic
If the left-hand argument of _`↑_ is known statically to be false, then the expression is also known statically to be true.
Type Description
Parameter Types
false's type's type
([]→boolean)'s type
boolean's type, []→(false's type)'s type
Source: /avail/Avail/Foundation/Logic
If the right-hand argument of _`↑_ is known statically to be true, then the static type of the expression is the negation of b 's return type.
Type Description
Parameter Types
boolean's type
[]→(false's type)'s type