Module dev.civl.mc

Interface QuantifiedExpression

All Superinterfaces:
Expression, Sourceable

public interface QuantifiedExpression extends Expression
A CIVL-C quantified expression, including three components, bound variable declaration list, (optional) restriction and expression. It has the following syntax:
 quantified: 
   quantifier ( variable-decl-list | restrict? ) expression ;
 
 variable-decl-list:
   variable-decl-sub-list (; variable-decl-sub-list)* ;
   
 variable-decl-sub-list:
   type ID (, ID)* (: domain)?
   
 quantifier: $forall | $exists | $uniform
 
e.g.,
 $forall (int x, y: dom; double z | x > 0 invalid input: '&'invalid input: '&' zinvalid input: '<'5.9) x*z > -1
 
  • Method Details

    • quantifier

      Returns:
      The quantifier binding the variable.
    • boundVariableList

      List<Pair<List<Variable>,Expression>> boundVariableList()
      The list of bound variables.
      Returns:
    • restriction

      Expression restriction()
      Boolean-valued expression assumed to hold when evaluating expression.
    • expression

      Expression expression()
      The expression e(x).
    • numBoundVariables

      int numBoundVariables()