Encoding of &&
-expressions with arbitrary number of operands, and simplified.
Encoding of &&
-expressions with arbitrary number of operands, and simplified.
Encoding of &&
-expressions with arbitrary number of operands as a sequence, and simplified.
Encoding of &&
-expressions with arbitrary number of operands as a sequence, and simplified.
Encoding of simplified assume(pred, body)
(assumption).
Encoding of simplified assume(pred, body)
(assumption).
Transforms
assume(assume(pred1, pred2), body)
and
assume(pred1, assume(pred2, body))
into
assume(pred1 && pred2, body)
Encoding of simplified ... == ...
(equality).
Encoding of simplified ... == ...
(equality).
Encoding of simplified forall(args, body)
(universal quantification).
Encoding of simplified forall(args, body)
(universal quantification).
Encoding of simplified ... ==> ...
(implication)
Encoding of simplified ... ==> ...
(implication)
Encoding of simplified ... - ...
(minus).
Encoding of simplified ... - ...
(minus).
Encoding of simplified !
-expressions .
Encoding of simplified !
-expressions .
Encoding of ||
-expressions with arbitrary number of operands, and simplified.
Encoding of ||
-expressions with arbitrary number of operands, and simplified.
Encoding of ||
-expressions with arbitrary number of operands as a sequence, and simplified.
Encoding of ||
-expressions with arbitrary number of operands as a sequence, and simplified.
Encoding of simplified ... + ...
(plus).
Encoding of simplified ... + ...
(plus).
Encoding of simplified ... * ...
(times).
Encoding of simplified ... * ...
(times).
Wraps the sequence of types as a tuple.
Wraps the sequence of types as a tuple. If the sequence contains a single type, it is returned instead. If the sequence is empty, the UnitType is returned.
Wraps the sequence of expressions as a tuple.
Wraps the sequence of expressions as a tuple. If the sequence contains a single expression, it is returned instead.
Provides constructors for Expressions.
The constructors implement some logic to simplify the tree and potentially use a different expression node if one is more suited.