Logical operators
>
(> x y)
(> x y)
- takes
x
: a - takes
y
: a - produces
bool
- where a is of type
integer
ordecimal
True if x
> y
Supported in either invariants or properties.
<
(< x y)
(< x y)
- takes
x
: a - takes
y
: a - produces
bool
- where a is of type
integer
ordecimal
True if x
< y
Supported in either invariants or properties.
>=
(>= x y)
(>= x y)
- takes
x
: a - takes
y
: a - produces
bool
- where a is of type
integer
ordecimal
True if x
>= y
Supported in either invariants or properties.
<=
(<= x y)
(<= x y)
- takes
x
: a - takes
y
: a - produces
bool
- where a is of type
integer
ordecimal
True if x
<= y
Supported in either invariants or properties.
=
(= x y)
(= x y)
- takes
x
: a - takes
y
: a - produces
bool
- where a is of type
integer
,decimal
,string
,time
,bool
,object
, orkeyset
True if x
= y
Supported in either invariants or properties.
!=
(!= x y)
(!= x y)
- takes
x
: a - takes
y
: a - produces
bool
- where a is of type
integer
,decimal
,string
,time
,bool
,object
, orkeyset
True if x
!= y
Supported in either invariants or properties.
and
(and x y)
(and x y)
- takes
x
:bool
- takes
y
:bool
- produces
bool
Short-circuiting logical conjunction
Supported in either invariants or properties.
or
(or x y)
(or x y)
- takes
x
:bool
- takes
y
:bool
- produces
bool
Short-circuiting logical disjunction
Supported in either invariants or properties.
not
(not x)
(not x)
- takes
x
:bool
- produces
bool
Logical negation
Supported in either invariants or properties.
when
(when x y)
(when x y)
- takes
x
:bool
- takes
y
:bool
- produces
bool
Logical implication. Equivalent to (or (not x) y)
.
Supported in either invariants or properties.
and?
(and? f g a)
(and? f g a)
- takes
f
: a ->bool
- takes
g
: a ->bool
- takes
a
: a - produces
bool
and
the results of applying both f
and g
to a
Supported in either invariants or properties.
or?
(or? f g a)
(or? f g a)
- takes
f
: a ->bool
- takes
g
: a ->bool
- takes
a
: a - produces
bool
or
the results of applying both f
and g
to a
Supported in either invariants or properties.
hash
(hash s)
(hash s)
- takes
s
:bool
- produces
string
BLAKE2b 256-bit hash of bool values
Supported in properties only.