Interface ExtendedQuantifiedExpressionNode

All Superinterfaces:
ASTNode, ExpressionNode, ForLoopInitializerNode, InitializerNode, SizeableNode

public interface ExtendedQuantifiedExpressionNode extends ExpressionNode
This represents an ACSL extended quantification expression. Section 2.6.7 from ACSL standards Extended quantifiers Terms \quant(t1,t2,t3) where quant is max, min, sum, product or numof are extended quantifications. t1 and t2 must have type integer, and t3 must be a unary function with an integer argument, and a numeric value (integer or real) except for \numof for which it should have a boolean value. Their meanings are given as follows:
 \max(i,j,f) = max{f(i), f(i+1), ..., f(j)}
 \min(i,j,f) = min{f(i), f(i+1), ..., f(j)}
 \sum(i,j,f) = f(i) + f(i+1) + ... + f(j)
 \product(i,j,f) = f(i) * f(i+1) * ... * f(j)
 \numof(i,j,f) = #{k | i<=k<=j ^ f(k)} = \sum(i, j, \lambda integer k ; f(k) ? 1 : 0)
 
If i>j then \sum and \numof above are 0, \product is 1,and \max and \min are unspecified.